blob: 3bfe303577aec88852c51ac3e3535b3dc8e5c137 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
#include "enumwappers.h"
#include <QScriptEngine>
#include "objects/enums.h"
namespace Scripting {
namespace Internal {
#define createEnumStatics(CLASS,ENUM) \
static QScriptValue toScriptValue##ENUM(QScriptEngine *engine, const CLASS::ENUM &p)\
{\
return engine->newVariant((int)p);\
}\
\
static void fromScriptValue##ENUM(const QScriptValue &obj,CLASS::ENUM &s)\
{\
s = (CLASS::ENUM)obj.toInt32();\
}\
#define registerEnum(ENGINE,CLASS,ENUM) \
{\
qScriptRegisterMetaType(ENGINE, toScriptValue##ENUM, fromScriptValue##ENUM);\
QScriptValue metaObject = ENGINE->newQMetaObject( &CLASS::staticMetaObject );\
ENGINE->globalObject().setProperty( QLatin1String(#ENUM), metaObject );\
}
createEnumStatics(Enums,PositionOperation)
void registerEnums(QScriptEngine* engine )
{
registerEnum(engine, Enums, PositionOperation);
}
} // namespace Internal
} // namespace Scripting
|