mirror of
https://github.com/qgis/QGIS.git
synced 2025-04-17 00:04:02 -04:00
Remove code for reading of legacy (QGIS < 1.0) renderers
Also removes a bunch of unused old QMLs and upgrades one still in use
This commit is contained in:
parent
ac79bc9dbb
commit
0341478864
@ -170,7 +170,6 @@ Renamed Classes {#qgis_api_break_3_0_renamed_classes}
|
||||
<tr><td>QgsSymbolV2RenderContext<td>QgsSymbolRenderContext
|
||||
<tr><td>QgsSymbolV2SelectorDialog<td>QgsSymbolSelectorDialog
|
||||
<tr><td>QgsSymbolV2SelectorWidget<td>QgsSymbolSelectorWidget
|
||||
<tr><td>QgsSymbologyV2Conversion<td>QgsSymbologyConversion
|
||||
<tr><td>QgsVectorColorBrewerColorRampV2<td>QgsColorBrewerColorRamp
|
||||
<tr><td>QgsVectorColorBrewerColorRampV2Dialog<td>QgsColorBrewerColorRampDialog
|
||||
<tr><td>QgsVectorColorBrewerColorRampV2DialogBase<td>QgsColorBrewerColorRampDialogBase
|
||||
@ -267,6 +266,7 @@ should now call QgsCoordinateReferenceSystem::invalidateCache() and QgsCoordinat
|
||||
- QgsLegacyHelpers.
|
||||
- QgsProviderCountCalcEvent and QgsProviderExtentCalcEvent. These classes were unused in QGIS core and unmaintained.
|
||||
- QgsEditorWidgetConfig was removed. Use QVariantMap instead.
|
||||
- QgsSymbologyV2Conversion was removed. Reading of renderers from pre-1.0 versions is not supported anymore.
|
||||
|
||||
|
||||
General changes {#qgis_api_break_3_0_global}
|
||||
|
@ -339,8 +339,6 @@
|
||||
%Include symbology-ng/qgsvectorfieldsymbollayer.sip
|
||||
%Include symbology-ng/qgsarrowsymbollayer.sip
|
||||
|
||||
%Include symbology-ng/qgssymbologyconversion.sip
|
||||
|
||||
%Include dxf/qgsdxfexport.sip
|
||||
|
||||
%Include geometry/qgsabstractgeometry.sip
|
||||
|
@ -1,15 +0,0 @@
|
||||
class QgsSymbologyConversion
|
||||
{
|
||||
%TypeHeaderCode
|
||||
#include <qgssymbologyconversion.h>
|
||||
%End
|
||||
public:
|
||||
|
||||
/** Read old renderer definition from XML and create matching new renderer */
|
||||
static QgsFeatureRenderer* readOldRenderer( const QDomNode& layerNode, QgsWkbTypes::GeometryType geomType );
|
||||
|
||||
static QString penStyle2QString( Qt::PenStyle penstyle );
|
||||
static Qt::PenStyle qString2PenStyle( const QString& string );
|
||||
static QString brushStyle2QString( Qt::BrushStyle brushstyle );
|
||||
static Qt::BrushStyle qString2BrushStyle( const QString& string );
|
||||
};
|
@ -67,7 +67,6 @@
|
||||
|
||||
#include "qgsrendererpropertiesdialog.h"
|
||||
#include "qgsstyle.h"
|
||||
#include "qgssymbologyconversion.h"
|
||||
|
||||
QgsVectorLayerProperties::QgsVectorLayerProperties(
|
||||
QgsVectorLayer *lyr,
|
||||
|
@ -42,7 +42,6 @@ SET(QGIS_CORE_SRCS
|
||||
symbology-ng/qgssymbollayer.cpp
|
||||
symbology-ng/qgssymbollayerregistry.cpp
|
||||
symbology-ng/qgssymbollayerutils.cpp
|
||||
symbology-ng/qgssymbologyconversion.cpp
|
||||
symbology-ng/qgssymbol.cpp
|
||||
symbology-ng/qgsvectorfieldsymbollayer.cpp
|
||||
|
||||
@ -868,7 +867,6 @@ SET(QGIS_CORE_HDRS
|
||||
symbology-ng/qgssymbollayer.h
|
||||
symbology-ng/qgssymbollayerregistry.h
|
||||
symbology-ng/qgssymbollayerutils.h
|
||||
symbology-ng/qgssymbologyconversion.h
|
||||
symbology-ng/qgssymbol.h
|
||||
symbology-ng/qgsvectorfieldsymbollayer.h
|
||||
symbology-ng/qgsgeometrygeneratorsymbollayer.h
|
||||
|
@ -77,7 +77,6 @@
|
||||
#include "qgssinglesymbolrenderer.h"
|
||||
#include "qgsdiagramrenderer.h"
|
||||
#include "qgsstyle.h"
|
||||
#include "qgssymbologyconversion.h"
|
||||
#include "qgspallabeling.h"
|
||||
#include "qgssimplifymethod.h"
|
||||
#include "qgsexpressioncontext.h"
|
||||
@ -1843,14 +1842,6 @@ bool QgsVectorLayer::readStyle( const QDomNode &node, QString &errorMessage )
|
||||
result = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
QgsFeatureRenderer* r = QgsSymbologyConversion::readOldRenderer( node, geometryType() );
|
||||
if ( r )
|
||||
{
|
||||
setRenderer( r );
|
||||
}
|
||||
}
|
||||
|
||||
// make sure layer has a renderer - if none exists, fallback to a default renderer
|
||||
if ( !renderer() )
|
||||
|
@ -1,571 +0,0 @@
|
||||
/***************************************************************************
|
||||
qgssymbologyconversion.cpp
|
||||
---------------------
|
||||
begin : December 2009
|
||||
copyright : (C) 2009 by Martin Dobias
|
||||
email : wonder dot sk at gmail dot com
|
||||
***************************************************************************
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
***************************************************************************/
|
||||
#include "qgssymbologyconversion.h"
|
||||
|
||||
#include "qgslogger.h"
|
||||
|
||||
#include "qgsmarkersymbollayer.h"
|
||||
#include "qgslinesymbollayer.h"
|
||||
#include "qgsfillsymbollayer.h"
|
||||
#include "qgssinglesymbolrenderer.h"
|
||||
#include "qgsgraduatedsymbolrenderer.h"
|
||||
#include "qgscategorizedsymbolrenderer.h"
|
||||
|
||||
|
||||
|
||||
struct QgsOldSymbolMeta
|
||||
{
|
||||
QString lowerValue;
|
||||
QString upperValue;
|
||||
QString label;
|
||||
};
|
||||
|
||||
|
||||
static QgsOldSymbolMeta readSymbolMeta( const QDomNode& synode )
|
||||
{
|
||||
QgsOldSymbolMeta meta;
|
||||
|
||||
QDomNode lvalnode = synode.namedItem( QStringLiteral( "lowervalue" ) );
|
||||
if ( ! lvalnode.isNull() )
|
||||
{
|
||||
QDomElement lvalelement = lvalnode.toElement();
|
||||
if ( lvalelement.attribute( QStringLiteral( "null" ) ).toInt() == 1 )
|
||||
{
|
||||
meta.lowerValue = QString::null;
|
||||
}
|
||||
else
|
||||
{
|
||||
meta.lowerValue = lvalelement.text();
|
||||
}
|
||||
}
|
||||
|
||||
QDomNode uvalnode = synode.namedItem( QStringLiteral( "uppervalue" ) );
|
||||
if ( ! uvalnode.isNull() )
|
||||
{
|
||||
QDomElement uvalelement = uvalnode.toElement();
|
||||
meta.upperValue = uvalelement.text();
|
||||
}
|
||||
|
||||
QDomNode labelnode = synode.namedItem( QStringLiteral( "label" ) );
|
||||
if ( ! labelnode.isNull() )
|
||||
{
|
||||
QDomElement labelelement = labelnode.toElement();
|
||||
meta.label = labelelement.text();
|
||||
}
|
||||
|
||||
return meta;
|
||||
}
|
||||
|
||||
|
||||
static QColor readSymbolColor( const QDomNode& synode, bool fillColor )
|
||||
{
|
||||
QDomNode cnode = synode.namedItem( fillColor ? "fillcolor" : "outlinecolor" );
|
||||
QDomElement celement = cnode.toElement();
|
||||
int red = celement.attribute( QStringLiteral( "red" ) ).toInt();
|
||||
int green = celement.attribute( QStringLiteral( "green" ) ).toInt();
|
||||
int blue = celement.attribute( QStringLiteral( "blue" ) ).toInt();
|
||||
return QColor( red, green, blue );
|
||||
}
|
||||
|
||||
static double readOutlineWidth( const QDomNode& synode )
|
||||
{
|
||||
QDomNode outlwnode = synode.namedItem( QStringLiteral( "outlinewidth" ) );
|
||||
QDomElement outlwelement = outlwnode.toElement();
|
||||
return outlwelement.text().toDouble();
|
||||
}
|
||||
|
||||
|
||||
static Qt::PenStyle readOutlineStyle( const QDomNode& synode )
|
||||
{
|
||||
QDomNode outlstnode = synode.namedItem( QStringLiteral( "outlinestyle" ) );
|
||||
QDomElement outlstelement = outlstnode.toElement();
|
||||
return QgsSymbologyConversion::qString2PenStyle( outlstelement.text() );
|
||||
}
|
||||
|
||||
static Qt::BrushStyle readBrushStyle( const QDomNode& synode )
|
||||
{
|
||||
QDomNode fillpnode = synode.namedItem( QStringLiteral( "fillpattern" ) );
|
||||
QDomElement fillpelement = fillpnode.toElement();
|
||||
return QgsSymbologyConversion::qString2BrushStyle( fillpelement.text() );
|
||||
}
|
||||
|
||||
static QString readMarkerSymbolName( const QDomNode& synode )
|
||||
{
|
||||
QDomNode psymbnode = synode.namedItem( QStringLiteral( "pointsymbol" ) );
|
||||
if ( ! psymbnode.isNull() )
|
||||
{
|
||||
QDomElement psymbelement = psymbnode.toElement();
|
||||
return psymbelement.text();
|
||||
}
|
||||
return QStringLiteral( "hard:circle" );
|
||||
}
|
||||
|
||||
static float readMarkerSymbolSize( const QDomNode& synode )
|
||||
{
|
||||
QDomNode psizenode = synode.namedItem( QStringLiteral( "pointsize" ) );
|
||||
if ( ! psizenode.isNull() )
|
||||
{
|
||||
QDomElement psizeelement = psizenode.toElement();
|
||||
return psizeelement.text().toFloat();
|
||||
}
|
||||
return DEFAULT_POINT_SIZE;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static QgsSymbol* readOldSymbol( const QDomNode& synode, QgsWkbTypes::GeometryType geomType )
|
||||
{
|
||||
switch ( geomType )
|
||||
{
|
||||
case QgsWkbTypes::PointGeometry:
|
||||
{
|
||||
QgsMarkerSymbolLayer* sl = nullptr;
|
||||
double size = readMarkerSymbolSize( synode );
|
||||
double angle = 0; // rotation only from classification field
|
||||
QString symbolName = readMarkerSymbolName( synode );
|
||||
if ( symbolName.startsWith( QLatin1String( "hard:" ) ) )
|
||||
{
|
||||
// simple symbol marker
|
||||
QColor color = readSymbolColor( synode, true );
|
||||
QColor borderColor = readSymbolColor( synode, false );
|
||||
QgsSimpleMarkerSymbolLayerBase::Shape shape = QgsSimpleMarkerSymbolLayerBase::decodeShape( symbolName.mid( 5 ) );
|
||||
sl = new QgsSimpleMarkerSymbolLayer( shape, size, angle );
|
||||
sl->setColor( color );
|
||||
sl->setOutlineColor( borderColor );
|
||||
}
|
||||
else
|
||||
{
|
||||
// svg symbol marker
|
||||
QString name = symbolName.mid( 4 );
|
||||
sl = new QgsSvgMarkerSymbolLayer( name, size, angle );
|
||||
}
|
||||
QgsSymbolLayerList layers;
|
||||
layers.append( sl );
|
||||
return new QgsMarkerSymbol( layers );
|
||||
}
|
||||
|
||||
case QgsWkbTypes::LineGeometry:
|
||||
{
|
||||
QColor color = readSymbolColor( synode, false );
|
||||
double width = readOutlineWidth( synode );
|
||||
Qt::PenStyle penStyle = readOutlineStyle( synode );
|
||||
QgsLineSymbolLayer* sl = new QgsSimpleLineSymbolLayer( color, width, penStyle );
|
||||
|
||||
QgsSymbolLayerList layers;
|
||||
layers.append( sl );
|
||||
return new QgsLineSymbol( layers );
|
||||
}
|
||||
|
||||
case QgsWkbTypes::PolygonGeometry:
|
||||
{
|
||||
QColor color = readSymbolColor( synode, true );
|
||||
QColor borderColor = readSymbolColor( synode, false );
|
||||
Qt::BrushStyle brushStyle = readBrushStyle( synode );
|
||||
Qt::PenStyle borderStyle = readOutlineStyle( synode );
|
||||
double borderWidth = readOutlineWidth( synode );
|
||||
QgsFillSymbolLayer* sl = new QgsSimpleFillSymbolLayer( color, brushStyle, borderColor, borderStyle, borderWidth );
|
||||
|
||||
QgsSymbolLayerList layers;
|
||||
layers.append( sl );
|
||||
return new QgsFillSymbol( layers );
|
||||
}
|
||||
|
||||
default:
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
static QgsFeatureRenderer* readOldSingleSymbolRenderer( const QDomNode& rnode, QgsWkbTypes::GeometryType geomType )
|
||||
{
|
||||
QDomNode synode = rnode.namedItem( QStringLiteral( "symbol" ) );
|
||||
if ( synode.isNull() )
|
||||
return nullptr;
|
||||
|
||||
QgsSymbol* sy2 = readOldSymbol( synode, geomType );
|
||||
QgsSingleSymbolRenderer* r = new QgsSingleSymbolRenderer( sy2 );
|
||||
return r;
|
||||
}
|
||||
|
||||
|
||||
static QgsFeatureRenderer* readOldGraduatedSymbolRenderer( const QDomNode& rnode, QgsWkbTypes::GeometryType geomType )
|
||||
{
|
||||
QDomNode modeNode = rnode.namedItem( QStringLiteral( "mode" ) );
|
||||
QString modeValue = modeNode.toElement().text();
|
||||
QDomNode classnode = rnode.namedItem( QStringLiteral( "classificationfield" ) );
|
||||
QString classificationField = classnode.toElement().text();
|
||||
|
||||
QgsGraduatedSymbolRenderer::Mode m = QgsGraduatedSymbolRenderer::Custom;
|
||||
if ( modeValue == QLatin1String( "Empty" ) )
|
||||
{
|
||||
m = QgsGraduatedSymbolRenderer::Custom;
|
||||
}
|
||||
else if ( modeValue == QLatin1String( "Quantile" ) )
|
||||
{
|
||||
m = QgsGraduatedSymbolRenderer::Quantile;
|
||||
}
|
||||
else //default
|
||||
{
|
||||
m = QgsGraduatedSymbolRenderer::EqualInterval;
|
||||
}
|
||||
|
||||
// load ranges and symbols
|
||||
QgsRangeList ranges;
|
||||
QDomNode symbolnode = rnode.namedItem( QStringLiteral( "symbol" ) );
|
||||
while ( !symbolnode.isNull() )
|
||||
{
|
||||
QgsSymbol* symbol = readOldSymbol( symbolnode, geomType );
|
||||
if ( symbol )
|
||||
{
|
||||
QgsOldSymbolMeta meta = readSymbolMeta( symbolnode );
|
||||
double lowerValue = meta.lowerValue.toDouble();
|
||||
double upperValue = meta.upperValue.toDouble();
|
||||
QString label = meta.label;
|
||||
if ( label.isEmpty() )
|
||||
label = QStringLiteral( "%1 - %2" ).arg( lowerValue, -1, 'f', 3 ).arg( upperValue, -1, 'f', 3 );
|
||||
ranges.append( QgsRendererRange( lowerValue, upperValue, symbol, label ) );
|
||||
}
|
||||
|
||||
symbolnode = symbolnode.nextSibling();
|
||||
}
|
||||
|
||||
// create renderer
|
||||
QgsGraduatedSymbolRenderer* r = new QgsGraduatedSymbolRenderer( classificationField, ranges );
|
||||
r->setMode( m );
|
||||
return r;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static QgsFeatureRenderer* readOldUniqueValueRenderer( const QDomNode& rnode, QgsWkbTypes::GeometryType geomType )
|
||||
{
|
||||
QDomNode classnode = rnode.namedItem( QStringLiteral( "classificationfield" ) );
|
||||
QString classificationField = classnode.toElement().text();
|
||||
|
||||
// read categories and symbols
|
||||
QgsCategoryList cats;
|
||||
QDomNode symbolnode = rnode.namedItem( QStringLiteral( "symbol" ) );
|
||||
while ( !symbolnode.isNull() )
|
||||
{
|
||||
QgsSymbol* symbol = readOldSymbol( symbolnode, geomType );
|
||||
if ( symbol )
|
||||
{
|
||||
QgsOldSymbolMeta meta = readSymbolMeta( symbolnode );
|
||||
QVariant value = QVariant( meta.lowerValue );
|
||||
QString label = meta.label;
|
||||
if ( label.isEmpty() )
|
||||
label = value.toString();
|
||||
cats.append( QgsRendererCategory( value, symbol, label, true ) );
|
||||
}
|
||||
|
||||
symbolnode = symbolnode.nextSibling();
|
||||
}
|
||||
|
||||
QgsCategorizedSymbolRenderer* r = new QgsCategorizedSymbolRenderer( classificationField, cats );
|
||||
// source symbol and color ramp are not set (unknown)
|
||||
return r;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
QgsFeatureRenderer* QgsSymbologyConversion::readOldRenderer( const QDomNode& layerNode, QgsWkbTypes::GeometryType geomType )
|
||||
{
|
||||
QDomNode singlenode = layerNode.namedItem( QStringLiteral( "singlesymbol" ) );
|
||||
QDomNode graduatednode = layerNode.namedItem( QStringLiteral( "graduatedsymbol" ) );
|
||||
QDomNode continuousnode = layerNode.namedItem( QStringLiteral( "continuoussymbol" ) );
|
||||
QDomNode uniquevaluenode = layerNode.namedItem( QStringLiteral( "uniquevalue" ) );
|
||||
|
||||
if ( !singlenode.isNull() )
|
||||
{
|
||||
return readOldSingleSymbolRenderer( singlenode, geomType );
|
||||
}
|
||||
else if ( !graduatednode.isNull() )
|
||||
{
|
||||
return readOldGraduatedSymbolRenderer( graduatednode, geomType );
|
||||
}
|
||||
else if ( !continuousnode.isNull() )
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
else if ( !uniquevaluenode.isNull() )
|
||||
{
|
||||
return readOldUniqueValueRenderer( uniquevaluenode, geomType );
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
UNSUPPORTED RENDERER: continuous color
|
||||
|
||||
QDomNode classnode = rnode.namedItem( "classificationfield" );
|
||||
QDomNode polyoutlinenode = rnode.namedItem( "polygonoutline" );
|
||||
QString polyoutline = polyoutlinenode.toElement().text();
|
||||
if ( polyoutline == "0" )
|
||||
drawPolygonOutline = false;
|
||||
else if ( polyoutline == "1" )
|
||||
drawPolygonOutline = true;
|
||||
QDomNode lowernode = rnode.namedItem( "lowestsymbol" );
|
||||
lowSymbol = readOldSymbol( lowernode.namedItem( "symbol" ), geomType );
|
||||
QDomNode uppernode = rnode.namedItem( "highestsymbol" );
|
||||
highSymbol = readOldSymbol( uppernode.namedItem( "symbol" ), geomType );
|
||||
|
||||
UNSUPPORTED SYMBOL PROPERTY: point size units
|
||||
|
||||
QDomNode psizeunitnodes = synode.namedItem( "pointsizeunits" );
|
||||
if ( ! psizeunitnodes.isNull() )
|
||||
{
|
||||
QDomElement psizeunitelement = psizeunitnodes.toElement();
|
||||
QgsDebugMsg( QString( "psizeunitelement:%1" ).arg( psizeunitelement.text() ) );
|
||||
setPointSizeUnits( psizeunitelement.text().compare( "mapunits", Qt::CaseInsensitive ) == 0 );
|
||||
}
|
||||
|
||||
UNSUPPORTED SYMBOL PROPERTY: data-defined rotation / scale / symbol name
|
||||
|
||||
rotationClassificationFieldName = synode.namedItem( "rotationclassificationfieldname" ).toElement().text();
|
||||
scaleClassificationFieldName = synode.namedItem( "scaleclassificationfield" ).toElement().text();
|
||||
symbolFieldName = synode.namedItem( "symbolfieldname" ).toElement().text();
|
||||
|
||||
UNSUPPORTED SYMBOL PROPERTY: texture
|
||||
|
||||
QDomNode texturepathnode = synode.namedItem( "texturepath" );
|
||||
QDomElement texturepathelement = texturepathnode.toElement();
|
||||
setCustomTexture( QgsProject::instance()->readPath( texturepathelement.text() ) );
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
QString QgsSymbologyConversion::penStyle2QString( Qt::PenStyle penstyle )
|
||||
{
|
||||
if ( penstyle == Qt::NoPen )
|
||||
{
|
||||
return QStringLiteral( "NoPen" );
|
||||
}
|
||||
else if ( penstyle == Qt::SolidLine )
|
||||
{
|
||||
return QStringLiteral( "SolidLine" );
|
||||
}
|
||||
else if ( penstyle == Qt::DashLine )
|
||||
{
|
||||
return QStringLiteral( "DashLine" );
|
||||
}
|
||||
else if ( penstyle == Qt::DotLine )
|
||||
{
|
||||
return QStringLiteral( "DotLine" );
|
||||
}
|
||||
else if ( penstyle == Qt::DashDotLine )
|
||||
{
|
||||
return QStringLiteral( "DashDotLine" );
|
||||
}
|
||||
else if ( penstyle == Qt::DashDotDotLine )
|
||||
{
|
||||
return QStringLiteral( "DashDotDotLine" );
|
||||
}
|
||||
else if ( penstyle == Qt::MPenStyle )
|
||||
{
|
||||
return QStringLiteral( "MPenStyle" );
|
||||
}
|
||||
else //return a null string
|
||||
{
|
||||
return QString();
|
||||
}
|
||||
}
|
||||
|
||||
Qt::PenStyle QgsSymbologyConversion::qString2PenStyle( const QString& penString )
|
||||
{
|
||||
if ( penString == QLatin1String( "NoPen" ) )
|
||||
{
|
||||
return Qt::NoPen;
|
||||
}
|
||||
else if ( penString == QLatin1String( "SolidLine" ) )
|
||||
{
|
||||
return Qt::SolidLine;
|
||||
}
|
||||
else if ( penString == QLatin1String( "DashLine" ) )
|
||||
{
|
||||
return Qt::DashLine;
|
||||
}
|
||||
else if ( penString == QLatin1String( "DotLine" ) )
|
||||
{
|
||||
return Qt::DotLine;
|
||||
}
|
||||
else if ( penString == QLatin1String( "DashDotLine" ) )
|
||||
{
|
||||
return Qt::DashDotLine;
|
||||
}
|
||||
else if ( penString == QLatin1String( "DashDotDotLine" ) )
|
||||
{
|
||||
return Qt::DashDotDotLine;
|
||||
}
|
||||
else if ( penString == QLatin1String( "MPenStyle" ) )
|
||||
{
|
||||
return Qt::MPenStyle;
|
||||
}
|
||||
else
|
||||
{
|
||||
return Qt::NoPen;
|
||||
}
|
||||
}
|
||||
|
||||
QString QgsSymbologyConversion::brushStyle2QString( Qt::BrushStyle brushstyle )
|
||||
{
|
||||
if ( brushstyle == Qt::NoBrush )
|
||||
{
|
||||
return QStringLiteral( "NoBrush" );
|
||||
}
|
||||
else if ( brushstyle == Qt::SolidPattern )
|
||||
{
|
||||
return QStringLiteral( "SolidPattern" );
|
||||
}
|
||||
else if ( brushstyle == Qt::Dense1Pattern )
|
||||
{
|
||||
return QStringLiteral( "Dense1Pattern" );
|
||||
}
|
||||
else if ( brushstyle == Qt::Dense2Pattern )
|
||||
{
|
||||
return QStringLiteral( "Dense2Pattern" );
|
||||
}
|
||||
else if ( brushstyle == Qt::Dense3Pattern )
|
||||
{
|
||||
return QStringLiteral( "Dense3Pattern" );
|
||||
}
|
||||
else if ( brushstyle == Qt::Dense4Pattern )
|
||||
{
|
||||
return QStringLiteral( "Dense4Pattern" );
|
||||
}
|
||||
else if ( brushstyle == Qt::Dense5Pattern )
|
||||
{
|
||||
return QStringLiteral( "Dense5Pattern" );
|
||||
}
|
||||
else if ( brushstyle == Qt::Dense6Pattern )
|
||||
{
|
||||
return QStringLiteral( "Dense6Pattern" );
|
||||
}
|
||||
else if ( brushstyle == Qt::Dense7Pattern )
|
||||
{
|
||||
return QStringLiteral( "Dense7Pattern" );
|
||||
}
|
||||
else if ( brushstyle == Qt::HorPattern )
|
||||
{
|
||||
return QStringLiteral( "HorPattern" );
|
||||
}
|
||||
else if ( brushstyle == Qt::VerPattern )
|
||||
{
|
||||
return QStringLiteral( "VerPattern" );
|
||||
}
|
||||
else if ( brushstyle == Qt::CrossPattern )
|
||||
{
|
||||
return QStringLiteral( "CrossPattern" );
|
||||
}
|
||||
else if ( brushstyle == Qt::BDiagPattern )
|
||||
{
|
||||
return QStringLiteral( "BDiagPattern" );
|
||||
}
|
||||
else if ( brushstyle == Qt::FDiagPattern )
|
||||
{
|
||||
return QStringLiteral( "FDiagPattern" );
|
||||
}
|
||||
else if ( brushstyle == Qt::DiagCrossPattern )
|
||||
{
|
||||
return QStringLiteral( "DiagCrossPattern" );
|
||||
}
|
||||
else if ( brushstyle == Qt::TexturePattern )
|
||||
{
|
||||
return QStringLiteral( "TexturePattern" );
|
||||
}
|
||||
else //return a null string
|
||||
{
|
||||
QgsDebugMsg( "no matching pattern found" );
|
||||
return QStringLiteral( " " );
|
||||
}
|
||||
}
|
||||
|
||||
Qt::BrushStyle QgsSymbologyConversion::qString2BrushStyle( const QString& brushString )
|
||||
{
|
||||
if ( brushString == QLatin1String( "NoBrush" ) )
|
||||
{
|
||||
return Qt::NoBrush;
|
||||
}
|
||||
else if ( brushString == QLatin1String( "SolidPattern" ) )
|
||||
{
|
||||
return Qt::SolidPattern;
|
||||
}
|
||||
else if ( brushString == QLatin1String( "Dense1Pattern" ) )
|
||||
{
|
||||
return Qt::Dense1Pattern;
|
||||
}
|
||||
else if ( brushString == QLatin1String( "Dense2Pattern" ) )
|
||||
{
|
||||
return Qt::Dense2Pattern;
|
||||
}
|
||||
else if ( brushString == QLatin1String( "Dense3Pattern" ) )
|
||||
{
|
||||
return Qt::Dense3Pattern;
|
||||
}
|
||||
else if ( brushString == QLatin1String( "Dense4Pattern" ) )
|
||||
{
|
||||
return Qt::Dense4Pattern;
|
||||
}
|
||||
else if ( brushString == QLatin1String( "Dense5Pattern" ) )
|
||||
{
|
||||
return Qt::Dense5Pattern;
|
||||
}
|
||||
else if ( brushString == QLatin1String( "Dense6Pattern" ) )
|
||||
{
|
||||
return Qt::Dense6Pattern;
|
||||
}
|
||||
else if ( brushString == QLatin1String( "Dense7Pattern" ) )
|
||||
{
|
||||
return Qt::Dense7Pattern;
|
||||
}
|
||||
else if ( brushString == QLatin1String( "HorPattern" ) )
|
||||
{
|
||||
return Qt::HorPattern;
|
||||
}
|
||||
else if ( brushString == QLatin1String( "VerPattern" ) )
|
||||
{
|
||||
return Qt::VerPattern;
|
||||
}
|
||||
else if ( brushString == QLatin1String( "CrossPattern" ) )
|
||||
{
|
||||
return Qt::CrossPattern;
|
||||
}
|
||||
else if ( brushString == QLatin1String( "BDiagPattern" ) )
|
||||
{
|
||||
return Qt::BDiagPattern;
|
||||
}
|
||||
else if ( brushString == QLatin1String( "FDiagPattern" ) )
|
||||
{
|
||||
return Qt::FDiagPattern;
|
||||
}
|
||||
else if ( brushString == QLatin1String( "DiagCrossPattern" ) )
|
||||
{
|
||||
return Qt::DiagCrossPattern;
|
||||
}
|
||||
else if ( brushString == QLatin1String( "TexturePattern" ) )
|
||||
{
|
||||
return Qt::TexturePattern;
|
||||
}
|
||||
else //return a null string
|
||||
{
|
||||
QgsDebugMsg( QString( "Brush style \"%1\" not found" ).arg( brushString ) );
|
||||
return Qt::NoBrush;
|
||||
}
|
||||
}
|
@ -1,42 +0,0 @@
|
||||
/***************************************************************************
|
||||
qgssymbologyconversion.h
|
||||
---------------------
|
||||
begin : December 2009
|
||||
copyright : (C) 2009 by Martin Dobias
|
||||
email : wonder dot sk at gmail dot com
|
||||
***************************************************************************
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
***************************************************************************/
|
||||
#ifndef QGSSYMBOLOGYCONVERSION_H
|
||||
#define QGSSYMBOLOGYCONVERSION_H
|
||||
|
||||
class QDomNode;
|
||||
|
||||
class QgsFeatureRenderer;
|
||||
|
||||
#include "qgis_core.h"
|
||||
#include "qgis.h"
|
||||
|
||||
#include <Qt>
|
||||
|
||||
/** \ingroup core
|
||||
* This class is not a part of public API, it is intended only for compatibility with older versions of QGIS (1.x) */
|
||||
class CORE_EXPORT QgsSymbologyConversion
|
||||
{
|
||||
public:
|
||||
|
||||
//! Read old renderer definition from XML and create matching new renderer
|
||||
static QgsFeatureRenderer* readOldRenderer( const QDomNode& layerNode, QgsWkbTypes::GeometryType geomType );
|
||||
|
||||
static QString penStyle2QString( Qt::PenStyle penstyle );
|
||||
static Qt::PenStyle qString2PenStyle( const QString& string );
|
||||
static QString brushStyle2QString( Qt::BrushStyle brushstyle );
|
||||
static Qt::BrushStyle qString2BrushStyle( const QString& string );
|
||||
};
|
||||
|
||||
#endif // QGSSYMBOLOGYCONVERSION_H
|
@ -152,29 +152,6 @@ void TestQgsRenderers::singleSymbol()
|
||||
QVERIFY( imageCheck( "single" ) );
|
||||
}
|
||||
|
||||
// TODO: update tests and enable
|
||||
/*
|
||||
void TestQgsRenderers::uniqueValue()
|
||||
{
|
||||
mReport += "<h2>Unique value symbol renderer test</h2>\n";
|
||||
QVERIFY( setQml( "uniquevalue" ) );
|
||||
QVERIFY( imageCheck( "uniquevalue" ) );
|
||||
}
|
||||
|
||||
void TestQgsRenderers::graduatedSymbol()
|
||||
{
|
||||
mReport += "<h2>Graduated symbol renderer test</h2>\n";
|
||||
QVERIFY( setQml( "graduated" ) );
|
||||
QVERIFY( imageCheck( "graduated" ) );
|
||||
}
|
||||
|
||||
void TestQgsRenderers::continuousSymbol()
|
||||
{
|
||||
mReport += "<h2>Continuous symbol renderer test</h2>\n";
|
||||
QVERIFY( setQml( "continuous" ) );
|
||||
QVERIFY( imageCheck( "continuous" ) );
|
||||
}
|
||||
*/
|
||||
//
|
||||
// Private helper functions not called directly by CTest
|
||||
//
|
||||
|
185
tests/testdata/lines.qml
vendored
185
tests/testdata/lines.qml
vendored
@ -1,45 +1,70 @@
|
||||
<!DOCTYPE qgis PUBLIC 'http://mrcc.com/qgis.dtd' 'SYSTEM'>
|
||||
<qgis version="1.9.90-Alpha" minimumScale="1" maximumScale="1e+08" minLabelScale="1" maxLabelScale="1e+08" hasScaleBasedVisibilityFlag="0" scaleBasedLabelVisibilityFlag="0">
|
||||
<transparencyLevelInt>255</transparencyLevelInt>
|
||||
<classificationattribute>Name</classificationattribute>
|
||||
<uniquevalue>
|
||||
<classificationfield>Name</classificationfield>
|
||||
<symbol>
|
||||
<lowervalue>Arterial</lowervalue>
|
||||
<uppervalue></uppervalue>
|
||||
<label></label>
|
||||
<pointsymbol>hard:circle</pointsymbol>
|
||||
<pointsize>11</pointsize>
|
||||
<pointsizeunits>pixels</pointsizeunits>
|
||||
<rotationclassificationfieldname></rotationclassificationfieldname>
|
||||
<scaleclassificationfieldname></scaleclassificationfieldname>
|
||||
<symbolfieldname></symbolfieldname>
|
||||
<outlinecolor red="154" blue="116" green="139"/>
|
||||
<outlinestyle>DashDotDotLine</outlinestyle>
|
||||
<outlinewidth>5</outlinewidth>
|
||||
<fillcolor red="0" blue="0" green="0"/>
|
||||
<fillpattern>NoBrush</fillpattern>
|
||||
<texturepath></texturepath>
|
||||
</symbol>
|
||||
<symbol>
|
||||
<lowervalue>Highway</lowervalue>
|
||||
<uppervalue></uppervalue>
|
||||
<label></label>
|
||||
<pointsymbol>hard:circle</pointsymbol>
|
||||
<pointsize>11</pointsize>
|
||||
<pointsizeunits>pixels</pointsizeunits>
|
||||
<rotationclassificationfieldname></rotationclassificationfieldname>
|
||||
<scaleclassificationfieldname></scaleclassificationfieldname>
|
||||
<symbolfieldname></symbolfieldname>
|
||||
<outlinecolor red="94" blue="55" green="89"/>
|
||||
<outlinestyle>SolidLine</outlinestyle>
|
||||
<outlinewidth>7</outlinewidth>
|
||||
<fillcolor red="0" blue="0" green="0"/>
|
||||
<fillpattern>NoBrush</fillpattern>
|
||||
<texturepath></texturepath>
|
||||
</symbol>
|
||||
</uniquevalue>
|
||||
<customproperties/>
|
||||
<qgis version="2.18.0" simplifyAlgorithm="0" minimumScale="1" maximumScale="1e+08" simplifyDrawingHints="1" minLabelScale="1" maxLabelScale="1e+08" simplifyDrawingTol="1" simplifyMaxScale="1" hasScaleBasedVisibilityFlag="0" simplifyLocal="1" scaleBasedLabelVisibilityFlag="0">
|
||||
<edittypes>
|
||||
<edittype widgetv2type="TextEdit" name="Name">
|
||||
<widgetv2config IsMultiline="0" fieldEditable="1" constraint="" UseHtml="0" labelOnTop="0" constraintDescription="" notNull="0"/>
|
||||
</edittype>
|
||||
<edittype widgetv2type="TextEdit" name="Value">
|
||||
<widgetv2config IsMultiline="0" fieldEditable="1" constraint="" UseHtml="0" labelOnTop="0" constraintDescription="" notNull="0"/>
|
||||
</edittype>
|
||||
</edittypes>
|
||||
<renderer-v2 attr="Name" forceraster="0" symbollevels="0" type="categorizedSymbol" enableorderby="0">
|
||||
<categories>
|
||||
<category render="true" symbol="0" value="Arterial" label="Arterial"/>
|
||||
<category render="true" symbol="1" value="Highway" label="Highway"/>
|
||||
</categories>
|
||||
<symbols>
|
||||
<symbol alpha="1" clip_to_extent="1" type="line" name="0">
|
||||
<layer pass="0" class="SimpleLine" locked="0">
|
||||
<prop k="capstyle" v="square"/>
|
||||
<prop k="customdash" v="5;2"/>
|
||||
<prop k="customdash_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="customdash_unit" v="MM"/>
|
||||
<prop k="draw_inside_polygon" v="0"/>
|
||||
<prop k="joinstyle" v="bevel"/>
|
||||
<prop k="line_color" v="154,139,116,255"/>
|
||||
<prop k="line_style" v="dash dot dot"/>
|
||||
<prop k="line_width" v="5"/>
|
||||
<prop k="line_width_unit" v="MM"/>
|
||||
<prop k="offset" v="0"/>
|
||||
<prop k="offset_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="offset_unit" v="MM"/>
|
||||
<prop k="use_custom_dash" v="0"/>
|
||||
<prop k="width_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
</layer>
|
||||
</symbol>
|
||||
<symbol alpha="1" clip_to_extent="1" type="line" name="1">
|
||||
<layer pass="0" class="SimpleLine" locked="0">
|
||||
<prop k="capstyle" v="square"/>
|
||||
<prop k="customdash" v="5;2"/>
|
||||
<prop k="customdash_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="customdash_unit" v="MM"/>
|
||||
<prop k="draw_inside_polygon" v="0"/>
|
||||
<prop k="joinstyle" v="bevel"/>
|
||||
<prop k="line_color" v="94,89,55,255"/>
|
||||
<prop k="line_style" v="solid"/>
|
||||
<prop k="line_width" v="7"/>
|
||||
<prop k="line_width_unit" v="MM"/>
|
||||
<prop k="offset" v="0"/>
|
||||
<prop k="offset_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="offset_unit" v="MM"/>
|
||||
<prop k="use_custom_dash" v="0"/>
|
||||
<prop k="width_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
</layer>
|
||||
</symbol>
|
||||
</symbols>
|
||||
<rotation/>
|
||||
<sizescale scalemethod="diameter"/>
|
||||
</renderer-v2>
|
||||
<labeling type="simple"/>
|
||||
<customproperties>
|
||||
<property key="embeddedWidgets/count" value="0"/>
|
||||
<property key="variableNames"/>
|
||||
<property key="variableValues"/>
|
||||
</customproperties>
|
||||
<blendMode>0</blendMode>
|
||||
<featureBlendMode>0</featureBlendMode>
|
||||
<layerTransparency>0</layerTransparency>
|
||||
<displayfield>Name</displayfield>
|
||||
<label>0</label>
|
||||
<labelattributes>
|
||||
@ -62,12 +87,76 @@
|
||||
<multilineenabled fieldname="" on=""/>
|
||||
<selectedonly on=""/>
|
||||
</labelattributes>
|
||||
<edittypes>
|
||||
<edittype type="0" name="Name"/>
|
||||
<edittype type="0" name="Value"/>
|
||||
</edittypes>
|
||||
<editform></editform>
|
||||
<editforminit></editforminit>
|
||||
<SingleCategoryDiagramRenderer diagramType="Histogram" sizeLegend="0" attributeLegend="1">
|
||||
<DiagramCategory penColor="#000000" labelPlacementMethod="XHeight" penWidth="0" diagramOrientation="Up" sizeScale="0,0,0,0,0,0" minimumSize="0" barWidth="5" penAlpha="255" maxScaleDenominator="1e+08" backgroundColor="#ffffff" transparency="0" width="15" scaleDependency="Area" backgroundAlpha="255" angleOffset="1440" scaleBasedVisibility="0" enabled="0" height="15" lineSizeScale="0,0,0,0,0,0" sizeType="MM" lineSizeType="MM" minScaleDenominator="1">
|
||||
<fontProperties description="Noto Sans,10,-1,5,50,0,0,0,0,0" style=""/>
|
||||
</DiagramCategory>
|
||||
<symbol alpha="1" clip_to_extent="1" type="marker" name="sizeSymbol">
|
||||
<layer pass="0" class="SimpleMarker" locked="0">
|
||||
<prop k="angle" v="0"/>
|
||||
<prop k="color" v="255,0,0,255"/>
|
||||
<prop k="horizontal_anchor_point" v="1"/>
|
||||
<prop k="joinstyle" v="bevel"/>
|
||||
<prop k="name" v="circle"/>
|
||||
<prop k="offset" v="0,0"/>
|
||||
<prop k="offset_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="offset_unit" v="MM"/>
|
||||
<prop k="outline_color" v="0,0,0,255"/>
|
||||
<prop k="outline_style" v="solid"/>
|
||||
<prop k="outline_width" v="0"/>
|
||||
<prop k="outline_width_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="outline_width_unit" v="MM"/>
|
||||
<prop k="scale_method" v="diameter"/>
|
||||
<prop k="size" v="2"/>
|
||||
<prop k="size_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="size_unit" v="MM"/>
|
||||
<prop k="vertical_anchor_point" v="1"/>
|
||||
</layer>
|
||||
</symbol>
|
||||
</SingleCategoryDiagramRenderer>
|
||||
<DiagramLayerSettings yPosColumn="-1" showColumn="-1" linePlacementFlags="10" placement="2" dist="0" xPosColumn="-1" priority="0" obstacle="0" zIndex="0" showAll="1"/>
|
||||
<annotationform></annotationform>
|
||||
<attributeactions/>
|
||||
<aliases>
|
||||
<alias field="Name" index="0" name=""/>
|
||||
<alias field="Value" index="1" name=""/>
|
||||
</aliases>
|
||||
<excludeAttributesWMS/>
|
||||
<excludeAttributesWFS/>
|
||||
<attributeactions default="-1"/>
|
||||
<attributetableconfig actionWidgetStyle="dropDown" sortExpression="" sortOrder="0">
|
||||
<columns>
|
||||
<column width="-1" hidden="0" type="field" name="Name"/>
|
||||
<column width="-1" hidden="0" type="field" name="Value"/>
|
||||
<column width="-1" hidden="1" type="actions"/>
|
||||
</columns>
|
||||
</attributetableconfig>
|
||||
<editform></editform>
|
||||
<editforminit/>
|
||||
<editforminitcodesource>0</editforminitcodesource>
|
||||
<editforminitfilepath></editforminitfilepath>
|
||||
<editforminitcode><![CDATA[# -*- coding: utf-8 -*-
|
||||
"""
|
||||
QGIS forms can have a Python function that is called when the form is
|
||||
opened.
|
||||
|
||||
Use this function to add extra logic to your forms.
|
||||
|
||||
Enter the name of the function in the "Python Init function"
|
||||
field.
|
||||
An example follows:
|
||||
"""
|
||||
from qgis.PyQt.QtWidgets import QWidget
|
||||
|
||||
def my_form_open(dialog, layer, feature):
|
||||
geom = feature.geometry()
|
||||
control = dialog.findChild(QWidget, "MyLineEdit")
|
||||
]]></editforminitcode>
|
||||
<featformsuppress>0</featformsuppress>
|
||||
<editorlayout>generatedlayout</editorlayout>
|
||||
<widgets/>
|
||||
<conditionalstyles>
|
||||
<rowstyles/>
|
||||
<fieldstyles/>
|
||||
</conditionalstyles>
|
||||
<layerGeometryType>1</layerGeometryType>
|
||||
</qgis>
|
||||
|
80
tests/testdata/lines_continuous_symbol.qml
vendored
80
tests/testdata/lines_continuous_symbol.qml
vendored
@ -1,80 +0,0 @@
|
||||
<!DOCTYPE qgis PUBLIC 'http://mrcc.com/qgis.dtd' 'SYSTEM'>
|
||||
<qgis version="0.9.2-Ganymede" minimumScale="1" maximumScale="1e+08" hasScaleBasedVisibilityFlag="0" geometry="Line" type="vector" >
|
||||
<id>lines20080110101725388</id>
|
||||
<datasource>/Users/timlinux/dev/cpp/qgis_qml/tests/testdata/lines.shp</datasource>
|
||||
<layername>lines</layername>
|
||||
<srs>
|
||||
<spatialrefsys>
|
||||
<proj4>+proj=longlat +ellps=WGS84 +no_defs</proj4>
|
||||
<srsid>1449</srsid>
|
||||
<srid>4031</srid>
|
||||
<epsg>4031</epsg>
|
||||
<description>Unknown datum based upon the GEM 10C ellipsoid</description>
|
||||
<projectionacronym>longlat</projectionacronym>
|
||||
<ellipsoidacronym>WGS84</ellipsoidacronym>
|
||||
<geographicflag>true</geographicflag>
|
||||
</spatialrefsys>
|
||||
</srs>
|
||||
<transparencyLevelInt>255</transparencyLevelInt>
|
||||
<provider>ogr</provider>
|
||||
<encoding>System</encoding>
|
||||
<classificationattribute>Value</classificationattribute>
|
||||
<displayfield>Name</displayfield>
|
||||
<label>0</label>
|
||||
<attributeactions/>
|
||||
<continuoussymbol>
|
||||
<classificationfield>Value</classificationfield>
|
||||
<polygonoutline>1</polygonoutline>
|
||||
<lowestsymbol>
|
||||
<symbol>
|
||||
<lowervalue>1.000000</lowervalue>
|
||||
<uppervalue></uppervalue>
|
||||
<label></label>
|
||||
<pointsymbol>hard:circle</pointsymbol>
|
||||
<pointsize>11</pointsize>
|
||||
<rotationclassificationfield>-1</rotationclassificationfield>
|
||||
<scaleclassificationfield>-1</scaleclassificationfield>
|
||||
<outlinecolor red="133" blue="50" green="45" />
|
||||
<outlinestyle>SolidLine</outlinestyle>
|
||||
<outlinewidth>1.2</outlinewidth>
|
||||
<fillcolor red="0" blue="0" green="0" />
|
||||
<fillpattern>NoBrush</fillpattern>
|
||||
<texturepath></texturepath>
|
||||
</symbol>
|
||||
</lowestsymbol>
|
||||
<highestsymbol>
|
||||
<symbol>
|
||||
<lowervalue>2.000000</lowervalue>
|
||||
<uppervalue></uppervalue>
|
||||
<label></label>
|
||||
<pointsymbol>hard:circle</pointsymbol>
|
||||
<pointsize>11</pointsize>
|
||||
<rotationclassificationfield>-1</rotationclassificationfield>
|
||||
<scaleclassificationfield>-1</scaleclassificationfield>
|
||||
<outlinecolor red="48" blue="156" green="50" />
|
||||
<outlinestyle>SolidLine</outlinestyle>
|
||||
<outlinewidth>1.2</outlinewidth>
|
||||
<fillcolor red="0" blue="0" green="0" />
|
||||
<fillpattern>NoBrush</fillpattern>
|
||||
<texturepath></texturepath>
|
||||
</symbol>
|
||||
</highestsymbol>
|
||||
</continuoussymbol>
|
||||
<labelattributes>
|
||||
<label field="" text="Label" />
|
||||
<family field="" name="Lucida Grande" />
|
||||
<size field="" units="pt" value="12" />
|
||||
<bold field="" on="0" />
|
||||
<italic field="" on="0" />
|
||||
<underline field="" on="0" />
|
||||
<color field="" red="0" blue="0" green="0" />
|
||||
<x field="" />
|
||||
<y field="" />
|
||||
<offset x="0" y="0" yfield="-1" xfield="-1" units="pt" />
|
||||
<angle field="" value="0" />
|
||||
<alignment field="-1" value="center" />
|
||||
<buffercolor field="" red="255" blue="255" green="255" />
|
||||
<buffersize field="" units="pt" value="1" />
|
||||
<bufferenabled field="" on="" />
|
||||
</labelattributes>
|
||||
</qgis>
|
90
tests/testdata/lines_graduated_symbol.qml
vendored
90
tests/testdata/lines_graduated_symbol.qml
vendored
@ -1,90 +0,0 @@
|
||||
<!DOCTYPE qgis PUBLIC 'http://mrcc.com/qgis.dtd' 'SYSTEM'>
|
||||
<qgis version="0.9.2-Ganymede" minimumScale="1" maximumScale="1e+08" hasScaleBasedVisibilityFlag="0" geometry="Line" type="vector" >
|
||||
<id>lines20080110101725388</id>
|
||||
<datasource>/Users/timlinux/dev/cpp/qgis_qml/tests/testdata/lines.shp</datasource>
|
||||
<layername>lines</layername>
|
||||
<srs>
|
||||
<spatialrefsys>
|
||||
<proj4>+proj=longlat +ellps=WGS84 +no_defs</proj4>
|
||||
<srsid>1449</srsid>
|
||||
<srid>4031</srid>
|
||||
<epsg>4031</epsg>
|
||||
<description>Unknown datum based upon the GEM 10C ellipsoid</description>
|
||||
<projectionacronym>longlat</projectionacronym>
|
||||
<ellipsoidacronym>WGS84</ellipsoidacronym>
|
||||
<geographicflag>true</geographicflag>
|
||||
</spatialrefsys>
|
||||
</srs>
|
||||
<transparencyLevelInt>255</transparencyLevelInt>
|
||||
<provider>ogr</provider>
|
||||
<encoding>System</encoding>
|
||||
<classificationattribute>Value</classificationattribute>
|
||||
<displayfield>Name</displayfield>
|
||||
<label>0</label>
|
||||
<attributeactions/>
|
||||
<graduatedsymbol>
|
||||
<classificationfield>Value</classificationfield>
|
||||
<symbol>
|
||||
<lowervalue>0.999</lowervalue>
|
||||
<uppervalue>1.333</uppervalue>
|
||||
<label>Important</label>
|
||||
<pointsymbol>hard:circle</pointsymbol>
|
||||
<pointsize>11</pointsize>
|
||||
<rotationclassificationfield>-1</rotationclassificationfield>
|
||||
<scaleclassificationfield>-1</scaleclassificationfield>
|
||||
<outlinecolor red="107" blue="111" green="98" />
|
||||
<outlinestyle>DashLine</outlinestyle>
|
||||
<outlinewidth>2</outlinewidth>
|
||||
<fillcolor red="0" blue="0" green="0" />
|
||||
<fillpattern>NoBrush</fillpattern>
|
||||
<texturepath></texturepath>
|
||||
</symbol>
|
||||
<symbol>
|
||||
<lowervalue>1.333</lowervalue>
|
||||
<uppervalue>1.667</uppervalue>
|
||||
<label>Secondary</label>
|
||||
<pointsymbol>hard:circle</pointsymbol>
|
||||
<pointsize>11</pointsize>
|
||||
<rotationclassificationfield>-1</rotationclassificationfield>
|
||||
<scaleclassificationfield>-1</scaleclassificationfield>
|
||||
<outlinecolor red="134" blue="99" green="120" />
|
||||
<outlinestyle>SolidLine</outlinestyle>
|
||||
<outlinewidth>1.2</outlinewidth>
|
||||
<fillcolor red="0" blue="0" green="0" />
|
||||
<fillpattern>NoBrush</fillpattern>
|
||||
<texturepath></texturepath>
|
||||
</symbol>
|
||||
<symbol>
|
||||
<lowervalue>1.667</lowervalue>
|
||||
<uppervalue>2.001</uppervalue>
|
||||
<label>Marginal</label>
|
||||
<pointsymbol>hard:circle</pointsymbol>
|
||||
<pointsize>11</pointsize>
|
||||
<rotationclassificationfield>-1</rotationclassificationfield>
|
||||
<scaleclassificationfield>-1</scaleclassificationfield>
|
||||
<outlinecolor red="124" blue="143" green="171" />
|
||||
<outlinestyle>DashDotDotLine</outlinestyle>
|
||||
<outlinewidth>0.4</outlinewidth>
|
||||
<fillcolor red="0" blue="0" green="0" />
|
||||
<fillpattern>NoBrush</fillpattern>
|
||||
<texturepath></texturepath>
|
||||
</symbol>
|
||||
</graduatedsymbol>
|
||||
<labelattributes>
|
||||
<label field="" text="Label" />
|
||||
<family field="" name="Lucida Grande" />
|
||||
<size field="" units="pt" value="12" />
|
||||
<bold field="" on="0" />
|
||||
<italic field="" on="0" />
|
||||
<underline field="" on="0" />
|
||||
<color field="" red="0" blue="0" green="0" />
|
||||
<x field="" />
|
||||
<y field="" />
|
||||
<offset x="0" y="0" yfield="-1" xfield="-1" units="pt" />
|
||||
<angle field="" value="0" />
|
||||
<alignment field="-1" value="center" />
|
||||
<buffercolor field="" red="255" blue="255" green="255" />
|
||||
<buffersize field="" units="pt" value="1" />
|
||||
<bufferenabled field="" on="" />
|
||||
</labelattributes>
|
||||
</qgis>
|
191
tests/testdata/lines_single_symbol.qml
vendored
191
tests/testdata/lines_single_symbol.qml
vendored
@ -1,58 +1,139 @@
|
||||
<!DOCTYPE qgis PUBLIC 'http://mrcc.com/qgis.dtd' 'SYSTEM'>
|
||||
<qgis version="0.9.2-Ganymede" minimumScale="1" maximumScale="1e+08" hasScaleBasedVisibilityFlag="0" geometry="Line" type="vector" >
|
||||
<id>lines20080110101725388</id>
|
||||
<datasource>/Users/tim/dev/cpp/qgis/tests/testdata/lines.shp</datasource>
|
||||
<layername>lines</layername>
|
||||
<srs>
|
||||
<spatialrefsys>
|
||||
<proj4>+proj=longlat +ellps=WGS84 +no_defs</proj4>
|
||||
<srsid>1449</srsid>
|
||||
<srid>4031</srid>
|
||||
<epsg>4031</epsg>
|
||||
<description>Unknown datum based upon the GEM 10C ellipsoid</description>
|
||||
<projectionacronym>longlat</projectionacronym>
|
||||
<ellipsoidacronym>WGS84</ellipsoidacronym>
|
||||
<geographicflag>false</geographicflag>
|
||||
</spatialrefsys>
|
||||
</srs>
|
||||
<transparencyLevelInt>255</transparencyLevelInt>
|
||||
<provider>ogr</provider>
|
||||
<encoding>System</encoding>
|
||||
<displayfield>Name</displayfield>
|
||||
<label>0</label>
|
||||
<attributeactions/>
|
||||
<singlesymbol>
|
||||
<symbol>
|
||||
<lowervalue></lowervalue>
|
||||
<uppervalue></uppervalue>
|
||||
<label></label>
|
||||
<pointsymbol>hard:circle</pointsymbol>
|
||||
<pointsize>11</pointsize>
|
||||
<rotationclassificationfield>-1</rotationclassificationfield>
|
||||
<scaleclassificationfield>-1</scaleclassificationfield>
|
||||
<outlinecolor red="159" blue="98" green="113" />
|
||||
<outlinestyle>DashLine</outlinestyle>
|
||||
<outlinewidth>0.8</outlinewidth>
|
||||
<fillcolor red="0" blue="0" green="0" />
|
||||
<fillpattern>NoBrush</fillpattern>
|
||||
<texturepath></texturepath>
|
||||
<qgis version="2.18.0" simplifyAlgorithm="0" minimumScale="1" maximumScale="1e+08" simplifyDrawingHints="1" minLabelScale="1" maxLabelScale="1e+08" simplifyDrawingTol="1" simplifyMaxScale="1" hasScaleBasedVisibilityFlag="0" simplifyLocal="1" scaleBasedLabelVisibilityFlag="0">
|
||||
<edittypes>
|
||||
<edittype widgetv2type="TextEdit" name="Name">
|
||||
<widgetv2config IsMultiline="0" fieldEditable="1" constraint="" UseHtml="0" labelOnTop="0" constraintDescription="" notNull="0"/>
|
||||
</edittype>
|
||||
<edittype widgetv2type="TextEdit" name="Value">
|
||||
<widgetv2config IsMultiline="0" fieldEditable="1" constraint="" UseHtml="0" labelOnTop="0" constraintDescription="" notNull="0"/>
|
||||
</edittype>
|
||||
</edittypes>
|
||||
<renderer-v2 forceraster="0" symbollevels="0" type="singleSymbol" enableorderby="0">
|
||||
<symbols>
|
||||
<symbol alpha="1" clip_to_extent="1" type="line" name="0">
|
||||
<layer pass="0" class="SimpleLine" locked="0">
|
||||
<prop k="capstyle" v="square"/>
|
||||
<prop k="customdash" v="5;2"/>
|
||||
<prop k="customdash_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="customdash_unit" v="MM"/>
|
||||
<prop k="draw_inside_polygon" v="0"/>
|
||||
<prop k="joinstyle" v="bevel"/>
|
||||
<prop k="line_color" v="159,113,98,255"/>
|
||||
<prop k="line_style" v="dash"/>
|
||||
<prop k="line_width" v="0.8"/>
|
||||
<prop k="line_width_unit" v="MM"/>
|
||||
<prop k="offset" v="0"/>
|
||||
<prop k="offset_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="offset_unit" v="MM"/>
|
||||
<prop k="use_custom_dash" v="0"/>
|
||||
<prop k="width_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
</layer>
|
||||
</symbol>
|
||||
</singlesymbol>
|
||||
<labelattributes>
|
||||
<label field="" text="Label" />
|
||||
<family field="" name="Lucida Grande" />
|
||||
<size field="" units="pt" value="12" />
|
||||
<bold field="" on="0" />
|
||||
<italic field="" on="0" />
|
||||
<underline field="" on="0" />
|
||||
<color field="" red="0" blue="0" green="0" />
|
||||
<x field="" />
|
||||
<y field="" />
|
||||
<offset x="0" y="0" yfield="-1" xfield="-1" units="pt" />
|
||||
<angle field="" value="0" />
|
||||
<alignment field="-1" value="center" />
|
||||
<buffercolor field="" red="255" blue="255" green="255" />
|
||||
<buffersize field="" units="pt" value="1" />
|
||||
<bufferenabled field="" on="" />
|
||||
</labelattributes>
|
||||
</symbols>
|
||||
<rotation/>
|
||||
<sizescale scalemethod="diameter"/>
|
||||
</renderer-v2>
|
||||
<labeling type="simple"/>
|
||||
<customproperties>
|
||||
<property key="embeddedWidgets/count" value="0"/>
|
||||
<property key="variableNames"/>
|
||||
<property key="variableValues"/>
|
||||
</customproperties>
|
||||
<blendMode>0</blendMode>
|
||||
<featureBlendMode>0</featureBlendMode>
|
||||
<layerTransparency>0</layerTransparency>
|
||||
<displayfield>Name</displayfield>
|
||||
<label>0</label>
|
||||
<labelattributes>
|
||||
<label fieldname="" text="Label"/>
|
||||
<family fieldname="" name="Lucida Grande"/>
|
||||
<size fieldname="" units="pt" value="12"/>
|
||||
<bold fieldname="" on="0"/>
|
||||
<italic fieldname="" on="0"/>
|
||||
<underline fieldname="" on="0"/>
|
||||
<strikeout fieldname="" on="0"/>
|
||||
<color fieldname="" red="0" blue="0" green="0"/>
|
||||
<x fieldname=""/>
|
||||
<y fieldname=""/>
|
||||
<offset x="0" y="0" units="pt" yfieldname="" xfieldname=""/>
|
||||
<angle fieldname="" value="0" auto="0"/>
|
||||
<alignment fieldname="" value="center"/>
|
||||
<buffercolor fieldname="" red="255" blue="255" green="255"/>
|
||||
<buffersize fieldname="" units="pt" value="1"/>
|
||||
<bufferenabled fieldname="" on=""/>
|
||||
<multilineenabled fieldname="" on=""/>
|
||||
<selectedonly on=""/>
|
||||
</labelattributes>
|
||||
<SingleCategoryDiagramRenderer diagramType="Histogram" sizeLegend="0" attributeLegend="1">
|
||||
<DiagramCategory penColor="#000000" labelPlacementMethod="XHeight" penWidth="0" diagramOrientation="Up" sizeScale="0,0,0,0,0,0" minimumSize="0" barWidth="5" penAlpha="255" maxScaleDenominator="1e+08" backgroundColor="#ffffff" transparency="0" width="15" scaleDependency="Area" backgroundAlpha="255" angleOffset="1440" scaleBasedVisibility="0" enabled="0" height="15" lineSizeScale="0,0,0,0,0,0" sizeType="MM" lineSizeType="MM" minScaleDenominator="1">
|
||||
<fontProperties description="Noto Sans,10,-1,5,50,0,0,0,0,0" style=""/>
|
||||
</DiagramCategory>
|
||||
<symbol alpha="1" clip_to_extent="1" type="marker" name="sizeSymbol">
|
||||
<layer pass="0" class="SimpleMarker" locked="0">
|
||||
<prop k="angle" v="0"/>
|
||||
<prop k="color" v="255,0,0,255"/>
|
||||
<prop k="horizontal_anchor_point" v="1"/>
|
||||
<prop k="joinstyle" v="bevel"/>
|
||||
<prop k="name" v="circle"/>
|
||||
<prop k="offset" v="0,0"/>
|
||||
<prop k="offset_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="offset_unit" v="MM"/>
|
||||
<prop k="outline_color" v="0,0,0,255"/>
|
||||
<prop k="outline_style" v="solid"/>
|
||||
<prop k="outline_width" v="0"/>
|
||||
<prop k="outline_width_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="outline_width_unit" v="MM"/>
|
||||
<prop k="scale_method" v="diameter"/>
|
||||
<prop k="size" v="2"/>
|
||||
<prop k="size_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="size_unit" v="MM"/>
|
||||
<prop k="vertical_anchor_point" v="1"/>
|
||||
</layer>
|
||||
</symbol>
|
||||
</SingleCategoryDiagramRenderer>
|
||||
<DiagramLayerSettings yPosColumn="-1" showColumn="-1" linePlacementFlags="10" placement="2" dist="0" xPosColumn="-1" priority="0" obstacle="0" zIndex="0" showAll="1"/>
|
||||
<annotationform></annotationform>
|
||||
<aliases>
|
||||
<alias field="Name" index="0" name=""/>
|
||||
<alias field="Value" index="1" name=""/>
|
||||
</aliases>
|
||||
<excludeAttributesWMS/>
|
||||
<excludeAttributesWFS/>
|
||||
<attributeactions default="0"/>
|
||||
<attributetableconfig actionWidgetStyle="dropDown" sortExpression="" sortOrder="0">
|
||||
<columns>
|
||||
<column width="-1" hidden="0" type="field" name="Name"/>
|
||||
<column width="-1" hidden="0" type="field" name="Value"/>
|
||||
<column width="-1" hidden="1" type="actions"/>
|
||||
</columns>
|
||||
</attributetableconfig>
|
||||
<editform></editform>
|
||||
<editforminit/>
|
||||
<editforminitcodesource>0</editforminitcodesource>
|
||||
<editforminitfilepath></editforminitfilepath>
|
||||
<editforminitcode><![CDATA[# -*- coding: utf-8 -*-
|
||||
"""
|
||||
QGIS forms can have a Python function that is called when the form is
|
||||
opened.
|
||||
|
||||
Use this function to add extra logic to your forms.
|
||||
|
||||
Enter the name of the function in the "Python Init function"
|
||||
field.
|
||||
An example follows:
|
||||
"""
|
||||
from qgis.PyQt.QtWidgets import QWidget
|
||||
|
||||
def my_form_open(dialog, layer, feature):
|
||||
geom = feature.geometry()
|
||||
control = dialog.findChild(QWidget, "MyLineEdit")
|
||||
]]></editforminitcode>
|
||||
<featformsuppress>0</featformsuppress>
|
||||
<editorlayout>generatedlayout</editorlayout>
|
||||
<widgets/>
|
||||
<conditionalstyles>
|
||||
<rowstyles/>
|
||||
<fieldstyles/>
|
||||
</conditionalstyles>
|
||||
<layerGeometryType>1</layerGeometryType>
|
||||
</qgis>
|
||||
|
75
tests/testdata/lines_uniquevalue_symbol.qml
vendored
75
tests/testdata/lines_uniquevalue_symbol.qml
vendored
@ -1,75 +0,0 @@
|
||||
<!DOCTYPE qgis PUBLIC 'http://mrcc.com/qgis.dtd' 'SYSTEM'>
|
||||
<qgis version="0.9.2-Ganymede" minimumScale="1" maximumScale="1e+08" hasScaleBasedVisibilityFlag="0" geometry="Line" type="vector" >
|
||||
<id>lines20080110101725388</id>
|
||||
<datasource>/Users/timlinux/dev/cpp/qgis_qml/tests/testdata/lines.shp</datasource>
|
||||
<layername>lines</layername>
|
||||
<srs>
|
||||
<spatialrefsys>
|
||||
<proj4>+proj=longlat +ellps=WGS84 +no_defs</proj4>
|
||||
<srsid>1449</srsid>
|
||||
<srid>4031</srid>
|
||||
<epsg>4031</epsg>
|
||||
<description>Unknown datum based upon the GEM 10C ellipsoid</description>
|
||||
<projectionacronym>longlat</projectionacronym>
|
||||
<ellipsoidacronym>WGS84</ellipsoidacronym>
|
||||
<geographicflag>true</geographicflag>
|
||||
</spatialrefsys>
|
||||
</srs>
|
||||
<transparencyLevelInt>255</transparencyLevelInt>
|
||||
<provider>ogr</provider>
|
||||
<encoding>System</encoding>
|
||||
<classificationattribute>Name</classificationattribute>
|
||||
<displayfield>Name</displayfield>
|
||||
<label>0</label>
|
||||
<attributeactions/>
|
||||
<uniquevalue>
|
||||
<classificationfield>Name</classificationfield>
|
||||
<symbol>
|
||||
<lowervalue>Arterial</lowervalue>
|
||||
<uppervalue></uppervalue>
|
||||
<label></label>
|
||||
<pointsymbol>hard:circle</pointsymbol>
|
||||
<pointsize>11</pointsize>
|
||||
<rotationclassificationfield>-1</rotationclassificationfield>
|
||||
<scaleclassificationfield>-1</scaleclassificationfield>
|
||||
<outlinecolor red="165" blue="74" green="36" />
|
||||
<outlinestyle>DashLine</outlinestyle>
|
||||
<outlinewidth>2</outlinewidth>
|
||||
<fillcolor red="0" blue="0" green="0" />
|
||||
<fillpattern>NoBrush</fillpattern>
|
||||
<texturepath></texturepath>
|
||||
</symbol>
|
||||
<symbol>
|
||||
<lowervalue>Highway</lowervalue>
|
||||
<uppervalue></uppervalue>
|
||||
<label></label>
|
||||
<pointsymbol>hard:circle</pointsymbol>
|
||||
<pointsize>11</pointsize>
|
||||
<rotationclassificationfield>-1</rotationclassificationfield>
|
||||
<scaleclassificationfield>-1</scaleclassificationfield>
|
||||
<outlinecolor red="12" blue="96" green="151" />
|
||||
<outlinestyle>SolidLine</outlinestyle>
|
||||
<outlinewidth>2.8</outlinewidth>
|
||||
<fillcolor red="0" blue="0" green="0" />
|
||||
<fillpattern>NoBrush</fillpattern>
|
||||
<texturepath></texturepath>
|
||||
</symbol>
|
||||
</uniquevalue>
|
||||
<labelattributes>
|
||||
<label field="" text="Label" />
|
||||
<family field="" name="Lucida Grande" />
|
||||
<size field="" units="pt" value="12" />
|
||||
<bold field="" on="0" />
|
||||
<italic field="" on="0" />
|
||||
<underline field="" on="0" />
|
||||
<color field="" red="0" blue="0" green="0" />
|
||||
<x field="" />
|
||||
<y field="" />
|
||||
<offset x="0" y="0" yfield="-1" xfield="-1" units="pt" />
|
||||
<angle field="" value="0" />
|
||||
<alignment field="-1" value="center" />
|
||||
<buffercolor field="" red="255" blue="255" green="255" />
|
||||
<buffersize field="" units="pt" value="1" />
|
||||
<bufferenabled field="" on="" />
|
||||
</labelattributes>
|
||||
</qgis>
|
248
tests/testdata/points.qml
vendored
248
tests/testdata/points.qml
vendored
@ -1,64 +1,105 @@
|
||||
<!DOCTYPE qgis PUBLIC 'http://mrcc.com/qgis.dtd' 'SYSTEM'>
|
||||
<qgis version="1.9.90-Alpha" minimumScale="1" maximumScale="1e+08" minLabelScale="1" maxLabelScale="1e+08" hasScaleBasedVisibilityFlag="0" scaleBasedLabelVisibilityFlag="0">
|
||||
<transparencyLevelInt>255</transparencyLevelInt>
|
||||
<classificationattribute>Importance</classificationattribute>
|
||||
<classificationattribute>Heading</classificationattribute>
|
||||
<classificationattribute>Class</classificationattribute>
|
||||
<uniquevalue>
|
||||
<classificationfield>Class</classificationfield>
|
||||
<symbol>
|
||||
<lowervalue>B52</lowervalue>
|
||||
<uppervalue></uppervalue>
|
||||
<label></label>
|
||||
<pointsymbol>svg:/gpsicons/plane.svg</pointsymbol>
|
||||
<pointsize>11</pointsize>
|
||||
<pointsizeunits>pixels</pointsizeunits>
|
||||
<rotationclassificationfieldname>Importance</rotationclassificationfieldname>
|
||||
<scaleclassificationfieldname>Importance</scaleclassificationfieldname>
|
||||
<symbolfieldname></symbolfieldname>
|
||||
<outlinecolor red="0" blue="0" green="0"/>
|
||||
<outlinestyle>SolidLine</outlinestyle>
|
||||
<outlinewidth>1</outlinewidth>
|
||||
<fillcolor red="176" blue="238" green="151"/>
|
||||
<fillpattern>SolidPattern</fillpattern>
|
||||
<texturepath></texturepath>
|
||||
</symbol>
|
||||
<symbol>
|
||||
<lowervalue>Biplane</lowervalue>
|
||||
<uppervalue></uppervalue>
|
||||
<label></label>
|
||||
<pointsymbol>svg:/gpsicons/plane_orange.svg</pointsymbol>
|
||||
<pointsize>18</pointsize>
|
||||
<pointsizeunits>pixels</pointsizeunits>
|
||||
<rotationclassificationfieldname>Heading</rotationclassificationfieldname>
|
||||
<scaleclassificationfieldname>Importance</scaleclassificationfieldname>
|
||||
<symbolfieldname></symbolfieldname>
|
||||
<outlinecolor red="0" blue="0" green="0"/>
|
||||
<outlinestyle>SolidLine</outlinestyle>
|
||||
<outlinewidth>1</outlinewidth>
|
||||
<fillcolor red="216" blue="24" green="135"/>
|
||||
<fillpattern>SolidPattern</fillpattern>
|
||||
<texturepath></texturepath>
|
||||
</symbol>
|
||||
<symbol>
|
||||
<lowervalue>Jet</lowervalue>
|
||||
<uppervalue></uppervalue>
|
||||
<label></label>
|
||||
<pointsymbol>svg:/gpsicons/plane.svg</pointsymbol>
|
||||
<pointsize>11</pointsize>
|
||||
<pointsizeunits>pixels</pointsizeunits>
|
||||
<rotationclassificationfieldname>Heading</rotationclassificationfieldname>
|
||||
<scaleclassificationfieldname>Importance</scaleclassificationfieldname>
|
||||
<symbolfieldname></symbolfieldname>
|
||||
<outlinecolor red="0" blue="0" green="0"/>
|
||||
<outlinestyle>SolidLine</outlinestyle>
|
||||
<outlinewidth>1</outlinewidth>
|
||||
<fillcolor red="167" blue="179" green="107"/>
|
||||
<fillpattern>SolidPattern</fillpattern>
|
||||
<texturepath></texturepath>
|
||||
</symbol>
|
||||
</uniquevalue>
|
||||
<customproperties/>
|
||||
<qgis version="2.18.0" simplifyAlgorithm="0" minimumScale="1" maximumScale="1e+08" simplifyDrawingHints="0" minLabelScale="1" maxLabelScale="1e+08" simplifyDrawingTol="1" simplifyMaxScale="1" hasScaleBasedVisibilityFlag="0" simplifyLocal="1" scaleBasedLabelVisibilityFlag="0">
|
||||
<edittypes>
|
||||
<edittype widgetv2type="TextEdit" name="Class">
|
||||
<widgetv2config IsMultiline="0" fieldEditable="1" constraint="" UseHtml="0" labelOnTop="0" constraintDescription="" notNull="0"/>
|
||||
</edittype>
|
||||
<edittype widgetv2type="TextEdit" name="Heading">
|
||||
<widgetv2config IsMultiline="0" fieldEditable="1" constraint="" UseHtml="0" labelOnTop="0" constraintDescription="" notNull="0"/>
|
||||
</edittype>
|
||||
<edittype widgetv2type="TextEdit" name="Importance">
|
||||
<widgetv2config IsMultiline="0" fieldEditable="1" constraint="" UseHtml="0" labelOnTop="0" constraintDescription="" notNull="0"/>
|
||||
</edittype>
|
||||
<edittype widgetv2type="TextEdit" name="Pilots">
|
||||
<widgetv2config IsMultiline="0" fieldEditable="1" constraint="" UseHtml="0" labelOnTop="0" constraintDescription="" notNull="0"/>
|
||||
</edittype>
|
||||
<edittype widgetv2type="TextEdit" name="Cabin Crew">
|
||||
<widgetv2config IsMultiline="0" fieldEditable="1" constraint="" UseHtml="0" labelOnTop="0" constraintDescription="" notNull="0"/>
|
||||
</edittype>
|
||||
<edittype widgetv2type="TextEdit" name="Staff">
|
||||
<widgetv2config IsMultiline="0" fieldEditable="1" constraint="" UseHtml="0" labelOnTop="0" constraintDescription="" notNull="0"/>
|
||||
</edittype>
|
||||
</edittypes>
|
||||
<renderer-v2 attr="Class" forceraster="0" symbollevels="0" type="categorizedSymbol" enableorderby="0">
|
||||
<categories>
|
||||
<category render="true" symbol="0" value="B52" label="B52"/>
|
||||
<category render="true" symbol="1" value="Biplane" label="Biplane"/>
|
||||
<category render="true" symbol="2" value="Jet" label="Jet"/>
|
||||
</categories>
|
||||
<symbols>
|
||||
<symbol alpha="1" clip_to_extent="1" type="marker" name="0">
|
||||
<layer pass="0" class="SvgMarker" locked="0">
|
||||
<prop k="angle" v="0"/>
|
||||
<prop k="color" v="0,0,0,255"/>
|
||||
<prop k="horizontal_anchor_point" v="1"/>
|
||||
<prop k="name" v="gpsicons/plane.svg"/>
|
||||
<prop k="offset" v="0,0"/>
|
||||
<prop k="offset_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="offset_unit" v="MM"/>
|
||||
<prop k="outline_color" v="0,0,0,255"/>
|
||||
<prop k="outline_width" v="0.2"/>
|
||||
<prop k="outline_width_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="outline_width_unit" v="MM"/>
|
||||
<prop k="scale_method" v="diameter"/>
|
||||
<prop k="size" v="11"/>
|
||||
<prop k="size_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="size_unit" v="MM"/>
|
||||
<prop k="vertical_anchor_point" v="1"/>
|
||||
</layer>
|
||||
</symbol>
|
||||
<symbol alpha="1" clip_to_extent="1" type="marker" name="1">
|
||||
<layer pass="0" class="SvgMarker" locked="0">
|
||||
<prop k="angle" v="0"/>
|
||||
<prop k="color" v="0,0,0,255"/>
|
||||
<prop k="horizontal_anchor_point" v="1"/>
|
||||
<prop k="name" v="gpsicons/plane_orange.svg"/>
|
||||
<prop k="offset" v="0,0"/>
|
||||
<prop k="offset_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="offset_unit" v="MM"/>
|
||||
<prop k="outline_color" v="0,0,0,255"/>
|
||||
<prop k="outline_width" v="0.2"/>
|
||||
<prop k="outline_width_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="outline_width_unit" v="MM"/>
|
||||
<prop k="scale_method" v="diameter"/>
|
||||
<prop k="size" v="18"/>
|
||||
<prop k="size_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="size_unit" v="MM"/>
|
||||
<prop k="vertical_anchor_point" v="1"/>
|
||||
</layer>
|
||||
</symbol>
|
||||
<symbol alpha="1" clip_to_extent="1" type="marker" name="2">
|
||||
<layer pass="0" class="SvgMarker" locked="0">
|
||||
<prop k="angle" v="0"/>
|
||||
<prop k="color" v="0,0,0,255"/>
|
||||
<prop k="horizontal_anchor_point" v="1"/>
|
||||
<prop k="name" v="gpsicons/plane.svg"/>
|
||||
<prop k="offset" v="0,0"/>
|
||||
<prop k="offset_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="offset_unit" v="MM"/>
|
||||
<prop k="outline_color" v="0,0,0,255"/>
|
||||
<prop k="outline_width" v="0.2"/>
|
||||
<prop k="outline_width_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="outline_width_unit" v="MM"/>
|
||||
<prop k="scale_method" v="diameter"/>
|
||||
<prop k="size" v="11"/>
|
||||
<prop k="size_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="size_unit" v="MM"/>
|
||||
<prop k="vertical_anchor_point" v="1"/>
|
||||
</layer>
|
||||
</symbol>
|
||||
</symbols>
|
||||
<rotation/>
|
||||
<sizescale scalemethod="diameter"/>
|
||||
</renderer-v2>
|
||||
<labeling type="simple"/>
|
||||
<customproperties>
|
||||
<property key="embeddedWidgets/count" value="0"/>
|
||||
<property key="variableNames"/>
|
||||
<property key="variableValues"/>
|
||||
</customproperties>
|
||||
<blendMode>0</blendMode>
|
||||
<featureBlendMode>0</featureBlendMode>
|
||||
<layerTransparency>0</layerTransparency>
|
||||
<displayfield>Class</displayfield>
|
||||
<label>0</label>
|
||||
<labelattributes>
|
||||
@ -81,13 +122,84 @@
|
||||
<multilineenabled fieldname="" on=""/>
|
||||
<selectedonly on=""/>
|
||||
</labelattributes>
|
||||
<edittypes>
|
||||
<edittype type="0" name="Class"/>
|
||||
<edittype type="0" name="Heading"/>
|
||||
<edittype type="0" name="Importance"/>
|
||||
</edittypes>
|
||||
<editform></editform>
|
||||
<editforminit></editforminit>
|
||||
<SingleCategoryDiagramRenderer diagramType="Histogram" sizeLegend="0" attributeLegend="1">
|
||||
<DiagramCategory penColor="#000000" labelPlacementMethod="XHeight" penWidth="0" diagramOrientation="Up" sizeScale="0,0,0,0,0,0" minimumSize="0" barWidth="5" penAlpha="255" maxScaleDenominator="1e+08" backgroundColor="#ffffff" transparency="0" width="15" scaleDependency="Area" backgroundAlpha="255" angleOffset="1440" scaleBasedVisibility="0" enabled="0" height="15" lineSizeScale="0,0,0,0,0,0" sizeType="MM" lineSizeType="MM" minScaleDenominator="1">
|
||||
<fontProperties description="Noto Sans,10,-1,5,50,0,0,0,0,0" style=""/>
|
||||
</DiagramCategory>
|
||||
<symbol alpha="1" clip_to_extent="1" type="marker" name="sizeSymbol">
|
||||
<layer pass="0" class="SimpleMarker" locked="0">
|
||||
<prop k="angle" v="0"/>
|
||||
<prop k="color" v="255,0,0,255"/>
|
||||
<prop k="horizontal_anchor_point" v="1"/>
|
||||
<prop k="joinstyle" v="bevel"/>
|
||||
<prop k="name" v="circle"/>
|
||||
<prop k="offset" v="0,0"/>
|
||||
<prop k="offset_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="offset_unit" v="MM"/>
|
||||
<prop k="outline_color" v="0,0,0,255"/>
|
||||
<prop k="outline_style" v="solid"/>
|
||||
<prop k="outline_width" v="0"/>
|
||||
<prop k="outline_width_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="outline_width_unit" v="MM"/>
|
||||
<prop k="scale_method" v="diameter"/>
|
||||
<prop k="size" v="2"/>
|
||||
<prop k="size_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="size_unit" v="MM"/>
|
||||
<prop k="vertical_anchor_point" v="1"/>
|
||||
</layer>
|
||||
</symbol>
|
||||
</SingleCategoryDiagramRenderer>
|
||||
<DiagramLayerSettings yPosColumn="-1" showColumn="-1" linePlacementFlags="10" placement="0" dist="0" xPosColumn="-1" priority="0" obstacle="0" zIndex="0" showAll="1"/>
|
||||
<annotationform></annotationform>
|
||||
<attributeactions/>
|
||||
<aliases>
|
||||
<alias field="Class" index="0" name=""/>
|
||||
<alias field="Heading" index="1" name=""/>
|
||||
<alias field="Importance" index="2" name=""/>
|
||||
<alias field="Pilots" index="3" name=""/>
|
||||
<alias field="Cabin Crew" index="4" name=""/>
|
||||
<alias field="Staff" index="5" name=""/>
|
||||
</aliases>
|
||||
<excludeAttributesWMS/>
|
||||
<excludeAttributesWFS/>
|
||||
<attributeactions default="0"/>
|
||||
<attributetableconfig actionWidgetStyle="dropDown" sortExpression="" sortOrder="0">
|
||||
<columns>
|
||||
<column width="-1" hidden="0" type="field" name="Class"/>
|
||||
<column width="-1" hidden="0" type="field" name="Heading"/>
|
||||
<column width="-1" hidden="0" type="field" name="Importance"/>
|
||||
<column width="-1" hidden="0" type="field" name="Pilots"/>
|
||||
<column width="-1" hidden="0" type="field" name="Cabin Crew"/>
|
||||
<column width="-1" hidden="0" type="field" name="Staff"/>
|
||||
<column width="-1" hidden="1" type="actions"/>
|
||||
</columns>
|
||||
</attributetableconfig>
|
||||
<editform></editform>
|
||||
<editforminit/>
|
||||
<editforminitcodesource>0</editforminitcodesource>
|
||||
<editforminitfilepath></editforminitfilepath>
|
||||
<editforminitcode><![CDATA[# -*- coding: utf-8 -*-
|
||||
"""
|
||||
QGIS forms can have a Python function that is called when the form is
|
||||
opened.
|
||||
|
||||
Use this function to add extra logic to your forms.
|
||||
|
||||
Enter the name of the function in the "Python Init function"
|
||||
field.
|
||||
An example follows:
|
||||
"""
|
||||
from qgis.PyQt.QtWidgets import QWidget
|
||||
|
||||
def my_form_open(dialog, layer, feature):
|
||||
geom = feature.geometry()
|
||||
control = dialog.findChild(QWidget, "MyLineEdit")
|
||||
]]></editforminitcode>
|
||||
<featformsuppress>0</featformsuppress>
|
||||
<editorlayout>generatedlayout</editorlayout>
|
||||
<widgets/>
|
||||
<conditionalstyles>
|
||||
<rowstyles/>
|
||||
<fieldstyles/>
|
||||
</conditionalstyles>
|
||||
<layerGeometryType>0</layerGeometryType>
|
||||
</qgis>
|
||||
|
80
tests/testdata/points_continuous_symbol.qml
vendored
80
tests/testdata/points_continuous_symbol.qml
vendored
@ -1,80 +0,0 @@
|
||||
<!DOCTYPE qgis PUBLIC 'http://mrcc.com/qgis.dtd' 'SYSTEM'>
|
||||
<qgis version="0.9.2-Ganymede" minimumScale="1" maximumScale="1e+08" hasScaleBasedVisibilityFlag="0" geometry="Point" type="vector" >
|
||||
<id>points20080103150949100</id>
|
||||
<datasource>/Users/tim/dev/cpp/qgis/tests/testdata/points.shp</datasource>
|
||||
<layername>points</layername>
|
||||
<srs>
|
||||
<spatialrefsys>
|
||||
<proj4>+proj=longlat +ellps=WGS84 +no_defs</proj4>
|
||||
<srsid>1449</srsid>
|
||||
<srid>4031</srid>
|
||||
<epsg>4031</epsg>
|
||||
<description>Unknown datum based upon the GEM 10C ellipsoid</description>
|
||||
<projectionacronym>longlat</projectionacronym>
|
||||
<ellipsoidacronym>WGS84</ellipsoidacronym>
|
||||
<geographicflag>true</geographicflag>
|
||||
</spatialrefsys>
|
||||
</srs>
|
||||
<transparencyLevelInt>255</transparencyLevelInt>
|
||||
<provider>ogr</provider>
|
||||
<encoding>System</encoding>
|
||||
<classificationattribute>Importance</classificationattribute>
|
||||
<displayfield>Class</displayfield>
|
||||
<label>0</label>
|
||||
<attributeactions/>
|
||||
<continuoussymbol>
|
||||
<classificationfield>Importance</classificationfield>
|
||||
<polygonoutline>1</polygonoutline>
|
||||
<lowestsymbol>
|
||||
<symbol>
|
||||
<lowervalue>1.000000</lowervalue>
|
||||
<uppervalue></uppervalue>
|
||||
<label></label>
|
||||
<pointsymbol>hard:circle</pointsymbol>
|
||||
<pointsize>4</pointsize>
|
||||
<rotationclassificationfield>-1</rotationclassificationfield>
|
||||
<scaleclassificationfield>-1</scaleclassificationfield>
|
||||
<outlinecolor red="216" blue="30" green="210" />
|
||||
<outlinestyle>SolidLine</outlinestyle>
|
||||
<outlinewidth>0.4</outlinewidth>
|
||||
<fillcolor red="0" blue="0" green="0" />
|
||||
<fillpattern>NoBrush</fillpattern>
|
||||
<texturepath></texturepath>
|
||||
</symbol>
|
||||
</lowestsymbol>
|
||||
<highestsymbol>
|
||||
<symbol>
|
||||
<lowervalue>20.000000</lowervalue>
|
||||
<uppervalue></uppervalue>
|
||||
<label></label>
|
||||
<pointsymbol>hard:circle</pointsymbol>
|
||||
<pointsize>4</pointsize>
|
||||
<rotationclassificationfield>-1</rotationclassificationfield>
|
||||
<scaleclassificationfield>-1</scaleclassificationfield>
|
||||
<outlinecolor red="46" blue="206" green="43" />
|
||||
<outlinestyle>SolidLine</outlinestyle>
|
||||
<outlinewidth>0.4</outlinewidth>
|
||||
<fillcolor red="0" blue="0" green="0" />
|
||||
<fillpattern>NoBrush</fillpattern>
|
||||
<texturepath></texturepath>
|
||||
</symbol>
|
||||
</highestsymbol>
|
||||
</continuoussymbol>
|
||||
<labelattributes>
|
||||
<label field="" text="Label" />
|
||||
<family field="" name="Lucida Grande" />
|
||||
<size field="" units="pt" value="12" />
|
||||
<bold field="" on="0" />
|
||||
<italic field="" on="0" />
|
||||
<underline field="" on="0" />
|
||||
<color field="" red="0" blue="0" green="0" />
|
||||
<x field="" />
|
||||
<y field="" />
|
||||
<offset x="0" y="0" yfield="-1" xfield="-1" units="pt" />
|
||||
<angle field="" value="0" />
|
||||
<alignment field="-1" value="center" />
|
||||
<buffercolor field="" red="255" blue="255" green="255" />
|
||||
<buffersize field="" units="pt" value="1" />
|
||||
<bufferenabled field="" on="" />
|
||||
</labelattributes>
|
||||
</qgis>
|
294
tests/testdata/points_graduated_symbol.qml
vendored
294
tests/testdata/points_graduated_symbol.qml
vendored
@ -1,91 +1,213 @@
|
||||
<!DOCTYPE qgis PUBLIC 'http://mrcc.com/qgis.dtd' 'SYSTEM'>
|
||||
<qgis version="0.9.2-Ganymede" minimumScale="1" maximumScale="1e+08" hasScaleBasedVisibilityFlag="0" geometry="Point" type="vector" >
|
||||
<id>points20080103150949100</id>
|
||||
<datasource>/Users/tim/dev/cpp/qgis/tests/testdata/points.shp</datasource>
|
||||
<layername>points</layername>
|
||||
<srs>
|
||||
<spatialrefsys>
|
||||
<proj4>+proj=longlat +ellps=WGS84 +no_defs</proj4>
|
||||
<srsid>1449</srsid>
|
||||
<srid>4031</srid>
|
||||
<epsg>4031</epsg>
|
||||
<description>Unknown datum based upon the GEM 10C ellipsoid</description>
|
||||
<projectionacronym>longlat</projectionacronym>
|
||||
<ellipsoidacronym>WGS84</ellipsoidacronym>
|
||||
<geographicflag>true</geographicflag>
|
||||
</spatialrefsys>
|
||||
</srs>
|
||||
<transparencyLevelInt>255</transparencyLevelInt>
|
||||
<provider>ogr</provider>
|
||||
<encoding>System</encoding>
|
||||
<classificationattribute>Heading</classificationattribute>
|
||||
<classificationattribute>Importance</classificationattribute>
|
||||
<displayfield>Class</displayfield>
|
||||
<label>0</label>
|
||||
<attributeactions/>
|
||||
<graduatedsymbol>
|
||||
<classificationfield>Importance</classificationfield>
|
||||
<symbol>
|
||||
<lowervalue>0.999</lowervalue>
|
||||
<uppervalue>7.333</uppervalue>
|
||||
<label></label>
|
||||
<pointsymbol>hard:circle</pointsymbol>
|
||||
<pointsize>4</pointsize>
|
||||
<rotationclassificationfield>1</rotationclassificationfield>
|
||||
<scaleclassificationfield>2</scaleclassificationfield>
|
||||
<outlinecolor red="0" blue="0" green="0" />
|
||||
<outlinestyle>SolidLine</outlinestyle>
|
||||
<outlinewidth>0.4</outlinewidth>
|
||||
<fillcolor red="0" blue="0" green="255" />
|
||||
<fillpattern>SolidPattern</fillpattern>
|
||||
<texturepath></texturepath>
|
||||
<qgis version="2.18.0" simplifyAlgorithm="0" minimumScale="1" maximumScale="1e+08" simplifyDrawingHints="0" minLabelScale="1" maxLabelScale="1e+08" simplifyDrawingTol="1" simplifyMaxScale="1" hasScaleBasedVisibilityFlag="0" simplifyLocal="1" scaleBasedLabelVisibilityFlag="0">
|
||||
<edittypes>
|
||||
<edittype widgetv2type="TextEdit" name="Class">
|
||||
<widgetv2config IsMultiline="0" fieldEditable="1" constraint="" UseHtml="0" labelOnTop="0" constraintDescription="" notNull="0"/>
|
||||
</edittype>
|
||||
<edittype widgetv2type="TextEdit" name="Heading">
|
||||
<widgetv2config IsMultiline="0" fieldEditable="1" constraint="" UseHtml="0" labelOnTop="0" constraintDescription="" notNull="0"/>
|
||||
</edittype>
|
||||
<edittype widgetv2type="TextEdit" name="Importance">
|
||||
<widgetv2config IsMultiline="0" fieldEditable="1" constraint="" UseHtml="0" labelOnTop="0" constraintDescription="" notNull="0"/>
|
||||
</edittype>
|
||||
<edittype widgetv2type="TextEdit" name="Pilots">
|
||||
<widgetv2config IsMultiline="0" fieldEditable="1" constraint="" UseHtml="0" labelOnTop="0" constraintDescription="" notNull="0"/>
|
||||
</edittype>
|
||||
<edittype widgetv2type="TextEdit" name="Cabin Crew">
|
||||
<widgetv2config IsMultiline="0" fieldEditable="1" constraint="" UseHtml="0" labelOnTop="0" constraintDescription="" notNull="0"/>
|
||||
</edittype>
|
||||
<edittype widgetv2type="TextEdit" name="Staff">
|
||||
<widgetv2config IsMultiline="0" fieldEditable="1" constraint="" UseHtml="0" labelOnTop="0" constraintDescription="" notNull="0"/>
|
||||
</edittype>
|
||||
</edittypes>
|
||||
<renderer-v2 attr="Importance" forceraster="0" symbollevels="0" type="graduatedSymbol" graduatedMethod="GraduatedColor" enableorderby="0">
|
||||
<ranges>
|
||||
<range render="true" symbol="0" lower="0.999000000000000" upper="7.333000000000000" label="0.999 - 7.333"/>
|
||||
<range render="true" symbol="1" lower="7.333000000000000" upper="13.667000000000000" label="7.333 - 13.667"/>
|
||||
<range render="true" symbol="2" lower="13.667000000000000" upper="20.001000000000001" label="13.667 - 20.001"/>
|
||||
</ranges>
|
||||
<symbols>
|
||||
<symbol alpha="1" clip_to_extent="1" type="marker" name="0">
|
||||
<layer pass="0" class="SimpleMarker" locked="0">
|
||||
<prop k="angle" v="0"/>
|
||||
<prop k="color" v="0,255,0,255"/>
|
||||
<prop k="horizontal_anchor_point" v="1"/>
|
||||
<prop k="joinstyle" v="bevel"/>
|
||||
<prop k="name" v="circle"/>
|
||||
<prop k="offset" v="0,0"/>
|
||||
<prop k="offset_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="offset_unit" v="MM"/>
|
||||
<prop k="outline_color" v="0,0,0,255"/>
|
||||
<prop k="outline_style" v="solid"/>
|
||||
<prop k="outline_width" v="0"/>
|
||||
<prop k="outline_width_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="outline_width_unit" v="MM"/>
|
||||
<prop k="scale_method" v="diameter"/>
|
||||
<prop k="size" v="4"/>
|
||||
<prop k="size_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="size_unit" v="MM"/>
|
||||
<prop k="vertical_anchor_point" v="1"/>
|
||||
</layer>
|
||||
</symbol>
|
||||
<symbol>
|
||||
<lowervalue>7.333</lowervalue>
|
||||
<uppervalue>13.667</uppervalue>
|
||||
<label></label>
|
||||
<pointsymbol>hard:rectangle</pointsymbol>
|
||||
<pointsize>7</pointsize>
|
||||
<rotationclassificationfield>1</rotationclassificationfield>
|
||||
<scaleclassificationfield>2</scaleclassificationfield>
|
||||
<outlinecolor red="0" blue="0" green="0" />
|
||||
<outlinestyle>SolidLine</outlinestyle>
|
||||
<outlinewidth>0.4</outlinewidth>
|
||||
<fillcolor red="169" blue="108" green="102" />
|
||||
<fillpattern>SolidPattern</fillpattern>
|
||||
<texturepath></texturepath>
|
||||
<symbol alpha="1" clip_to_extent="1" type="marker" name="1">
|
||||
<layer pass="0" class="SimpleMarker" locked="0">
|
||||
<prop k="angle" v="0"/>
|
||||
<prop k="color" v="169,102,108,255"/>
|
||||
<prop k="horizontal_anchor_point" v="1"/>
|
||||
<prop k="joinstyle" v="bevel"/>
|
||||
<prop k="name" v="square"/>
|
||||
<prop k="offset" v="0,0"/>
|
||||
<prop k="offset_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="offset_unit" v="MM"/>
|
||||
<prop k="outline_color" v="0,0,0,255"/>
|
||||
<prop k="outline_style" v="solid"/>
|
||||
<prop k="outline_width" v="0"/>
|
||||
<prop k="outline_width_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="outline_width_unit" v="MM"/>
|
||||
<prop k="scale_method" v="diameter"/>
|
||||
<prop k="size" v="7"/>
|
||||
<prop k="size_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="size_unit" v="MM"/>
|
||||
<prop k="vertical_anchor_point" v="1"/>
|
||||
</layer>
|
||||
</symbol>
|
||||
<symbol>
|
||||
<lowervalue>13.667</lowervalue>
|
||||
<uppervalue>20.001</uppervalue>
|
||||
<label></label>
|
||||
<pointsymbol>hard:star</pointsymbol>
|
||||
<pointsize>9</pointsize>
|
||||
<rotationclassificationfield>1</rotationclassificationfield>
|
||||
<scaleclassificationfield>2</scaleclassificationfield>
|
||||
<outlinecolor red="0" blue="0" green="0" />
|
||||
<outlinestyle>SolidLine</outlinestyle>
|
||||
<outlinewidth>0.4</outlinewidth>
|
||||
<fillcolor red="0" blue="171" green="84" />
|
||||
<fillpattern>SolidPattern</fillpattern>
|
||||
<texturepath></texturepath>
|
||||
<symbol alpha="1" clip_to_extent="1" type="marker" name="2">
|
||||
<layer pass="0" class="SimpleMarker" locked="0">
|
||||
<prop k="angle" v="0"/>
|
||||
<prop k="color" v="0,84,171,255"/>
|
||||
<prop k="horizontal_anchor_point" v="1"/>
|
||||
<prop k="joinstyle" v="bevel"/>
|
||||
<prop k="name" v="star"/>
|
||||
<prop k="offset" v="0,0"/>
|
||||
<prop k="offset_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="offset_unit" v="MM"/>
|
||||
<prop k="outline_color" v="0,0,0,255"/>
|
||||
<prop k="outline_style" v="solid"/>
|
||||
<prop k="outline_width" v="0"/>
|
||||
<prop k="outline_width_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="outline_width_unit" v="MM"/>
|
||||
<prop k="scale_method" v="diameter"/>
|
||||
<prop k="size" v="9"/>
|
||||
<prop k="size_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="size_unit" v="MM"/>
|
||||
<prop k="vertical_anchor_point" v="1"/>
|
||||
</layer>
|
||||
</symbol>
|
||||
</graduatedsymbol>
|
||||
<labelattributes>
|
||||
<label field="" text="Label" />
|
||||
<family field="" name="Lucida Grande" />
|
||||
<size field="" units="pt" value="12" />
|
||||
<bold field="" on="0" />
|
||||
<italic field="" on="0" />
|
||||
<underline field="" on="0" />
|
||||
<color field="" red="0" blue="0" green="0" />
|
||||
<x field="" />
|
||||
<y field="" />
|
||||
<offset x="0" y="0" yfield="-1" xfield="-1" units="pt" />
|
||||
<angle field="" value="0" />
|
||||
<alignment field="-1" value="center" />
|
||||
<buffercolor field="" red="255" blue="255" green="255" />
|
||||
<buffersize field="" units="pt" value="1" />
|
||||
<bufferenabled field="" on="" />
|
||||
</labelattributes>
|
||||
</symbols>
|
||||
<mode name="equal"/>
|
||||
<rotation/>
|
||||
<sizescale scalemethod="diameter"/>
|
||||
<labelformat format=" %1 - %2 " trimtrailingzeroes="false" decimalplaces="4"/>
|
||||
</renderer-v2>
|
||||
<labeling type="simple"/>
|
||||
<customproperties>
|
||||
<property key="embeddedWidgets/count" value="0"/>
|
||||
<property key="variableNames"/>
|
||||
<property key="variableValues"/>
|
||||
</customproperties>
|
||||
<blendMode>0</blendMode>
|
||||
<featureBlendMode>0</featureBlendMode>
|
||||
<layerTransparency>0</layerTransparency>
|
||||
<displayfield>Class</displayfield>
|
||||
<label>0</label>
|
||||
<labelattributes>
|
||||
<label fieldname="" text="Label"/>
|
||||
<family fieldname="" name="Lucida Grande"/>
|
||||
<size fieldname="" units="pt" value="12"/>
|
||||
<bold fieldname="" on="0"/>
|
||||
<italic fieldname="" on="0"/>
|
||||
<underline fieldname="" on="0"/>
|
||||
<strikeout fieldname="" on="0"/>
|
||||
<color fieldname="" red="0" blue="0" green="0"/>
|
||||
<x fieldname=""/>
|
||||
<y fieldname=""/>
|
||||
<offset x="0" y="0" units="pt" yfieldname="" xfieldname=""/>
|
||||
<angle fieldname="" value="0" auto="0"/>
|
||||
<alignment fieldname="" value="center"/>
|
||||
<buffercolor fieldname="" red="255" blue="255" green="255"/>
|
||||
<buffersize fieldname="" units="pt" value="1"/>
|
||||
<bufferenabled fieldname="" on=""/>
|
||||
<multilineenabled fieldname="" on=""/>
|
||||
<selectedonly on=""/>
|
||||
</labelattributes>
|
||||
<SingleCategoryDiagramRenderer diagramType="Histogram" sizeLegend="0" attributeLegend="1">
|
||||
<DiagramCategory penColor="#000000" labelPlacementMethod="XHeight" penWidth="0" diagramOrientation="Up" sizeScale="0,0,0,0,0,0" minimumSize="0" barWidth="5" penAlpha="255" maxScaleDenominator="1e+08" backgroundColor="#ffffff" transparency="0" width="15" scaleDependency="Area" backgroundAlpha="255" angleOffset="1440" scaleBasedVisibility="0" enabled="0" height="15" lineSizeScale="0,0,0,0,0,0" sizeType="MM" lineSizeType="MM" minScaleDenominator="1">
|
||||
<fontProperties description="Noto Sans,10,-1,5,50,0,0,0,0,0" style=""/>
|
||||
</DiagramCategory>
|
||||
<symbol alpha="1" clip_to_extent="1" type="marker" name="sizeSymbol">
|
||||
<layer pass="0" class="SimpleMarker" locked="0">
|
||||
<prop k="angle" v="0"/>
|
||||
<prop k="color" v="255,0,0,255"/>
|
||||
<prop k="horizontal_anchor_point" v="1"/>
|
||||
<prop k="joinstyle" v="bevel"/>
|
||||
<prop k="name" v="circle"/>
|
||||
<prop k="offset" v="0,0"/>
|
||||
<prop k="offset_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="offset_unit" v="MM"/>
|
||||
<prop k="outline_color" v="0,0,0,255"/>
|
||||
<prop k="outline_style" v="solid"/>
|
||||
<prop k="outline_width" v="0"/>
|
||||
<prop k="outline_width_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="outline_width_unit" v="MM"/>
|
||||
<prop k="scale_method" v="diameter"/>
|
||||
<prop k="size" v="2"/>
|
||||
<prop k="size_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="size_unit" v="MM"/>
|
||||
<prop k="vertical_anchor_point" v="1"/>
|
||||
</layer>
|
||||
</symbol>
|
||||
</SingleCategoryDiagramRenderer>
|
||||
<DiagramLayerSettings yPosColumn="-1" showColumn="-1" linePlacementFlags="10" placement="0" dist="0" xPosColumn="-1" priority="0" obstacle="0" zIndex="0" showAll="1"/>
|
||||
<annotationform></annotationform>
|
||||
<aliases>
|
||||
<alias field="Class" index="0" name=""/>
|
||||
<alias field="Heading" index="1" name=""/>
|
||||
<alias field="Importance" index="2" name=""/>
|
||||
<alias field="Pilots" index="3" name=""/>
|
||||
<alias field="Cabin Crew" index="4" name=""/>
|
||||
<alias field="Staff" index="5" name=""/>
|
||||
</aliases>
|
||||
<excludeAttributesWMS/>
|
||||
<excludeAttributesWFS/>
|
||||
<attributeactions default="-1"/>
|
||||
<attributetableconfig actionWidgetStyle="dropDown" sortExpression="" sortOrder="0">
|
||||
<columns>
|
||||
<column width="-1" hidden="0" type="field" name="Class"/>
|
||||
<column width="-1" hidden="0" type="field" name="Heading"/>
|
||||
<column width="-1" hidden="0" type="field" name="Importance"/>
|
||||
<column width="-1" hidden="0" type="field" name="Pilots"/>
|
||||
<column width="-1" hidden="0" type="field" name="Cabin Crew"/>
|
||||
<column width="-1" hidden="0" type="field" name="Staff"/>
|
||||
<column width="-1" hidden="1" type="actions"/>
|
||||
</columns>
|
||||
</attributetableconfig>
|
||||
<editform></editform>
|
||||
<editforminit/>
|
||||
<editforminitcodesource>0</editforminitcodesource>
|
||||
<editforminitfilepath></editforminitfilepath>
|
||||
<editforminitcode><![CDATA[# -*- coding: utf-8 -*-
|
||||
"""
|
||||
QGIS forms can have a Python function that is called when the form is
|
||||
opened.
|
||||
|
||||
Use this function to add extra logic to your forms.
|
||||
|
||||
Enter the name of the function in the "Python Init function"
|
||||
field.
|
||||
An example follows:
|
||||
"""
|
||||
from qgis.PyQt.QtWidgets import QWidget
|
||||
|
||||
def my_form_open(dialog, layer, feature):
|
||||
geom = feature.geometry()
|
||||
control = dialog.findChild(QWidget, "MyLineEdit")
|
||||
]]></editforminitcode>
|
||||
<featformsuppress>0</featformsuppress>
|
||||
<editorlayout>generatedlayout</editorlayout>
|
||||
<widgets/>
|
||||
<conditionalstyles>
|
||||
<rowstyles/>
|
||||
<fieldstyles/>
|
||||
</conditionalstyles>
|
||||
<layerGeometryType>0</layerGeometryType>
|
||||
</qgis>
|
||||
|
92
tests/testdata/points_uniquevalue_symbol.qml
vendored
92
tests/testdata/points_uniquevalue_symbol.qml
vendored
@ -1,92 +0,0 @@
|
||||
<!DOCTYPE qgis PUBLIC 'http://mrcc.com/qgis.dtd' 'SYSTEM'>
|
||||
<qgis version="0.9.2-Ganymede" minimumScale="1" maximumScale="1e+08" hasScaleBasedVisibilityFlag="0" geometry="Point" type="vector" >
|
||||
<id>points20080103150949100</id>
|
||||
<datasource>/Users/tim/dev/cpp/qgis/tests/testdata/points.shp</datasource>
|
||||
<layername>points</layername>
|
||||
<srs>
|
||||
<spatialrefsys>
|
||||
<proj4>+proj=longlat +ellps=WGS84 +no_defs</proj4>
|
||||
<srsid>1449</srsid>
|
||||
<srid>4031</srid>
|
||||
<epsg>4031</epsg>
|
||||
<description>Unknown datum based upon the GEM 10C ellipsoid</description>
|
||||
<projectionacronym>longlat</projectionacronym>
|
||||
<ellipsoidacronym>WGS84</ellipsoidacronym>
|
||||
<geographicflag>false</geographicflag>
|
||||
</spatialrefsys>
|
||||
</srs>
|
||||
<transparencyLevelInt>255</transparencyLevelInt>
|
||||
<provider>ogr</provider>
|
||||
<encoding>System</encoding>
|
||||
<classificationattribute>Heading</classificationattribute>
|
||||
<classificationattribute>Importance</classificationattribute>
|
||||
<classificationattribute>Class</classificationattribute>
|
||||
<displayfield>Class</displayfield>
|
||||
<label>0</label>
|
||||
<attributeactions/>
|
||||
<uniquevalue>
|
||||
<classificationfield>Class</classificationfield>
|
||||
<symbol>
|
||||
<lowervalue>B52</lowervalue>
|
||||
<uppervalue></uppervalue>
|
||||
<label></label>
|
||||
<pointsymbol>svg:/gpsicons/plane.svg</pointsymbol>
|
||||
<pointsize>6</pointsize>
|
||||
<rotationclassificationfield>1</rotationclassificationfield>
|
||||
<scaleclassificationfield>2</scaleclassificationfield>
|
||||
<outlinecolor red="0" blue="0" green="0" />
|
||||
<outlinestyle>SolidLine</outlinestyle>
|
||||
<outlinewidth>0.4</outlinewidth>
|
||||
<fillcolor red="231" blue="132" green="129" />
|
||||
<fillpattern>SolidPattern</fillpattern>
|
||||
<texturepath></texturepath>
|
||||
</symbol>
|
||||
<symbol>
|
||||
<lowervalue>Biplane</lowervalue>
|
||||
<uppervalue></uppervalue>
|
||||
<label></label>
|
||||
<pointsymbol>svg:/gpsicons/plane_orange.svg</pointsymbol>
|
||||
<pointsize>5</pointsize>
|
||||
<rotationclassificationfield>1</rotationclassificationfield>
|
||||
<scaleclassificationfield>2</scaleclassificationfield>
|
||||
<outlinecolor red="0" blue="0" green="0" />
|
||||
<outlinestyle>SolidLine</outlinestyle>
|
||||
<outlinewidth>0.4</outlinewidth>
|
||||
<fillcolor red="82" blue="126" green="252" />
|
||||
<fillpattern>SolidPattern</fillpattern>
|
||||
<texturepath></texturepath>
|
||||
</symbol>
|
||||
<symbol>
|
||||
<lowervalue>Jet</lowervalue>
|
||||
<uppervalue></uppervalue>
|
||||
<label></label>
|
||||
<pointsymbol>svg:/gpsicons/plane.svg</pointsymbol>
|
||||
<pointsize>5</pointsize>
|
||||
<rotationclassificationfield>1</rotationclassificationfield>
|
||||
<scaleclassificationfield>2</scaleclassificationfield>
|
||||
<outlinecolor red="0" blue="0" green="0" />
|
||||
<outlinestyle>SolidLine</outlinestyle>
|
||||
<outlinewidth>0.4</outlinewidth>
|
||||
<fillcolor red="68" blue="242" green="24" />
|
||||
<fillpattern>SolidPattern</fillpattern>
|
||||
<texturepath></texturepath>
|
||||
</symbol>
|
||||
</uniquevalue>
|
||||
<labelattributes>
|
||||
<label field="" text="Label" />
|
||||
<family field="" name="Lucida Grande" />
|
||||
<size field="" units="pt" value="12" />
|
||||
<bold field="" on="0" />
|
||||
<italic field="" on="0" />
|
||||
<underline field="" on="0" />
|
||||
<color field="" red="0" blue="0" green="0" />
|
||||
<x field="" />
|
||||
<y field="" />
|
||||
<offset x="0" y="0" yfield="-1" xfield="-1" units="pt" />
|
||||
<angle field="" value="0" />
|
||||
<alignment field="-1" value="center" />
|
||||
<buffercolor field="" red="255" blue="255" green="255" />
|
||||
<buffersize field="" units="pt" value="1" />
|
||||
<bufferenabled field="" on="" />
|
||||
</labelattributes>
|
||||
</qgis>
|
177
tests/testdata/polys.qml
vendored
177
tests/testdata/polys.qml
vendored
@ -1,45 +1,62 @@
|
||||
<!DOCTYPE qgis PUBLIC 'http://mrcc.com/qgis.dtd' 'SYSTEM'>
|
||||
<qgis version="1.9.90-Alpha" minimumScale="1" maximumScale="1e+08" minLabelScale="1" maxLabelScale="1e+08" hasScaleBasedVisibilityFlag="0" scaleBasedLabelVisibilityFlag="0">
|
||||
<transparencyLevelInt>227</transparencyLevelInt>
|
||||
<classificationattribute>Name</classificationattribute>
|
||||
<uniquevalue>
|
||||
<classificationfield>Name</classificationfield>
|
||||
<symbol>
|
||||
<lowervalue>Dam</lowervalue>
|
||||
<uppervalue></uppervalue>
|
||||
<label>Dam</label>
|
||||
<pointsymbol>hard:circle</pointsymbol>
|
||||
<pointsize>11</pointsize>
|
||||
<pointsizeunits>pixels</pointsizeunits>
|
||||
<rotationclassificationfieldname></rotationclassificationfieldname>
|
||||
<scaleclassificationfieldname></scaleclassificationfieldname>
|
||||
<symbolfieldname></symbolfieldname>
|
||||
<outlinecolor red="159" blue="159" green="159"/>
|
||||
<outlinestyle>SolidLine</outlinestyle>
|
||||
<outlinewidth>2</outlinewidth>
|
||||
<fillcolor red="27" blue="212" green="54"/>
|
||||
<fillpattern>Dense4Pattern</fillpattern>
|
||||
<texturepath></texturepath>
|
||||
</symbol>
|
||||
<symbol>
|
||||
<lowervalue>Lake</lowervalue>
|
||||
<uppervalue></uppervalue>
|
||||
<label>Lake</label>
|
||||
<pointsymbol>hard:circle</pointsymbol>
|
||||
<pointsize>11</pointsize>
|
||||
<pointsizeunits>pixels</pointsizeunits>
|
||||
<rotationclassificationfieldname></rotationclassificationfieldname>
|
||||
<scaleclassificationfieldname></scaleclassificationfieldname>
|
||||
<symbolfieldname></symbolfieldname>
|
||||
<outlinecolor red="144" blue="144" green="144"/>
|
||||
<outlinestyle>SolidLine</outlinestyle>
|
||||
<outlinewidth>1</outlinewidth>
|
||||
<fillcolor red="110" blue="217" green="194"/>
|
||||
<fillpattern>SolidPattern</fillpattern>
|
||||
<texturepath></texturepath>
|
||||
</symbol>
|
||||
</uniquevalue>
|
||||
<customproperties/>
|
||||
<qgis version="2.18.0" simplifyAlgorithm="0" minimumScale="1" maximumScale="1e+08" simplifyDrawingHints="1" minLabelScale="1" maxLabelScale="1e+08" simplifyDrawingTol="1" simplifyMaxScale="1" hasScaleBasedVisibilityFlag="0" simplifyLocal="1" scaleBasedLabelVisibilityFlag="0">
|
||||
<edittypes>
|
||||
<edittype widgetv2type="TextEdit" name="Name">
|
||||
<widgetv2config IsMultiline="0" fieldEditable="1" constraint="" UseHtml="0" labelOnTop="0" constraintDescription="" notNull="0"/>
|
||||
</edittype>
|
||||
<edittype widgetv2type="TextEdit" name="Value">
|
||||
<widgetv2config IsMultiline="0" fieldEditable="1" constraint="" UseHtml="0" labelOnTop="0" constraintDescription="" notNull="0"/>
|
||||
</edittype>
|
||||
</edittypes>
|
||||
<renderer-v2 attr="Name" forceraster="0" symbollevels="0" type="categorizedSymbol" enableorderby="0">
|
||||
<categories>
|
||||
<category render="true" symbol="0" value="Dam" label="Dam"/>
|
||||
<category render="true" symbol="1" value="Lake" label="Lake"/>
|
||||
</categories>
|
||||
<symbols>
|
||||
<symbol alpha="1" clip_to_extent="1" type="fill" name="0">
|
||||
<layer pass="0" class="SimpleFill" locked="0">
|
||||
<prop k="border_width_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="color" v="27,54,212,255"/>
|
||||
<prop k="joinstyle" v="bevel"/>
|
||||
<prop k="offset" v="0,0"/>
|
||||
<prop k="offset_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="offset_unit" v="MM"/>
|
||||
<prop k="outline_color" v="159,159,159,255"/>
|
||||
<prop k="outline_style" v="solid"/>
|
||||
<prop k="outline_width" v="2"/>
|
||||
<prop k="outline_width_unit" v="MM"/>
|
||||
<prop k="style" v="dense4"/>
|
||||
</layer>
|
||||
</symbol>
|
||||
<symbol alpha="1" clip_to_extent="1" type="fill" name="1">
|
||||
<layer pass="0" class="SimpleFill" locked="0">
|
||||
<prop k="border_width_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="color" v="110,194,217,255"/>
|
||||
<prop k="joinstyle" v="bevel"/>
|
||||
<prop k="offset" v="0,0"/>
|
||||
<prop k="offset_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="offset_unit" v="MM"/>
|
||||
<prop k="outline_color" v="144,144,144,255"/>
|
||||
<prop k="outline_style" v="solid"/>
|
||||
<prop k="outline_width" v="1"/>
|
||||
<prop k="outline_width_unit" v="MM"/>
|
||||
<prop k="style" v="solid"/>
|
||||
</layer>
|
||||
</symbol>
|
||||
</symbols>
|
||||
<rotation/>
|
||||
<sizescale scalemethod="diameter"/>
|
||||
</renderer-v2>
|
||||
<labeling type="simple"/>
|
||||
<customproperties>
|
||||
<property key="embeddedWidgets/count" value="0"/>
|
||||
<property key="variableNames"/>
|
||||
<property key="variableValues"/>
|
||||
</customproperties>
|
||||
<blendMode>0</blendMode>
|
||||
<featureBlendMode>0</featureBlendMode>
|
||||
<layerTransparency>0</layerTransparency>
|
||||
<displayfield>Name</displayfield>
|
||||
<label>0</label>
|
||||
<labelattributes>
|
||||
@ -62,12 +79,76 @@
|
||||
<multilineenabled fieldname="" on=""/>
|
||||
<selectedonly on=""/>
|
||||
</labelattributes>
|
||||
<edittypes>
|
||||
<edittype type="0" name="Name"/>
|
||||
<edittype type="0" name="Value"/>
|
||||
</edittypes>
|
||||
<editform></editform>
|
||||
<editforminit></editforminit>
|
||||
<SingleCategoryDiagramRenderer diagramType="Histogram" sizeLegend="0" attributeLegend="1">
|
||||
<DiagramCategory penColor="#000000" labelPlacementMethod="XHeight" penWidth="0" diagramOrientation="Up" sizeScale="0,0,0,0,0,0" minimumSize="0" barWidth="5" penAlpha="255" maxScaleDenominator="1e+08" backgroundColor="#ffffff" transparency="0" width="15" scaleDependency="Area" backgroundAlpha="255" angleOffset="1440" scaleBasedVisibility="0" enabled="0" height="15" lineSizeScale="0,0,0,0,0,0" sizeType="MM" lineSizeType="MM" minScaleDenominator="1">
|
||||
<fontProperties description="Noto Sans,10,-1,5,50,0,0,0,0,0" style=""/>
|
||||
</DiagramCategory>
|
||||
<symbol alpha="1" clip_to_extent="1" type="marker" name="sizeSymbol">
|
||||
<layer pass="0" class="SimpleMarker" locked="0">
|
||||
<prop k="angle" v="0"/>
|
||||
<prop k="color" v="255,0,0,255"/>
|
||||
<prop k="horizontal_anchor_point" v="1"/>
|
||||
<prop k="joinstyle" v="bevel"/>
|
||||
<prop k="name" v="circle"/>
|
||||
<prop k="offset" v="0,0"/>
|
||||
<prop k="offset_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="offset_unit" v="MM"/>
|
||||
<prop k="outline_color" v="0,0,0,255"/>
|
||||
<prop k="outline_style" v="solid"/>
|
||||
<prop k="outline_width" v="0"/>
|
||||
<prop k="outline_width_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="outline_width_unit" v="MM"/>
|
||||
<prop k="scale_method" v="diameter"/>
|
||||
<prop k="size" v="2"/>
|
||||
<prop k="size_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="size_unit" v="MM"/>
|
||||
<prop k="vertical_anchor_point" v="1"/>
|
||||
</layer>
|
||||
</symbol>
|
||||
</SingleCategoryDiagramRenderer>
|
||||
<DiagramLayerSettings yPosColumn="-1" showColumn="-1" linePlacementFlags="10" placement="0" dist="0" xPosColumn="-1" priority="0" obstacle="0" zIndex="0" showAll="1"/>
|
||||
<annotationform></annotationform>
|
||||
<attributeactions/>
|
||||
<aliases>
|
||||
<alias field="Name" index="0" name=""/>
|
||||
<alias field="Value" index="1" name=""/>
|
||||
</aliases>
|
||||
<excludeAttributesWMS/>
|
||||
<excludeAttributesWFS/>
|
||||
<attributeactions default="-1"/>
|
||||
<attributetableconfig actionWidgetStyle="dropDown" sortExpression="" sortOrder="0">
|
||||
<columns>
|
||||
<column width="-1" hidden="0" type="field" name="Name"/>
|
||||
<column width="-1" hidden="0" type="field" name="Value"/>
|
||||
<column width="-1" hidden="1" type="actions"/>
|
||||
</columns>
|
||||
</attributetableconfig>
|
||||
<editform></editform>
|
||||
<editforminit/>
|
||||
<editforminitcodesource>0</editforminitcodesource>
|
||||
<editforminitfilepath></editforminitfilepath>
|
||||
<editforminitcode><![CDATA[# -*- coding: utf-8 -*-
|
||||
"""
|
||||
QGIS forms can have a Python function that is called when the form is
|
||||
opened.
|
||||
|
||||
Use this function to add extra logic to your forms.
|
||||
|
||||
Enter the name of the function in the "Python Init function"
|
||||
field.
|
||||
An example follows:
|
||||
"""
|
||||
from qgis.PyQt.QtWidgets import QWidget
|
||||
|
||||
def my_form_open(dialog, layer, feature):
|
||||
geom = feature.geometry()
|
||||
control = dialog.findChild(QWidget, "MyLineEdit")
|
||||
]]></editforminitcode>
|
||||
<featformsuppress>0</featformsuppress>
|
||||
<editorlayout>generatedlayout</editorlayout>
|
||||
<widgets/>
|
||||
<conditionalstyles>
|
||||
<rowstyles/>
|
||||
<fieldstyles/>
|
||||
</conditionalstyles>
|
||||
<layerGeometryType>2</layerGeometryType>
|
||||
</qgis>
|
||||
|
80
tests/testdata/polys_continuous_symbol.qml
vendored
80
tests/testdata/polys_continuous_symbol.qml
vendored
@ -1,80 +0,0 @@
|
||||
<!DOCTYPE qgis PUBLIC 'http://mrcc.com/qgis.dtd' 'SYSTEM'>
|
||||
<qgis version="0.9.2-Ganymede" minimumScale="1" maximumScale="1e+08" hasScaleBasedVisibilityFlag="0" geometry="Polygon" type="vector" >
|
||||
<id>polys20080110101725465</id>
|
||||
<datasource>/Users/timlinux/dev/cpp/qgis_qml/tests/testdata/polys.shp</datasource>
|
||||
<layername>polys</layername>
|
||||
<srs>
|
||||
<spatialrefsys>
|
||||
<proj4>+proj=longlat +ellps=WGS84 +no_defs</proj4>
|
||||
<srsid>1449</srsid>
|
||||
<srid>4031</srid>
|
||||
<epsg>4031</epsg>
|
||||
<description>Unknown datum based upon the GEM 10C ellipsoid</description>
|
||||
<projectionacronym>longlat</projectionacronym>
|
||||
<ellipsoidacronym>WGS84</ellipsoidacronym>
|
||||
<geographicflag>true</geographicflag>
|
||||
</spatialrefsys>
|
||||
</srs>
|
||||
<transparencyLevelInt>255</transparencyLevelInt>
|
||||
<provider>ogr</provider>
|
||||
<encoding>System</encoding>
|
||||
<classificationattribute>Value</classificationattribute>
|
||||
<displayfield>Name</displayfield>
|
||||
<label>0</label>
|
||||
<attributeactions/>
|
||||
<continuoussymbol>
|
||||
<classificationfield>Value</classificationfield>
|
||||
<polygonoutline>1</polygonoutline>
|
||||
<lowestsymbol>
|
||||
<symbol>
|
||||
<lowervalue>7.000000</lowervalue>
|
||||
<uppervalue></uppervalue>
|
||||
<label></label>
|
||||
<pointsymbol>hard:circle</pointsymbol>
|
||||
<pointsize>11</pointsize>
|
||||
<rotationclassificationfield>-1</rotationclassificationfield>
|
||||
<scaleclassificationfield>-1</scaleclassificationfield>
|
||||
<outlinecolor red="0" blue="0" green="0" />
|
||||
<outlinestyle>SolidLine</outlinestyle>
|
||||
<outlinewidth>0.4</outlinewidth>
|
||||
<fillcolor red="94" blue="213" green="172" />
|
||||
<fillpattern>SolidPattern</fillpattern>
|
||||
<texturepath></texturepath>
|
||||
</symbol>
|
||||
</lowestsymbol>
|
||||
<highestsymbol>
|
||||
<symbol>
|
||||
<lowervalue>20.000000</lowervalue>
|
||||
<uppervalue></uppervalue>
|
||||
<label></label>
|
||||
<pointsymbol>hard:circle</pointsymbol>
|
||||
<pointsize>11</pointsize>
|
||||
<rotationclassificationfield>-1</rotationclassificationfield>
|
||||
<scaleclassificationfield>-1</scaleclassificationfield>
|
||||
<outlinecolor red="0" blue="0" green="0" />
|
||||
<outlinestyle>SolidLine</outlinestyle>
|
||||
<outlinewidth>0.4</outlinewidth>
|
||||
<fillcolor red="59" blue="134" green="49" />
|
||||
<fillpattern>SolidPattern</fillpattern>
|
||||
<texturepath></texturepath>
|
||||
</symbol>
|
||||
</highestsymbol>
|
||||
</continuoussymbol>
|
||||
<labelattributes>
|
||||
<label field="" text="Label" />
|
||||
<family field="" name="Lucida Grande" />
|
||||
<size field="" units="pt" value="12" />
|
||||
<bold field="" on="0" />
|
||||
<italic field="" on="0" />
|
||||
<underline field="" on="0" />
|
||||
<color field="" red="0" blue="0" green="0" />
|
||||
<x field="" />
|
||||
<y field="" />
|
||||
<offset x="0" y="0" yfield="-1" xfield="-1" units="pt" />
|
||||
<angle field="" value="0" />
|
||||
<alignment field="-1" value="center" />
|
||||
<buffercolor field="" red="255" blue="255" green="255" />
|
||||
<buffersize field="" units="pt" value="1" />
|
||||
<bufferenabled field="" on="" />
|
||||
</labelattributes>
|
||||
</qgis>
|
90
tests/testdata/polys_graduated_symbol.qml
vendored
90
tests/testdata/polys_graduated_symbol.qml
vendored
@ -1,90 +0,0 @@
|
||||
<!DOCTYPE qgis PUBLIC 'http://mrcc.com/qgis.dtd' 'SYSTEM'>
|
||||
<qgis version="0.9.2-Ganymede" minimumScale="1" maximumScale="1e+08" hasScaleBasedVisibilityFlag="0" geometry="Polygon" type="vector" >
|
||||
<id>polys20080110101725465</id>
|
||||
<datasource>/Users/timlinux/dev/cpp/qgis_qml/tests/testdata/polys.shp</datasource>
|
||||
<layername>polys</layername>
|
||||
<srs>
|
||||
<spatialrefsys>
|
||||
<proj4>+proj=longlat +ellps=WGS84 +no_defs</proj4>
|
||||
<srsid>1449</srsid>
|
||||
<srid>4031</srid>
|
||||
<epsg>4031</epsg>
|
||||
<description>Unknown datum based upon the GEM 10C ellipsoid</description>
|
||||
<projectionacronym>longlat</projectionacronym>
|
||||
<ellipsoidacronym>WGS84</ellipsoidacronym>
|
||||
<geographicflag>true</geographicflag>
|
||||
</spatialrefsys>
|
||||
</srs>
|
||||
<transparencyLevelInt>255</transparencyLevelInt>
|
||||
<provider>ogr</provider>
|
||||
<encoding>System</encoding>
|
||||
<classificationattribute>Value</classificationattribute>
|
||||
<displayfield>Name</displayfield>
|
||||
<label>0</label>
|
||||
<attributeactions/>
|
||||
<graduatedsymbol>
|
||||
<classificationfield>Value</classificationfield>
|
||||
<symbol>
|
||||
<lowervalue>6.999</lowervalue>
|
||||
<uppervalue>11.333</uppervalue>
|
||||
<label>Low Pollution</label>
|
||||
<pointsymbol>hard:circle</pointsymbol>
|
||||
<pointsize>11</pointsize>
|
||||
<rotationclassificationfield>-1</rotationclassificationfield>
|
||||
<scaleclassificationfield>-1</scaleclassificationfield>
|
||||
<outlinecolor red="13" blue="166" green="110" />
|
||||
<outlinestyle>SolidLine</outlinestyle>
|
||||
<outlinewidth>0.4</outlinewidth>
|
||||
<fillcolor red="124" blue="221" green="186" />
|
||||
<fillpattern>Dense1Pattern</fillpattern>
|
||||
<texturepath></texturepath>
|
||||
</symbol>
|
||||
<symbol>
|
||||
<lowervalue>11.333</lowervalue>
|
||||
<uppervalue>15.667</uppervalue>
|
||||
<label>Medium Pollution</label>
|
||||
<pointsymbol>hard:circle</pointsymbol>
|
||||
<pointsize>11</pointsize>
|
||||
<rotationclassificationfield>-1</rotationclassificationfield>
|
||||
<scaleclassificationfield>-1</scaleclassificationfield>
|
||||
<outlinecolor red="26" blue="177" green="173" />
|
||||
<outlinestyle>SolidLine</outlinestyle>
|
||||
<outlinewidth>0.4</outlinewidth>
|
||||
<fillcolor red="95" blue="188" green="144" />
|
||||
<fillpattern>SolidPattern</fillpattern>
|
||||
<texturepath></texturepath>
|
||||
</symbol>
|
||||
<symbol>
|
||||
<lowervalue>15.667</lowervalue>
|
||||
<uppervalue>20.001</uppervalue>
|
||||
<label>High Pollution</label>
|
||||
<pointsymbol>hard:circle</pointsymbol>
|
||||
<pointsize>11</pointsize>
|
||||
<rotationclassificationfield>-1</rotationclassificationfield>
|
||||
<scaleclassificationfield>-1</scaleclassificationfield>
|
||||
<outlinecolor red="152" blue="93" green="84" />
|
||||
<outlinestyle>SolidLine</outlinestyle>
|
||||
<outlinewidth>0.4</outlinewidth>
|
||||
<fillcolor red="171" blue="136" green="130" />
|
||||
<fillpattern>SolidPattern</fillpattern>
|
||||
<texturepath></texturepath>
|
||||
</symbol>
|
||||
</graduatedsymbol>
|
||||
<labelattributes>
|
||||
<label field="" text="Label" />
|
||||
<family field="" name="Lucida Grande" />
|
||||
<size field="" units="pt" value="12" />
|
||||
<bold field="" on="0" />
|
||||
<italic field="" on="0" />
|
||||
<underline field="" on="0" />
|
||||
<color field="" red="0" blue="0" green="0" />
|
||||
<x field="" />
|
||||
<y field="" />
|
||||
<offset x="0" y="0" yfield="-1" xfield="-1" units="pt" />
|
||||
<angle field="" value="0" />
|
||||
<alignment field="-1" value="center" />
|
||||
<buffercolor field="" red="255" blue="255" green="255" />
|
||||
<buffersize field="" units="pt" value="1" />
|
||||
<bufferenabled field="" on="" />
|
||||
</labelattributes>
|
||||
</qgis>
|
188
tests/testdata/polys_single_symbol.qml
vendored
188
tests/testdata/polys_single_symbol.qml
vendored
@ -1,58 +1,136 @@
|
||||
<!DOCTYPE qgis PUBLIC 'http://mrcc.com/qgis.dtd' 'SYSTEM'>
|
||||
<qgis version="0.9.2-Ganymede" minimumScale="1" maximumScale="1e+08" hasScaleBasedVisibilityFlag="0" geometry="Polygon" type="vector" >
|
||||
<id>polys20080110101725465</id>
|
||||
<datasource>/Users/tim/dev/cpp/qgis/tests/testdata/polys.shp</datasource>
|
||||
<layername>polys</layername>
|
||||
<srs>
|
||||
<spatialrefsys>
|
||||
<proj4>+proj=longlat +ellps=WGS84 +no_defs</proj4>
|
||||
<srsid>1449</srsid>
|
||||
<srid>4031</srid>
|
||||
<epsg>4031</epsg>
|
||||
<description>Unknown datum based upon the GEM 10C ellipsoid</description>
|
||||
<projectionacronym>longlat</projectionacronym>
|
||||
<ellipsoidacronym>WGS84</ellipsoidacronym>
|
||||
<geographicflag>false</geographicflag>
|
||||
</spatialrefsys>
|
||||
</srs>
|
||||
<transparencyLevelInt>255</transparencyLevelInt>
|
||||
<provider>ogr</provider>
|
||||
<encoding>System</encoding>
|
||||
<displayfield>Name</displayfield>
|
||||
<label>0</label>
|
||||
<attributeactions/>
|
||||
<singlesymbol>
|
||||
<symbol>
|
||||
<lowervalue></lowervalue>
|
||||
<uppervalue></uppervalue>
|
||||
<label></label>
|
||||
<pointsymbol>hard:circle</pointsymbol>
|
||||
<pointsize>11</pointsize>
|
||||
<rotationclassificationfield>-1</rotationclassificationfield>
|
||||
<scaleclassificationfield>-1</scaleclassificationfield>
|
||||
<outlinecolor red="11" blue="195" green="124" />
|
||||
<outlinestyle>DashLine</outlinestyle>
|
||||
<outlinewidth>0.8</outlinewidth>
|
||||
<fillcolor red="104" blue="222" green="152" />
|
||||
<fillpattern>Dense5Pattern</fillpattern>
|
||||
<texturepath></texturepath>
|
||||
<qgis version="2.18.0" simplifyAlgorithm="0" minimumScale="1" maximumScale="1e+08" simplifyDrawingHints="1" minLabelScale="1" maxLabelScale="1e+08" simplifyDrawingTol="1" simplifyMaxScale="1" hasScaleBasedVisibilityFlag="0" simplifyLocal="1" scaleBasedLabelVisibilityFlag="0">
|
||||
<edittypes>
|
||||
<edittype widgetv2type="TextEdit" name="Name">
|
||||
<widgetv2config IsMultiline="0" fieldEditable="1" constraint="" UseHtml="0" labelOnTop="0" constraintDescription="" notNull="0"/>
|
||||
</edittype>
|
||||
<edittype widgetv2type="TextEdit" name="Value">
|
||||
<widgetv2config IsMultiline="0" fieldEditable="1" constraint="" UseHtml="0" labelOnTop="0" constraintDescription="" notNull="0"/>
|
||||
</edittype>
|
||||
</edittypes>
|
||||
<renderer-v2 forceraster="0" symbollevels="0" type="singleSymbol" enableorderby="0">
|
||||
<symbols>
|
||||
<symbol alpha="1" clip_to_extent="1" type="fill" name="0">
|
||||
<layer pass="0" class="SimpleFill" locked="0">
|
||||
<prop k="border_width_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="color" v="104,152,222,255"/>
|
||||
<prop k="joinstyle" v="bevel"/>
|
||||
<prop k="offset" v="0,0"/>
|
||||
<prop k="offset_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="offset_unit" v="MM"/>
|
||||
<prop k="outline_color" v="11,124,195,255"/>
|
||||
<prop k="outline_style" v="dash"/>
|
||||
<prop k="outline_width" v="0.8"/>
|
||||
<prop k="outline_width_unit" v="MM"/>
|
||||
<prop k="style" v="dense5"/>
|
||||
</layer>
|
||||
</symbol>
|
||||
</singlesymbol>
|
||||
<labelattributes>
|
||||
<label field="" text="Label" />
|
||||
<family field="" name="Lucida Grande" />
|
||||
<size field="" units="pt" value="12" />
|
||||
<bold field="" on="0" />
|
||||
<italic field="" on="0" />
|
||||
<underline field="" on="0" />
|
||||
<color field="" red="0" blue="0" green="0" />
|
||||
<x field="" />
|
||||
<y field="" />
|
||||
<offset x="0" y="0" yfield="-1" xfield="-1" units="pt" />
|
||||
<angle field="" value="0" />
|
||||
<alignment field="-1" value="center" />
|
||||
<buffercolor field="" red="255" blue="255" green="255" />
|
||||
<buffersize field="" units="pt" value="1" />
|
||||
<bufferenabled field="" on="" />
|
||||
</labelattributes>
|
||||
</symbols>
|
||||
<rotation/>
|
||||
<sizescale scalemethod="diameter"/>
|
||||
</renderer-v2>
|
||||
<labeling type="simple"/>
|
||||
<customproperties>
|
||||
<property key="embeddedWidgets/count" value="0"/>
|
||||
<property key="variableNames"/>
|
||||
<property key="variableValues"/>
|
||||
</customproperties>
|
||||
<blendMode>0</blendMode>
|
||||
<featureBlendMode>0</featureBlendMode>
|
||||
<layerTransparency>0</layerTransparency>
|
||||
<displayfield>Name</displayfield>
|
||||
<label>0</label>
|
||||
<labelattributes>
|
||||
<label fieldname="" text="Label"/>
|
||||
<family fieldname="" name="Lucida Grande"/>
|
||||
<size fieldname="" units="pt" value="12"/>
|
||||
<bold fieldname="" on="0"/>
|
||||
<italic fieldname="" on="0"/>
|
||||
<underline fieldname="" on="0"/>
|
||||
<strikeout fieldname="" on="0"/>
|
||||
<color fieldname="" red="0" blue="0" green="0"/>
|
||||
<x fieldname=""/>
|
||||
<y fieldname=""/>
|
||||
<offset x="0" y="0" units="pt" yfieldname="" xfieldname=""/>
|
||||
<angle fieldname="" value="0" auto="0"/>
|
||||
<alignment fieldname="" value="center"/>
|
||||
<buffercolor fieldname="" red="255" blue="255" green="255"/>
|
||||
<buffersize fieldname="" units="pt" value="1"/>
|
||||
<bufferenabled fieldname="" on=""/>
|
||||
<multilineenabled fieldname="" on=""/>
|
||||
<selectedonly on=""/>
|
||||
</labelattributes>
|
||||
<SingleCategoryDiagramRenderer diagramType="Histogram" sizeLegend="0" attributeLegend="1">
|
||||
<DiagramCategory penColor="#000000" labelPlacementMethod="XHeight" penWidth="0" diagramOrientation="Up" sizeScale="0,0,0,0,0,0" minimumSize="0" barWidth="5" penAlpha="255" maxScaleDenominator="1e+08" backgroundColor="#ffffff" transparency="0" width="15" scaleDependency="Area" backgroundAlpha="255" angleOffset="1440" scaleBasedVisibility="0" enabled="0" height="15" lineSizeScale="0,0,0,0,0,0" sizeType="MM" lineSizeType="MM" minScaleDenominator="1">
|
||||
<fontProperties description="Noto Sans,10,-1,5,50,0,0,0,0,0" style=""/>
|
||||
<attribute field="" color="#000000" label=""/>
|
||||
</DiagramCategory>
|
||||
<symbol alpha="1" clip_to_extent="1" type="marker" name="sizeSymbol">
|
||||
<layer pass="0" class="SimpleMarker" locked="0">
|
||||
<prop k="angle" v="0"/>
|
||||
<prop k="color" v="255,0,0,255"/>
|
||||
<prop k="horizontal_anchor_point" v="1"/>
|
||||
<prop k="joinstyle" v="bevel"/>
|
||||
<prop k="name" v="circle"/>
|
||||
<prop k="offset" v="0,0"/>
|
||||
<prop k="offset_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="offset_unit" v="MM"/>
|
||||
<prop k="outline_color" v="0,0,0,255"/>
|
||||
<prop k="outline_style" v="solid"/>
|
||||
<prop k="outline_width" v="0"/>
|
||||
<prop k="outline_width_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="outline_width_unit" v="MM"/>
|
||||
<prop k="scale_method" v="diameter"/>
|
||||
<prop k="size" v="2"/>
|
||||
<prop k="size_map_unit_scale" v="0,0,0,0,0,0"/>
|
||||
<prop k="size_unit" v="MM"/>
|
||||
<prop k="vertical_anchor_point" v="1"/>
|
||||
</layer>
|
||||
</symbol>
|
||||
</SingleCategoryDiagramRenderer>
|
||||
<DiagramLayerSettings yPosColumn="-1" showColumn="-1" linePlacementFlags="10" placement="0" dist="0" xPosColumn="-1" priority="0" obstacle="0" zIndex="0" showAll="1"/>
|
||||
<annotationform></annotationform>
|
||||
<aliases>
|
||||
<alias field="Name" index="0" name=""/>
|
||||
<alias field="Value" index="1" name=""/>
|
||||
</aliases>
|
||||
<excludeAttributesWMS/>
|
||||
<excludeAttributesWFS/>
|
||||
<attributeactions default="-1"/>
|
||||
<attributetableconfig actionWidgetStyle="dropDown" sortExpression="" sortOrder="0">
|
||||
<columns>
|
||||
<column width="-1" hidden="0" type="field" name="Name"/>
|
||||
<column width="-1" hidden="0" type="field" name="Value"/>
|
||||
<column width="-1" hidden="1" type="actions"/>
|
||||
</columns>
|
||||
</attributetableconfig>
|
||||
<editform></editform>
|
||||
<editforminit/>
|
||||
<editforminitcodesource>0</editforminitcodesource>
|
||||
<editforminitfilepath></editforminitfilepath>
|
||||
<editforminitcode><![CDATA[# -*- coding: utf-8 -*-
|
||||
"""
|
||||
QGIS forms can have a Python function that is called when the form is
|
||||
opened.
|
||||
|
||||
Use this function to add extra logic to your forms.
|
||||
|
||||
Enter the name of the function in the "Python Init function"
|
||||
field.
|
||||
An example follows:
|
||||
"""
|
||||
from qgis.PyQt.QtWidgets import QWidget
|
||||
|
||||
def my_form_open(dialog, layer, feature):
|
||||
geom = feature.geometry()
|
||||
control = dialog.findChild(QWidget, "MyLineEdit")
|
||||
]]></editforminitcode>
|
||||
<featformsuppress>0</featformsuppress>
|
||||
<editorlayout>generatedlayout</editorlayout>
|
||||
<widgets/>
|
||||
<conditionalstyles>
|
||||
<rowstyles/>
|
||||
<fieldstyles/>
|
||||
</conditionalstyles>
|
||||
<layerGeometryType>2</layerGeometryType>
|
||||
</qgis>
|
||||
|
73
tests/testdata/polys_uniquevalue_symbol.qml
vendored
73
tests/testdata/polys_uniquevalue_symbol.qml
vendored
@ -1,73 +0,0 @@
|
||||
<!DOCTYPE qgis PUBLIC 'http://mrcc.com/qgis.dtd' 'SYSTEM'>
|
||||
<qgis version="1.9.90-Alpha" minimumScale="1" maximumScale="1e+08" minLabelScale="1" maxLabelScale="1e+08" hasScaleBasedVisibilityFlag="0" scaleBasedLabelVisibilityFlag="0">
|
||||
<transparencyLevelInt>227</transparencyLevelInt>
|
||||
<classificationattribute>Name</classificationattribute>
|
||||
<uniquevalue>
|
||||
<classificationfield>Name</classificationfield>
|
||||
<symbol>
|
||||
<lowervalue>Dam</lowervalue>
|
||||
<uppervalue></uppervalue>
|
||||
<label>Dam</label>
|
||||
<pointsymbol>hard:circle</pointsymbol>
|
||||
<pointsize>11</pointsize>
|
||||
<pointsizeunits>pixels</pointsizeunits>
|
||||
<rotationclassificationfieldname></rotationclassificationfieldname>
|
||||
<scaleclassificationfieldname></scaleclassificationfieldname>
|
||||
<symbolfieldname></symbolfieldname>
|
||||
<outlinecolor red="159" blue="159" green="159"/>
|
||||
<outlinestyle>SolidLine</outlinestyle>
|
||||
<outlinewidth>2</outlinewidth>
|
||||
<fillcolor red="27" blue="212" green="54"/>
|
||||
<fillpattern>Dense4Pattern</fillpattern>
|
||||
<texturepath></texturepath>
|
||||
</symbol>
|
||||
<symbol>
|
||||
<lowervalue>Lake</lowervalue>
|
||||
<uppervalue></uppervalue>
|
||||
<label>Lake</label>
|
||||
<pointsymbol>hard:circle</pointsymbol>
|
||||
<pointsize>11</pointsize>
|
||||
<pointsizeunits>pixels</pointsizeunits>
|
||||
<rotationclassificationfieldname></rotationclassificationfieldname>
|
||||
<scaleclassificationfieldname></scaleclassificationfieldname>
|
||||
<symbolfieldname></symbolfieldname>
|
||||
<outlinecolor red="144" blue="144" green="144"/>
|
||||
<outlinestyle>SolidLine</outlinestyle>
|
||||
<outlinewidth>1</outlinewidth>
|
||||
<fillcolor red="110" blue="217" green="194"/>
|
||||
<fillpattern>SolidPattern</fillpattern>
|
||||
<texturepath></texturepath>
|
||||
</symbol>
|
||||
</uniquevalue>
|
||||
<customproperties/>
|
||||
<displayfield>Name</displayfield>
|
||||
<label>0</label>
|
||||
<labelattributes>
|
||||
<label fieldname="" text="Label"/>
|
||||
<family fieldname="" name="Lucida Grande"/>
|
||||
<size fieldname="" units="pt" value="12"/>
|
||||
<bold fieldname="" on="0"/>
|
||||
<italic fieldname="" on="0"/>
|
||||
<underline fieldname="" on="0"/>
|
||||
<strikeout fieldname="" on="0"/>
|
||||
<color fieldname="" red="0" blue="0" green="0"/>
|
||||
<x fieldname=""/>
|
||||
<y fieldname=""/>
|
||||
<offset x="0" y="0" units="pt" yfieldname="" xfieldname=""/>
|
||||
<angle fieldname="" value="0" auto="0"/>
|
||||
<alignment fieldname="" value="center"/>
|
||||
<buffercolor fieldname="" red="255" blue="255" green="255"/>
|
||||
<buffersize fieldname="" units="pt" value="1"/>
|
||||
<bufferenabled fieldname="" on=""/>
|
||||
<multilineenabled fieldname="" on=""/>
|
||||
<selectedonly on=""/>
|
||||
</labelattributes>
|
||||
<edittypes>
|
||||
<edittype type="0" name="Name"/>
|
||||
<edittype type="0" name="Value"/>
|
||||
</edittypes>
|
||||
<editform></editform>
|
||||
<editforminit></editforminit>
|
||||
<annotationform></annotationform>
|
||||
<attributeactions/>
|
||||
</qgis>
|
Loading…
x
Reference in New Issue
Block a user