45 lines
1.1 KiB
C++
45 lines
1.1 KiB
C++
#include <QDebug>
|
|
#include <QQuickView>
|
|
|
|
#include "DoricDemoBridge.h"
|
|
#include "DoricPanel.h"
|
|
#include "utils/DoricUtils.h"
|
|
|
|
DoricDemoBridge::DoricDemoBridge(QObject *parent) : QObject(parent) {}
|
|
|
|
void DoricDemoBridge::navigate(QVariant route) {
|
|
QString name;
|
|
switch (route.toInt()) {
|
|
case 0:
|
|
name = "SimpleDemo.es5.js";
|
|
break;
|
|
case 1:
|
|
name = "Snake.es5.js";
|
|
break;
|
|
}
|
|
QString script = DoricUtils::readAssetFile("/doric/bundles", name);
|
|
|
|
QQuickView *view = new QQuickView();
|
|
{
|
|
const QUrl url(QStringLiteral("qrc:/doric/qml/view.qml"));
|
|
view->setSource(url);
|
|
view->setWidth(450);
|
|
view->setHeight(800);
|
|
}
|
|
|
|
{
|
|
QQmlComponent component(view->engine());
|
|
const QUrl url(QStringLiteral("qrc:/doric/qml/panel.qml"));
|
|
component.loadUrl(url);
|
|
QQuickItem *quickItem = qobject_cast<QQuickItem *>(component.create());
|
|
DoricPanel *panel = new DoricPanel(view->engine(), quickItem);
|
|
quickItem->setWidth(450);
|
|
quickItem->setHeight(800);
|
|
quickItem->setParentItem(view->rootObject());
|
|
|
|
panel->config(script, name, NULL);
|
|
}
|
|
|
|
view->show();
|
|
}
|