@@ -280,65 +280,62 @@ void QgsHighlight::paint( QPainter* p )
280280 p->setPen ( mPen );
281281 p->setBrush ( mBrush );
282282
283- switch ( mGeometry ->wkbType () )
283+ switch ( mGeometry ->type () )
284284 {
285- case QGis::WKBPoint:
286- case QGis::WKBPoint25D:
285+ case QGis::PointGeometry:
287286 {
288- paintPoint ( p, mGeometry ->asPoint () );
289- }
290- break ;
291-
292- case QGis::WKBMultiPoint:
293- case QGis::WKBMultiPoint25D:
294- {
295- QgsMultiPoint m = mGeometry ->asMultiPoint ();
296- for ( int i = 0 ; i < m.size (); i++ )
287+ if ( !mGeometry ->isMultipart () )
297288 {
298- paintPoint ( p, m[i] );
289+ paintPoint ( p, mGeometry ->asPoint () );
290+ }
291+ else
292+ {
293+ QgsMultiPoint m = mGeometry ->asMultiPoint ();
294+ for ( int i = 0 ; i < m.size (); i++ )
295+ {
296+ paintPoint ( p, m[i] );
297+ }
299298 }
300299 }
301300 break ;
302301
303- case QGis::WKBLineString:
304- case QGis::WKBLineString25D:
305- {
306- paintLine ( p, mGeometry ->asPolyline () );
307- }
308- break ;
309-
310- case QGis::WKBMultiLineString:
311- case QGis::WKBMultiLineString25D:
302+ case QGis::LineGeometry:
312303 {
313- QgsMultiPolyline m = mGeometry ->asMultiPolyline ();
314-
315- for ( int i = 0 ; i < m.size (); i++ )
304+ if ( !mGeometry ->isMultipart () )
316305 {
317- paintLine ( p, m[i] );
306+ paintLine ( p, mGeometry -> asPolyline () );
318307 }
319- }
320- break ;
308+ else
309+ {
310+ QgsMultiPolyline m = mGeometry ->asMultiPolyline ();
321311
322- case QGis::WKBPolygon:
323- case QGis::WKBPolygon25D:
324- {
325- paintPolygon ( p, mGeometry ->asPolygon () );
312+ for ( int i = 0 ; i < m.size (); i++ )
313+ {
314+ paintLine ( p, m[i] );
315+ }
316+ }
317+ break ;
326318 }
327- break ;
328319
329- case QGis::WKBMultiPolygon:
330- case QGis::WKBMultiPolygon25D:
320+ case QGis::PolygonGeometry:
331321 {
332- QgsMultiPolygon m = mGeometry ->asMultiPolygon ();
333- for ( int i = 0 ; i < m.size (); i++ )
322+ if ( !mGeometry ->isMultipart () )
323+ {
324+ paintPolygon ( p, mGeometry ->asPolygon () );
325+ }
326+ else
334327 {
335- paintPolygon ( p, m[i] );
328+ QgsMultiPolygon m = mGeometry ->asMultiPolygon ();
329+ for ( int i = 0 ; i < m.size (); i++ )
330+ {
331+ paintPolygon ( p, m[i] );
332+ }
336333 }
334+ break ;
337335 }
338- break ;
339336
340- case QGis::WKBUnknown :
341- default :
337+ case QGis::UnknownGeometry :
338+ case QGis::NullGeometry :
342339 return ;
343340 }
344341 }
0 commit comments