Skip to content

Commit d64c4f9

Browse files
Added gamepad to metatypes for qt script
1 parent 7e3aff0 commit d64c4f9

File tree

3 files changed

+16
-0
lines changed

3 files changed

+16
-0
lines changed

trikScriptRunner/src/scriptEngineWorker.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ Q_DECLARE_METATYPE(AnalogSensor*)
3636
Q_DECLARE_METATYPE(Battery*)
3737
Q_DECLARE_METATYPE(Display*)
3838
Q_DECLARE_METATYPE(Encoder*)
39+
Q_DECLARE_METATYPE(Gamepad*)
3940
Q_DECLARE_METATYPE(Keys*)
4041
Q_DECLARE_METATYPE(Led*)
4142
Q_DECLARE_METATYPE(Motor*)
@@ -124,6 +125,7 @@ void ScriptEngineWorker::initScriptEngine()
124125
qScriptRegisterMetaType(mEngine, batteryToScriptValue, batteryFromScriptValue);
125126
qScriptRegisterMetaType(mEngine, displayToScriptValue, displayFromScriptValue);
126127
qScriptRegisterMetaType(mEngine, encoderToScriptValue, encoderFromScriptValue);
128+
qScriptRegisterMetaType(mEngine, gamepadToScriptValue, gamepadFromScriptValue);
127129
qScriptRegisterMetaType(mEngine, keysToScriptValue, keysFromScriptValue);
128130
qScriptRegisterMetaType(mEngine, ledToScriptValue, ledFromScriptValue);
129131
qScriptRegisterMetaType(mEngine, motorToScriptValue, motorFromScriptValue);

trikScriptRunner/src/scriptableParts.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,16 @@ void trikScriptRunner::encoderFromScriptValue(QScriptValue const &object, trikCo
4949
out = qobject_cast<Encoder*>(object.toQObject());
5050
}
5151

52+
QScriptValue trikScriptRunner::gamepadToScriptValue(QScriptEngine *engine, trikControl::Gamepad* const &in)
53+
{
54+
return engine->newQObject(in);
55+
}
56+
57+
void trikScriptRunner::gamepadFromScriptValue(QScriptValue const &object, trikControl::Gamepad* &out)
58+
{
59+
out = qobject_cast<Gamepad*>(object.toQObject());
60+
}
61+
5262
QScriptValue trikScriptRunner::keysToScriptValue(QScriptEngine *engine, trikControl::Keys* const &in)
5363
{
5464
return engine->newQObject(in);

trikScriptRunner/src/scriptableParts.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
#include <trikControl/battery.h>
2020
#include <trikControl/display.h>
2121
#include <trikControl/encoder.h>
22+
#include <trikControl/gamepad.h>
2223
#include <trikControl/keys.h>
2324
#include <trikControl/led.h>
2425
#include <trikControl/sensor.h>
@@ -37,6 +38,9 @@ void displayFromScriptValue(QScriptValue const &object, trikControl::Display* &o
3738
QScriptValue encoderToScriptValue(QScriptEngine *engine, trikControl::Encoder* const &in);
3839
void encoderFromScriptValue(QScriptValue const &object, trikControl::Encoder* &out);
3940

41+
QScriptValue gamepadToScriptValue(QScriptEngine *engine, trikControl::Gamepad* const &in);
42+
void gamepadFromScriptValue(QScriptValue const &object, trikControl::Gamepad* &out);
43+
4044
QScriptValue keysToScriptValue(QScriptEngine *engine, trikControl::Keys* const &in);
4145
void keysFromScriptValue(QScriptValue const &object, trikControl::Keys* &out);
4246

0 commit comments

Comments
 (0)