@@ -8,18 +8,52 @@ class QgsSymbolLayerV2
8
8
switch (sipCpp->type())
9
9
{
10
10
case QgsSymbolV2::Marker:
11
- if( sipCpp->layerType() == "VectorField" )
12
- {
13
- sipClass = sipClass_QgsVectorFieldSymbolLayer;
14
- }
15
- else
16
- {
11
+ if (dynamic_cast<QgsEllipseSymbolLayerV2*>(sipCpp) != NULL)
12
+ sipClass = sipClass_QgsEllipseSymbolLayerV2;
13
+ else if (dynamic_cast<QgsFontMarkerSymbolLayerV2*>(sipCpp) != NULL)
14
+ sipClass = sipClass_QgsFontMarkerSymbolLayerV2;
15
+ else if (dynamic_cast<QgsSimpleMarkerSymbolLayerV2*>(sipCpp) != NULL)
16
+ sipClass = sipClass_QgsSimpleMarkerSymbolLayerV2;
17
+ else if (dynamic_cast<QgsSvgMarkerSymbolLayerV2*>(sipCpp) != NULL)
18
+ sipClass = sipClass_QgsSvgMarkerSymbolLayerV2;
19
+ else if (dynamic_cast<QgsVectorFieldSymbolLayer*>(sipCpp) != NULL)
20
+ sipClass = sipClass_QgsVectorFieldSymbolLayer;
21
+ else
17
22
sipClass = sipClass_QgsMarkerSymbolLayerV2;
18
- }
19
23
break;
20
- case QgsSymbolV2::Line: sipClass = sipClass_QgsLineSymbolLayerV2; break;
21
- case QgsSymbolV2::Fill: sipClass = sipClass_QgsFillSymbolLayerV2; break;
22
- default: sipClass = 0; break;
24
+
25
+ case QgsSymbolV2::Line:
26
+ if (dynamic_cast<QgsLineDecorationSymbolLayerV2*>(sipCpp) != NULL)
27
+ sipClass = sipClass_QgsLineDecorationSymbolLayerV2;
28
+ else if (dynamic_cast<QgsMarkerLineSymbolLayerV2*>(sipCpp) != NULL)
29
+ sipClass = sipClass_QgsMarkerLineSymbolLayerV2;
30
+ else if (dynamic_cast<QgsSimpleLineSymbolLayerV2*>(sipCpp) != NULL)
31
+ sipClass = sipClass_QgsSimpleLineSymbolLayerV2;
32
+ else
33
+ sipClass = sipClass_QgsLineSymbolLayerV2;
34
+ break;
35
+
36
+ case QgsSymbolV2::Fill:
37
+ if (dynamic_cast<QgsSimpleFillSymbolLayerV2*>(sipCpp) != NULL)
38
+ sipClass = sipClass_QgsSimpleFillSymbolLayerV2;
39
+ else if (dynamic_cast<QgsImageFillSymbolLayer*>(sipCpp) != NULL)
40
+ if (dynamic_cast<QgsLinePatternFillSymbolLayer*>(sipCpp) != NULL)
41
+ sipClass = sipClass_QgsLinePatternFillSymbolLayer;
42
+ else if (dynamic_cast<QgsPointPatternFillSymbolLayer*>(sipCpp) != NULL)
43
+ sipClass = sipClass_QgsPointPatternFillSymbolLayer;
44
+ else if (dynamic_cast<QgsSVGFillSymbolLayer*>(sipCpp) != NULL)
45
+ sipClass = sipClass_QgsSVGFillSymbolLayer;
46
+ else
47
+ sipClass = sipClass_QgsImageFillSymbolLayer;
48
+ else if (dynamic_cast<QgsCentroidFillSymbolLayerV2*>(sipCpp) != NULL)
49
+ sipClass = sipClass_QgsCentroidFillSymbolLayerV2;
50
+ else
51
+ sipClass = sipClass_QgsFillSymbolLayerV2;
52
+ break;
53
+
54
+ default:
55
+ sipClass = 0;
56
+ break;
23
57
}
24
58
%End
25
59
0 commit comments