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 } |