From 9e06fbecd1440be97e827f49f4774fd083194919 Mon Sep 17 00:00:00 2001 From: Uwe Rathmann Date: Wed, 17 Apr 2019 15:37:03 +0200 Subject: [PATCH] missing export declarations added --- src/common/QskAspect.h | 3 ++- src/common/QskNamespace.h | 30 +++++++++++++++++++++++++++++- 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/src/common/QskAspect.h b/src/common/QskAspect.h index 1880b91c..fb0bfea5 100644 --- a/src/common/QskAspect.h +++ b/src/common/QskAspect.h @@ -6,6 +6,7 @@ #ifndef QSK_ASPECT_H #define QSK_ASPECT_H +#include "QskGlobal.h" #include "QskFlags.h" #include @@ -32,7 +33,7 @@ QSK_NAMESPACE( QskAspect ) { - extern const QMetaObject staticMetaObject; + extern QSK_EXPORT const QMetaObject staticMetaObject; enum Subcontrol : quint16 { diff --git a/src/common/QskNamespace.h b/src/common/QskNamespace.h index 88ffd0d9..b7a4285b 100644 --- a/src/common/QskNamespace.h +++ b/src/common/QskNamespace.h @@ -7,9 +7,31 @@ #define QSK_NAMESPACE_H #include "QskGlobal.h" +#include -namespace Qsk +/* + hack to run moc over a namespace, what is not + yet supported with Qt 5.6 + */ + +#ifdef Q_MOC_RUN + +#define QSK_NAMESPACE( name ) struct name +#define QSK_ENUM( name ) Q_GADGET Q_ENUM( name ) + +#else + +#define QSK_NAMESPACE( name ) namespace name +#define QSK_ENUM( name ) \ + inline const QMetaObject* qt_getEnumMetaObject(name) noexcept { return &staticMetaObject; } \ + inline constexpr const char* qt_getEnumName(name) noexcept { return #name; } + +#endif + +QSK_NAMESPACE( Qsk ) { + extern QSK_EXPORT const QMetaObject staticMetaObject; + enum Direction { LeftToRight, @@ -17,6 +39,7 @@ namespace Qsk TopToBottom, BottomToTop }; + QSK_ENUM( Direction ) enum Position { @@ -25,6 +48,7 @@ namespace Qsk Right, Bottom }; + QSK_ENUM( Position ) enum TextStyle { @@ -33,6 +57,10 @@ namespace Qsk Raised, Sunken }; + QSK_ENUM( TextStyle ) } +#undef QSK_NAMESPACE +#undef QSK_ENUM + #endif