571 changes: 0 additions & 571 deletions src/core/symbology-ng/qgssymbologyconversion.cpp

This file was deleted.

42 changes: 0 additions & 42 deletions src/core/symbology-ng/qgssymbologyconversion.h

This file was deleted.

23 changes: 0 additions & 23 deletions tests/src/core/testqgsrenderers.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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
//
Expand Down
185 changes: 137 additions & 48 deletions tests/testdata/lines.qml
Original file line number Diff line number Diff line change
@@ -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>
Expand All @@ -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 changes: 0 additions & 80 deletions tests/testdata/lines_continuous_symbol.qml

This file was deleted.

90 changes: 0 additions & 90 deletions tests/testdata/lines_graduated_symbol.qml

This file was deleted.

191 changes: 136 additions & 55 deletions tests/testdata/lines_single_symbol.qml
Original file line number Diff line number Diff line change
@@ -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 changes: 0 additions & 75 deletions tests/testdata/lines_uniquevalue_symbol.qml

This file was deleted.

248 changes: 180 additions & 68 deletions tests/testdata/points.qml
Original file line number Diff line number Diff line change
@@ -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>
Expand All @@ -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 changes: 0 additions & 80 deletions tests/testdata/points_continuous_symbol.qml

This file was deleted.

294 changes: 208 additions & 86 deletions tests/testdata/points_graduated_symbol.qml
Original file line number Diff line number Diff line change
@@ -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 changes: 0 additions & 92 deletions tests/testdata/points_uniquevalue_symbol.qml

This file was deleted.

177 changes: 129 additions & 48 deletions tests/testdata/polys.qml
Original file line number Diff line number Diff line change
@@ -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>
Expand All @@ -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 changes: 0 additions & 80 deletions tests/testdata/polys_continuous_symbol.qml

This file was deleted.

90 changes: 0 additions & 90 deletions tests/testdata/polys_graduated_symbol.qml

This file was deleted.

188 changes: 133 additions & 55 deletions tests/testdata/polys_single_symbol.qml
Original file line number Diff line number Diff line change
@@ -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 changes: 0 additions & 73 deletions tests/testdata/polys_uniquevalue_symbol.qml

This file was deleted.