On Fri, Aug 7, 2015 at 2:23 PM, Jaroslaw Staniek <stan...@kde.org> wrote: > Hi Again, > No thoghts about the matter?
Hi, I'm facing the same problem. Is there any way of having gadgets exported for use in QJsEngine and QQmlContext? Thanks, Sandro > > >From https://wiki.qt.io/New_Features_in_Qt_5.5: > "You can now have Q_PROPERTY and Q_INVOKABLE within a Q_GADGET [...]" > > But there's no QJSEngine::newQGadget() so is my only solution is the > pre-QtScript glue code like this heavier class? > > // exposes RealObject::text() getter > class Wrapper : public QObject > { > Q_OBJECT > public: > Wrapper(RealObject *parent) : m_real(parent) {} > Q_INVOKABLE QString text() const { return m_real->text(); } > > private: > RealObject m_real; > }; > > // ... > Wrapper *w = ... > engine.globalObject().setProperty("element", engine.newQObject(w)); > > > On 9 July 2015 at 10:26, Jaroslaw Staniek <stan...@kde.org> wrote: >> Hi, >> Big thanks to Simon and others for time spent on exposing types to the >> qml/js engines. >> And to Arend van Beelen for input. >> >> The story continues. In an app I am suppoting .js scripts, not .qml. >> Do I understand it well that with using QJSEngine (not QQmlEngine) for >> value types I can use code like "new Actor()" in my scripts? (Actor is >> a qgadget based >> http://doc.qt.io/qt-5/qtqml-cppintegration-data.html#value-types) >> >> After upgrading to 5.5 I am still getting "ReferenceError: Actor is not >> defined" >> >> Adding qRegisterMetaType<Actor>() prior to engine instantiation does not >> help. >> How does the QJSEngine::toScriptValue() help? >> I'd like to know more than the explanation at >> https://bugreports.qt.io/browse/QTBUG-29769 or >> https://codereview.qt-project.org/#/c/100347/ :) >> I see that autotests in the Simon's patch only cover qml scripts, so I >> am bit afraid what I'll hear :) >> >> I feel the documentation about exposing constructors is a bit lacking. >> There's a "Making a QObject Available to the Script Engine" >> [http://doc.qt.io/qt-5/qtjavascript.html] but it's for instances; it >> would be useful to also cover an 'official' way of exposing types. >> Sometimes it's good to read what's not supported in addition to what >> is supported. Especially it would be welcome for people coming from >> the QtScript world. >> >> -- >> regards, Jaroslaw Staniek >> >> KDE: >> : A world-wide network of software engineers, artists, writers, translators >> : and facilitators committed to Free Software development - http://kde.org >> Calligra Suite: >> : A graphic art and office suite - http://calligra.org >> Kexi: >> : A visual database apps builder - http://calligra.org/kexi >> Qt Certified Specialist: >> : http://www.linkedin.com/in/jstaniek > > > > -- > regards, Jaroslaw Staniek > > KDE: > : A world-wide network of software engineers, artists, writers, translators > : and facilitators committed to Free Software development - http://kde.org > Calligra Suite: > : A graphic art and office suite - http://calligra.org > Kexi: > : A visual database apps builder - http://calligra.org/kexi > Qt Certified Specialist: > : http://www.linkedin.com/in/jstaniek > _______________________________________________ > Interest mailing list > Interest@qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest