qmlfrontend/main.cpp
branchqmlrenderer
changeset 16087 8da5a118120b
parent 16010 a73b9770467a
equal deleted inserted replaced
16086:ee8b894272d0 16087:8da5a118120b
     1 #include <QDebug>
     1 #include <QDebug>
     2 #include <QGuiApplication>
     2 #include <QGuiApplication>
     3 #include <QLibrary>
     3 #include <QLibrary>
     4 #include <QQmlApplicationEngine>
     4 #include <QQmlApplicationEngine>
     5 
     5 
     6 #include "engine_interface.h"
       
     7 #include "game_view.h"
       
     8 #include "hwengine.h"
       
     9 #include "net_session.h"
       
    10 #include "preview_acceptor.h"
       
    11 
       
    12 static QObject* previewacceptor_singletontype_provider(
       
    13     QQmlEngine* engine, QJSEngine* scriptEngine) {
       
    14   Q_UNUSED(scriptEngine)
       
    15 
       
    16   PreviewAcceptor* acceptor = new PreviewAcceptor(engine);
       
    17   return acceptor;
       
    18 }
       
    19 
       
    20 int main(int argc, char* argv[]) {
     6 int main(int argc, char* argv[]) {
    21   QGuiApplication app(argc, argv);
     7   QGuiApplication app(argc, argv);
    22 
     8 
    23   QQmlApplicationEngine engine;
     9   QQmlApplicationEngine engine;
       
    10   /*
       
    11     qRegisterMetaType<Engine::SimpleEventType>();
       
    12     qRegisterMetaType<Engine::LongEventType>();
       
    13     qRegisterMetaType<Engine::LongEventState>();
       
    14     qRegisterMetaType<Engine::PositionedEventType>();
    24 
    15 
    25   qRegisterMetaType<Engine::SimpleEventType>();
    16     qmlRegisterSingletonType<PreviewAcceptor>(
    26   qRegisterMetaType<Engine::LongEventType>();
    17         "Hedgewars.Engine", 1, 0, "PreviewAcceptor",
    27   qRegisterMetaType<Engine::LongEventState>();
    18         previewacceptor_singletontype_provider);
    28   qRegisterMetaType<Engine::PositionedEventType>();
    19     qmlRegisterType<HWEngine>("Hedgewars.Engine", 1, 0, "HWEngine");
       
    20     qmlRegisterType<GameView>("Hedgewars.Engine", 1, 0, "GameView");
       
    21     qmlRegisterType<NetSession>("Hedgewars.Engine", 1, 0, "NetSession");
       
    22     qmlRegisterUncreatableType<EngineInstance>(
       
    23         "Hedgewars.Engine", 1, 0, "EngineInstance",
       
    24         QStringLiteral("Create by HWEngine run methods"));
    29 
    25 
    30   qmlRegisterSingletonType<PreviewAcceptor>(
    26     qmlRegisterUncreatableMetaObject(Engine::staticMetaObject,
    31       "Hedgewars.Engine", 1, 0, "PreviewAcceptor",
    27     "Hedgewars.Engine", 1, 0, "Engine", QStringLiteral("Namespace: only
    32       previewacceptor_singletontype_provider);
    28     enums"));
    33   qmlRegisterType<HWEngine>("Hedgewars.Engine", 1, 0, "HWEngine");
    29   */
    34   qmlRegisterType<GameView>("Hedgewars.Engine", 1, 0, "GameView");
       
    35   qmlRegisterType<NetSession>("Hedgewars.Engine", 1, 0, "NetSession");
       
    36   qmlRegisterUncreatableType<EngineInstance>(
       
    37       "Hedgewars.Engine", 1, 0, "EngineInstance",
       
    38       QStringLiteral("Create by HWEngine run methods"));
       
    39 
       
    40   qmlRegisterUncreatableMetaObject(Engine::staticMetaObject, "Hedgewars.Engine",
       
    41                                    1, 0, "Engine",
       
    42                                    QStringLiteral("Namespace: only enums"));
       
    43 
       
    44   engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
    30   engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
    45   if (engine.rootObjects().isEmpty()) return -1;
    31   if (engine.rootObjects().isEmpty()) {
       
    32     return -1;
       
    33   }
    46 
    34 
    47   return app.exec();
    35   return app.exec();
    48 }
    36 }