make QskTickmarksMetrics QVariant compatible

This commit is contained in:
Rick Vogel 2023-11-07 20:08:01 +01:00
parent 9419a32ab1
commit 4d885358f8
2 changed files with 41 additions and 7 deletions

View File

@ -1,16 +1,40 @@
#include "QskTickmarksMetrics.h"
constexpr bool test_ctor0()
#include <QVariant>
static void qskRegisterTickmarksMetrics()
{
return QskTickmarksMetrics{} == QskTickmarksMetrics{0,0,0};
qRegisterMetaType< QskTickmarksMetrics >();
#if QT_VERSION < QT_VERSION_CHECK( 6, 0, 0 )
QMetaType::registerEqualsComparator< QskTickmarksMetrics >();
#endif
}
static_assert(test_ctor0(), "test failed!");
Q_CONSTRUCTOR_FUNCTION( qskRegisterTickmarksMetrics )
constexpr bool test_ctor1()
#ifndef QT_NO_DEBUG_STREAM
#include <qdebug.h>
QDebug operator<<( QDebug debug, const QskTickmarksMetrics& metrics )
{
QskTickmarksMetrics m;
return QskTickmarksMetrics{1,1,1} == QskTickmarksMetrics{2,2,2};
QDebugStateSaver saver( debug );
debug.nospace();
debug << "QskTickmarksMetrics";
debug << '(';
debug << "minor: ";
debug << metrics.minorRatio();
debug << ',';
debug << "medium: ";
debug << metrics.mediumRatio();
debug << ',';
debug << "major: ";
debug << metrics.majorRatio();
debug << ')';
return debug;
}
static_assert(test_ctor1(), "test failed!");
#endif

View File

@ -141,4 +141,14 @@ inline QskHashValue QskTickmarksMetrics::hash( const QskHashValue seed ) const n
return hash;
}
#ifndef QT_NO_DEBUG_STREAM
class QDebug;
QSK_EXPORT QDebug operator<<( QDebug, const QskTickmarksMetrics& );
#endif
Q_DECLARE_TYPEINFO( QskTickmarksMetrics, Q_MOVABLE_TYPE );
Q_DECLARE_METATYPE( QskTickmarksMetrics )
#endif