History

Fixed enums in scripting engine

ksuprynowicz committed 4 years ago

Commit ad57a5e1 parent b27e81911 files · +55 −14Browse files

Showing the changes to libraries/script-engine/src/ScriptManager.cpp (1 of 11 files). Show all

Unified · Split

libraries/script-engine/src/ScriptManager.cpp+3−7
@@ -575,17 +575,13 @@ static ScriptValue createScriptableResourcePrototype(ScriptManagerPointer manage · 574 unmodified lines
575 auto engine = manager->engine();575 auto engine = manager->engine();
576 auto prototype = engine->newObject();576 auto prototype = engine->newObject();
577 577
578 // Expose enum State to JS/QML via properties578 auto state = engine->newObject();
579 QObject* state = new QObject(manager.get());
580 state->setObjectName("ResourceState");
581 auto metaEnum = QMetaEnum::fromType<ScriptableResource::State>();579 auto metaEnum = QMetaEnum::fromType<ScriptableResource::State>();
582 for (int i = 0; i < metaEnum.keyCount(); ++i) {580 for (int i = 0; i < metaEnum.keyCount(); ++i) {
583 state->setProperty(metaEnum.key(i), metaEnum.value(i));581 state.setProperty(metaEnum.key(i), metaEnum.value(i));
584 }582 }
585 583
586 auto prototypeState = engine->newQObject(state, ScriptEngine::QtOwnership,584 prototype.setProperty("State", state);
587 ScriptEngine::ExcludeSlots | ScriptEngine::ExcludeSuperClassMethods);
588 prototype.setProperty("State", prototypeState);
589 585
590 return prototype;586 return prototype;
591}587}