qmlfrontend/main.cpp
author nemo
Tue, 30 Apr 2019 09:36:13 -0400
changeset 14859 8d65728c4ed0
parent 14854 aed75d439027
child 14915 a3ad06ac390e
permissions -rw-r--r--
Backed out changeset 13589d529899 So, we only disabled this on the release branch in r29d614a5c9eb due to having discovered it JUST before release. We should fix it properly in default...
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
14154
8354b390f1a2 Some refactoring of qmlfrontend. It now shows land preview generated by hedgewars-engine
unC0Rr
parents: 14143
diff changeset
     1
#include <QDebug>
12854
28cb18c5e712 Add new qmlfrontend project template
unc0rr
parents:
diff changeset
     2
#include <QGuiApplication>
14154
8354b390f1a2 Some refactoring of qmlfrontend. It now shows land preview generated by hedgewars-engine
unC0Rr
parents: 14143
diff changeset
     3
#include <QLibrary>
12854
28cb18c5e712 Add new qmlfrontend project template
unc0rr
parents:
diff changeset
     4
#include <QQmlApplicationEngine>
28cb18c5e712 Add new qmlfrontend project template
unc0rr
parents:
diff changeset
     5
14154
8354b390f1a2 Some refactoring of qmlfrontend. It now shows land preview generated by hedgewars-engine
unC0Rr
parents: 14143
diff changeset
     6
#include "engine_interface.h"
14371
90bd2c331703 Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents: 14370
diff changeset
     7
#include "game_view.h"
14143
745c73e0e644 Start working on frontend to rust engine rewrite
unC0Rr
parents: 12854
diff changeset
     8
#include "hwengine.h"
14371
90bd2c331703 Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents: 14370
diff changeset
     9
#include "preview_acceptor.h"
14143
745c73e0e644 Start working on frontend to rust engine rewrite
unC0Rr
parents: 12854
diff changeset
    10
14371
90bd2c331703 Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents: 14370
diff changeset
    11
static QObject* previewacceptor_singletontype_provider(
90bd2c331703 Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents: 14370
diff changeset
    12
    QQmlEngine* engine, QJSEngine* scriptEngine) {
90bd2c331703 Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents: 14370
diff changeset
    13
  Q_UNUSED(scriptEngine)
90bd2c331703 Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents: 14370
diff changeset
    14
90bd2c331703 Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents: 14370
diff changeset
    15
  PreviewAcceptor* acceptor = new PreviewAcceptor(engine);
90bd2c331703 Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents: 14370
diff changeset
    16
  return acceptor;
90bd2c331703 Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents: 14370
diff changeset
    17
}
90bd2c331703 Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents: 14370
diff changeset
    18
14143
745c73e0e644 Start working on frontend to rust engine rewrite
unC0Rr
parents: 12854
diff changeset
    19
int main(int argc, char* argv[]) {
12854
28cb18c5e712 Add new qmlfrontend project template
unc0rr
parents:
diff changeset
    20
  QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
28cb18c5e712 Add new qmlfrontend project template
unc0rr
parents:
diff changeset
    21
  QGuiApplication app(argc, argv);
28cb18c5e712 Add new qmlfrontend project template
unc0rr
parents:
diff changeset
    22
28cb18c5e712 Add new qmlfrontend project template
unc0rr
parents:
diff changeset
    23
  QQmlApplicationEngine engine;
14143
745c73e0e644 Start working on frontend to rust engine rewrite
unC0Rr
parents: 12854
diff changeset
    24
14854
aed75d439027 Implement external events approach to input user actions into engine.
unc0rr
parents: 14372
diff changeset
    25
  qRegisterMetaType<EngineInstance::SimpleEventType>();
aed75d439027 Implement external events approach to input user actions into engine.
unc0rr
parents: 14372
diff changeset
    26
  qRegisterMetaType<EngineInstance::LongEventType>();
aed75d439027 Implement external events approach to input user actions into engine.
unc0rr
parents: 14372
diff changeset
    27
  qRegisterMetaType<EngineInstance::LongEventState>();
aed75d439027 Implement external events approach to input user actions into engine.
unc0rr
parents: 14372
diff changeset
    28
  qRegisterMetaType<EngineInstance::PositionedEventType>();
aed75d439027 Implement external events approach to input user actions into engine.
unc0rr
parents: 14372
diff changeset
    29
14371
90bd2c331703 Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents: 14370
diff changeset
    30
  qmlRegisterSingletonType<PreviewAcceptor>(
90bd2c331703 Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents: 14370
diff changeset
    31
      "Hedgewars.Engine", 1, 0, "PreviewAcceptor",
90bd2c331703 Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents: 14370
diff changeset
    32
      previewacceptor_singletontype_provider);
90bd2c331703 Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents: 14370
diff changeset
    33
  qmlRegisterType<HWEngine>("Hedgewars.Engine", 1, 0, "HWEngine");
90bd2c331703 Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents: 14370
diff changeset
    34
  qmlRegisterType<GameView>("Hedgewars.Engine", 1, 0, "GameView");
90bd2c331703 Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents: 14370
diff changeset
    35
  qmlRegisterUncreatableType<EngineInstance>("Hedgewars.Engine", 1, 0,
90bd2c331703 Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents: 14370
diff changeset
    36
                                             "EngineInstance",
90bd2c331703 Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents: 14370
diff changeset
    37
                                             "Create by HWEngine run methods");
14143
745c73e0e644 Start working on frontend to rust engine rewrite
unC0Rr
parents: 12854
diff changeset
    38
12854
28cb18c5e712 Add new qmlfrontend project template
unc0rr
parents:
diff changeset
    39
  engine.load(QUrl(QLatin1String("qrc:/main.qml")));
14143
745c73e0e644 Start working on frontend to rust engine rewrite
unC0Rr
parents: 12854
diff changeset
    40
  if (engine.rootObjects().isEmpty()) return -1;
12854
28cb18c5e712 Add new qmlfrontend project template
unc0rr
parents:
diff changeset
    41
28cb18c5e712 Add new qmlfrontend project template
unc0rr
parents:
diff changeset
    42
  return app.exec();
28cb18c5e712 Add new qmlfrontend project template
unc0rr
parents:
diff changeset
    43
}