167 ( void )silenceNullWarnings;
170 if ( variant.isNull() || !variant.isValid() )
173 switch ( variant.type() )
175 case QVariant::Invalid:
179 case QVariant::LongLong:
180 case QVariant::ULongLong:
181 case QVariant::Double:
184 case QVariant::StringList:
186 case QVariant::Locale:
187 case QVariant::RegularExpression:
189 case QVariant::EasingCurve:
190 case QVariant::ModelIndex:
191 case QVariant::PersistentModelIndex:
193 case QVariant::LastType:
198 if ( variant.toDate().isNull() )
200 if ( !silenceNullWarnings )
202 QgsDebugError( QStringLiteral(
"NULL QDateTime was stored in a QVariant -- stop it! Always use an invalid QVariant() instead." ) );
208 if ( variant.toTime().isNull() )
210 if ( !silenceNullWarnings )
212 QgsDebugError( QStringLiteral(
"NULL QTime was stored in a QVariant -- stop it! Always use an invalid QVariant() instead." ) );
217 case QVariant::DateTime:
218 if ( variant.toDate().isNull() )
220 if ( !silenceNullWarnings )
222 QgsDebugError( QStringLiteral(
"NULL QDate was stored in a QVariant -- stop it! Always use an invalid QVariant() instead." ) );
228 if ( variant.toChar().isNull() )
230 if ( !silenceNullWarnings )
232 QgsDebugError( QStringLiteral(
"NULL QChar was stored in a QVariant -- stop it! Always use an invalid QVariant() instead." ) );
237 case QVariant::String:
238 if ( variant.toString().isNull() )
240 if ( !silenceNullWarnings )
242 QgsDebugError( QStringLiteral(
"NULL QString was stored in a QVariant -- stop it! Always use an invalid QVariant() instead." ) );
247 case QVariant::ByteArray:
248 if ( variant.toByteArray().isNull() )
250 if ( !silenceNullWarnings )
252 QgsDebugError( QStringLiteral(
"NULL QByteArray was stored in a QVariant -- stop it! Always use an invalid QVariant() instead." ) );
257 case QVariant::BitArray:
258 if ( variant.toBitArray().isNull() )
260 if ( !silenceNullWarnings )
262 QgsDebugError( QStringLiteral(
"NULL QBitArray was stored in a QVariant -- stop it! Always use an invalid QVariant() instead." ) );
268 if ( variant.toRect().isNull() )
270 if ( !silenceNullWarnings )
272 QgsDebugError( QStringLiteral(
"NULL QRect was stored in a QVariant -- stop it! Always use an invalid QVariant() instead." ) );
277 case QVariant::RectF:
278 if ( variant.toRectF().isNull() )
280 if ( !silenceNullWarnings )
282 QgsDebugError( QStringLiteral(
"NULL QRectF was stored in a QVariant -- stop it! Always use an invalid QVariant() instead." ) );
288 if ( variant.toSize().isNull() )
290 if ( !silenceNullWarnings )
292 QgsDebugError( QStringLiteral(
"NULL QSize was stored in a QVariant -- stop it! Always use an invalid QVariant() instead." ) );
297 case QVariant::SizeF:
298 if ( variant.toSizeF().isNull() )
300 if ( !silenceNullWarnings )
302 QgsDebugError( QStringLiteral(
"NULL QSizeF was stored in a QVariant -- stop it! Always use an invalid QVariant() instead." ) );
308 if ( variant.toLine().isNull() )
310 if ( !silenceNullWarnings )
312 QgsDebugError( QStringLiteral(
"NULL QLine was stored in a QVariant -- stop it! Always use an invalid QVariant() instead." ) );
317 case QVariant::LineF:
318 if ( variant.toLineF().isNull() )
320 if ( !silenceNullWarnings )
322 QgsDebugError( QStringLiteral(
"NULL QLineF was stored in a QVariant -- stop it! Always use an invalid QVariant() instead." ) );
327 case QVariant::Point:
328 if ( variant.toPoint().isNull() )
330 if ( !silenceNullWarnings )
332 QgsDebugError( QStringLiteral(
"NULL QPoint was stored in a QVariant -- stop it! Always use an invalid QVariant() instead." ) );
337 case QVariant::PointF:
338 if ( variant.toPointF().isNull() )
340 if ( !silenceNullWarnings )
342 QgsDebugError( QStringLiteral(
"NULL QPointF was stored in a QVariant -- stop it! Always use an invalid QVariant() instead." ) );
348 if ( variant.toUuid().isNull() )
350 if ( !silenceNullWarnings )
352 QgsDebugError( QStringLiteral(
"NULL QUuid was stored in a QVariant -- stop it! Always use an invalid QVariant() instead." ) );
357 case QVariant::Pixmap:
358 if ( variant.value< QPixmap >().isNull() )
360 if ( !silenceNullWarnings )
362 QgsDebugError( QStringLiteral(
"NULL QPixmap was stored in a QVariant -- stop it! Always use an invalid QVariant() instead." ) );
367 case QVariant::Image:
368 if ( variant.value< QImage >().isNull() )
370 if ( !silenceNullWarnings )
372 QgsDebugError( QStringLiteral(
"NULL QImage was stored in a QVariant -- stop it! Always use an invalid QVariant() instead." ) );
377 case QVariant::Region:
378 if ( variant.value< QRegion >().isNull() )
380 if ( !silenceNullWarnings )
382 QgsDebugError( QStringLiteral(
"NULL QRegion was stored in a QVariant -- stop it! Always use an invalid QVariant() instead." ) );
387 case QVariant::Bitmap:
388 if ( variant.value< QBitmap >().isNull() )
390 if ( !silenceNullWarnings )
392 QgsDebugError( QStringLiteral(
"NULL QBitmap was stored in a QVariant -- stop it! Always use an invalid QVariant() instead." ) );
398 if ( variant.value< QIcon >().isNull() )
400 if ( !silenceNullWarnings )
402 QgsDebugError( QStringLiteral(
"NULL QIcon was stored in a QVariant -- stop it! Always use an invalid QVariant() instead." ) );
407 case QVariant::Vector2D:
408 if ( variant.value< QVector2D >().isNull() )
410 if ( !silenceNullWarnings )
412 QgsDebugError( QStringLiteral(
"NULL QVector2D was stored in a QVariant -- stop it! Always use an invalid QVariant() instead." ) );
417 case QVariant::Vector3D:
418 if ( variant.value< QVector3D >().isNull() )
420 if ( !silenceNullWarnings )
422 QgsDebugError( QStringLiteral(
"NULL QVector3D was stored in a QVariant -- stop it! Always use an invalid QVariant() instead." ) );
427 case QVariant::Vector4D:
428 if ( variant.value< QVector4D >().isNull() )
430 if ( !silenceNullWarnings )
432 QgsDebugError( QStringLiteral(
"NULL QVector4D was stored in a QVariant -- stop it! Always use an invalid QVariant() instead." ) );
437 case QVariant::Quaternion:
438 if ( variant.value< QQuaternion >().isNull() )
440 if ( !silenceNullWarnings )
442 QgsDebugError( QStringLiteral(
"NULL QQuaternion was stored in a QVariant -- stop it! Always use an invalid QVariant() instead." ) );
448 case QVariant::Color:
450 case QVariant::Brush:
451 case QVariant::Polygon:
452 case QVariant::Palette:
453 case QVariant::Cursor:
454 case QVariant::KeySequence:
456 case QVariant::TextLength:
457 case QVariant::PolygonF:
458 case QVariant::TextFormat:
459 case QVariant::Transform:
460 case QVariant::Matrix4x4:
461 case QVariant::SizePolicy:
464 case QVariant::UserType:
486 case QMetaType::Bool:
488 case QMetaType::UInt:
489 case QMetaType::LongLong:
490 case QMetaType::ULongLong:
491 case QMetaType::Double:
492 case QMetaType::QChar:
493 case QMetaType::QVariantMap:
494 case QMetaType::QVariantList:
495 case QMetaType::QString:
496 case QMetaType::QStringList:
497 case QMetaType::QByteArray:
498 case QMetaType::QBitArray:
499 case QMetaType::QDate:
500 case QMetaType::QTime:
501 case QMetaType::QDateTime:
502 case QMetaType::QUrl:
503 case QMetaType::QLocale:
504 case QMetaType::QRect:
505 case QMetaType::QRectF:
506 case QMetaType::QSize:
507 case QMetaType::QSizeF:
508 case QMetaType::QLine:
509 case QMetaType::QLineF:
510 case QMetaType::QPoint:
511 case QMetaType::QPointF:
512 case QMetaType::QRegularExpression:
513 case QMetaType::QVariantHash:
514 case QMetaType::QEasingCurve:
515 case QMetaType::QUuid:
516 case QMetaType::QModelIndex:
517 case QMetaType::QPersistentModelIndex:
518 case QMetaType::QFont:
519 case QMetaType::QPixmap:
520 case QMetaType::QBrush:
521 case QMetaType::QColor:
522 case QMetaType::QPalette:
523 case QMetaType::QImage:
524 case QMetaType::QPolygon:
525 case QMetaType::QRegion:
526 case QMetaType::QBitmap:
527 case QMetaType::QCursor:
528 case QMetaType::QKeySequence:
529 case QMetaType::QPen:
530 case QMetaType::QTextLength:
531 case QMetaType::QTextFormat:
532 case QMetaType::QTransform:
533 case QMetaType::QMatrix4x4:
534 case QMetaType::QVector2D:
535 case QMetaType::QVector3D:
536 case QMetaType::QVector4D:
537 case QMetaType::QQuaternion:
538 case QMetaType::QPolygonF:
539 case QMetaType::QIcon:
540 case QMetaType::QSizePolicy:
541 case QMetaType::UnknownType:
542 case QMetaType::User:
543 return static_cast< QVariant::Type
>( metaType );
547 case QMetaType::Long:
548 return QVariant::Type::LongLong;
550 case QMetaType::ULong:
551 return QVariant::Type::ULongLong;
553 case QMetaType::Char:
554#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
555 case QMetaType::Char16:
556 case QMetaType::Char32:
558 case QMetaType::Short:
559 case QMetaType::SChar:
560 return QVariant::Type::Int;
562 case QMetaType::UShort:
563 case QMetaType::UChar:
564 return QVariant::Type::UInt;
566 case QMetaType::Float:
567#if QT_VERSION >= QT_VERSION_CHECK(6, 5, 0)
568 case QMetaType::Float16:
570 return QVariant::Type::Double;
573 case QMetaType::Nullptr:
574 case QMetaType::QCborSimpleType:
575 case QMetaType::Void:
576 case QMetaType::VoidStar:
577 case QMetaType::QVariant:
578 case QMetaType::QJsonValue:
579 case QMetaType::QJsonObject:
580 case QMetaType::QJsonArray:
581 case QMetaType::QJsonDocument:
582 case QMetaType::QCborValue:
583 case QMetaType::QCborArray:
584 case QMetaType::QCborMap:
585 case QMetaType::QObjectStar:
586#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
587 case QMetaType::QVariantPair:
589 case QMetaType::QByteArrayList:
590 case QMetaType::QColorSpace:
597 return QVariant::Type::UserType;