diff options
Diffstat (limited to 'examples/uml/duse-mt/src/plugins/designspaceexplorer')
3 files changed, 21 insertions, 1 deletions
diff --git a/examples/uml/duse-mt/src/plugins/designspaceexplorer/designspaceexplorer.pro b/examples/uml/duse-mt/src/plugins/designspaceexplorer/designspaceexplorer.pro index 7e402bb9..4e6506c7 100644 --- a/examples/uml/duse-mt/src/plugins/designspaceexplorer/designspaceexplorer.pro +++ b/examples/uml/duse-mt/src/plugins/designspaceexplorer/designspaceexplorer.pro @@ -4,7 +4,7 @@ # #------------------------------------------------- -QT += widgets quick modeling +QT += widgets quick modeling script include(../../duse-mt-plugin.pri) diff --git a/examples/uml/duse-mt/src/plugins/designspaceexplorer/designspaceexplorerplugin.cpp b/examples/uml/duse-mt/src/plugins/designspaceexplorer/designspaceexplorerplugin.cpp index 0fd3f317..305e164e 100644 --- a/examples/uml/duse-mt/src/plugins/designspaceexplorer/designspaceexplorerplugin.cpp +++ b/examples/uml/duse-mt/src/plugins/designspaceexplorer/designspaceexplorerplugin.cpp @@ -40,6 +40,8 @@ ****************************************************************************/ #include "designspaceexplorerplugin.h" +#include <QDebug> + #include <duseinterfaces/iuicontroller.h> #include <duseinterfaces/iprojectcontroller.h> @@ -171,6 +173,20 @@ void DesignSpaceExplorerPlugin::newDuseDesign() return; } + QScriptValue array = _engine.newArray(); + foreach (QObject *modelingObject, _core->projectController()->currentModelObjects()) + array.property(QString::fromLatin1("push")).call(array, QScriptValueList() << _engine.newQObject(modelingObject)); + _engine.globalObject().setProperty("input", array); + + foreach (QObject *designDimension, _duseInstance.first()->asQModelingObject()->property("designDimensions").value< QList<QObject *> >()) { + foreach (const QString &body, (designDimension->property("instanceSelectionRule").value<QObject *>())->property("bodies").value< QList<QString> >()) { + qDebug() << body; + QScriptValue value = _engine.evaluate(body); + if (value.toQObject()) + qDebug() << "result: " << value.toQObject()->objectName(); + } + } + //modelingObjectList.first()->setQmlContextProperties(_metricsQuickView->engine()->rootContext()); // _engine.globalObject().setProperty("designspace", _engine.newQObject(modelingObjectList.at(0)->asQModelingObject())); diff --git a/examples/uml/duse-mt/src/plugins/designspaceexplorer/designspaceexplorerplugin.h b/examples/uml/duse-mt/src/plugins/designspaceexplorer/designspaceexplorerplugin.h index e24a7fff..36fef736 100644 --- a/examples/uml/duse-mt/src/plugins/designspaceexplorer/designspaceexplorerplugin.h +++ b/examples/uml/duse-mt/src/plugins/designspaceexplorer/designspaceexplorerplugin.h @@ -43,6 +43,8 @@ #include <duseinterfaces/iplugin.h> +#include <QtScript/QScriptEngine> + class NewDuseDesignDialog; class QQuickView; @@ -78,6 +80,8 @@ private: NewDuseDesignDialog *_newDuseDesignDialog; QList<QModelingElement *> _duseInstance; + + QScriptEngine _engine; }; #endif // DESIGNSPACEEXPLORERPLUGIN_H |