59 lines
2.2 KiB
C++
59 lines
2.2 KiB
C++
#include <QGuiApplication>
|
|
#include <QQmlApplicationEngine>
|
|
#include <QQmlContext>
|
|
#include <QtQml>
|
|
|
|
#include "mock/mock_bdd.h"
|
|
#include "mock/mock_systeme.h"
|
|
#include "mock/mock_tbmesures.h"
|
|
#include "dataprovider.h"
|
|
|
|
// ============================================================================
|
|
// main.cpp - shipheart_wasm (CLIENT)
|
|
// ----------------------------------------------------------------------------
|
|
// À NE PAS CONFONDRE avec le main.cpp de shipheart_api (API, QHttpServer) -
|
|
// même nom de fichier, deux projets différents. Celui-ci utilise
|
|
// QGuiApplication (pas QApplication : pas de QtWidgets, app 100% QML/QtQuick).
|
|
// ============================================================================
|
|
|
|
static QJSValue appVersionSingletonProvider(QQmlEngine *engine, QJSEngine *scriptEngine)
|
|
{
|
|
Q_UNUSED(engine)
|
|
|
|
QJSValue appInfo = scriptEngine->newObject();
|
|
appInfo.setProperty("adresse_shipbase", QString());
|
|
appInfo.setProperty("etat_connexion_bdd", 1);
|
|
appInfo.setProperty("version", QStringLiteral("3.0.0-wasm"));
|
|
appInfo.setProperty("type_installation", QStringLiteral("0"));
|
|
appInfo.setProperty("taille_ecran", QString());
|
|
return appInfo;
|
|
}
|
|
|
|
int main(int argc, char *argv[])
|
|
{
|
|
QGuiApplication app(argc, argv);
|
|
|
|
QGuiApplication::setApplicationName("ShipHeart_Wasm");
|
|
QGuiApplication::setApplicationVersion("3.0.0-wasm");
|
|
|
|
qmlRegisterType<Bdd>("qt.koriolan.shipheart", 1, 0, "Bdd");
|
|
qmlRegisterType<TbMesuresModel>("qt.koriolan.shipheart", 1, 0, "TbMesuresModel");
|
|
qmlRegisterType<Systeme>("qt.koriolan.shipheart", 1, 0, "Systeme");
|
|
qmlRegisterType<DataProvider>("qt.koriolan.shipheart", 1, 0, "DataProvider");
|
|
qmlRegisterSingletonType("qt.koriolan.shipheart", 1, 0, "AppInfo", appVersionSingletonProvider);
|
|
|
|
auto engine = new QQmlApplicationEngine(&app);
|
|
engine->setObjectName("currentEngine");
|
|
|
|
const QUrl url(QStringLiteral("qrc:/main.qml"));
|
|
QObject::connect(engine, &QQmlApplicationEngine::objectCreated,
|
|
&app, [url](QObject *obj, const QUrl &objUrl)
|
|
{
|
|
if (!obj && url == objUrl) QCoreApplication::exit(-1);
|
|
}, Qt::QueuedConnection);
|
|
|
|
engine->load(url);
|
|
|
|
return app.exec();
|
|
}
|