@@ -40,33 +40,9 @@ QgsVectorLayer *QgsNewMemoryLayerDialog::runAndCreateLayer( QWidget *parent )
40
40
41
41
QgsWkbTypes::Type geometrytype = dialog.selectedType ();
42
42
43
- QString geomType;
44
- switch ( geometrytype )
45
- {
46
- case QgsWkbTypes::Point:
47
- geomType = QStringLiteral ( " point" );
48
- break ;
49
- case QgsWkbTypes::LineString:
50
- geomType = QStringLiteral ( " linestring" );
51
- break ;
52
- case QgsWkbTypes::Polygon:
53
- geomType = QStringLiteral ( " polygon" );
54
- break ;
55
- case QgsWkbTypes::MultiPoint:
56
- geomType = QStringLiteral ( " multipoint" );
57
- break ;
58
- case QgsWkbTypes::MultiLineString:
59
- geomType = QStringLiteral ( " multilinestring" );
60
- break ;
61
- case QgsWkbTypes::MultiPolygon:
62
- geomType = QStringLiteral ( " multipolygon" );
63
- break ;
64
- case QgsWkbTypes::NoGeometry:
65
- geomType = QStringLiteral ( " none" );
66
- break ;
67
- default :
68
- geomType = QStringLiteral ( " point" );
69
- }
43
+ QString geomType = QgsWkbTypes::displayString (geometrytype);
44
+ if ( geomType.isNull ())
45
+ geomType = " none" ;
70
46
71
47
QString layerProperties = QStringLiteral ( " %1?" ).arg ( geomType );
72
48
if ( QgsWkbTypes::NoGeometry != geometrytype )
@@ -103,35 +79,40 @@ QgsNewMemoryLayerDialog::~QgsNewMemoryLayerDialog()
103
79
104
80
QgsWkbTypes::Type QgsNewMemoryLayerDialog::selectedType () const
105
81
{
82
+ QgsWkbTypes::Type wkbType = QgsWkbTypes::Unknown;
106
83
if ( !buttonGroupGeometry->isChecked () )
107
84
{
108
- return QgsWkbTypes::NoGeometry;
85
+ wkbType = QgsWkbTypes::NoGeometry;
109
86
}
110
87
else if ( mPointRadioButton ->isChecked () )
111
88
{
112
- return QgsWkbTypes::Point;
89
+ wkbType = QgsWkbTypes::Point;
113
90
}
114
91
else if ( mLineRadioButton ->isChecked () )
115
92
{
116
- return QgsWkbTypes::LineString;
93
+ wkbType = QgsWkbTypes::LineString;
117
94
}
118
95
else if ( mPolygonRadioButton ->isChecked () )
119
96
{
120
- return QgsWkbTypes::Polygon;
97
+ wkbType = QgsWkbTypes::Polygon;
121
98
}
122
99
else if ( mMultiPointRadioButton ->isChecked () )
123
100
{
124
- return QgsWkbTypes::MultiPoint;
101
+ wkbType = QgsWkbTypes::MultiPoint;
125
102
}
126
103
else if ( mMultiLineRadioButton ->isChecked () )
127
104
{
128
- return QgsWkbTypes::MultiLineString;
105
+ wkbType = QgsWkbTypes::MultiLineString;
129
106
}
130
107
else if ( mMultiPolygonRadioButton ->isChecked () )
131
108
{
132
- return QgsWkbTypes::MultiPolygon;
109
+ wkbType = QgsWkbTypes::MultiPolygon;
133
110
}
134
- return QgsWkbTypes::Unknown;
111
+
112
+ if (mGeometryWithZCheckBox ->isChecked () && wkbType != QgsWkbTypes::Unknown && wkbType != QgsWkbTypes::NoGeometry)
113
+ wkbType = QgsWkbTypes::to25D (wkbType);
114
+
115
+ return wkbType;
135
116
}
136
117
137
118
QgsCoordinateReferenceSystem QgsNewMemoryLayerDialog::crs () const
0 commit comments