summaryrefslogtreecommitdiffstats
path: root/tests/manual/qmlspline/main.cpp
blob: 5c07c57b160cce789138aba1be0d775f02ec0406 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
// Copyright (C) 2024 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only

#include "splinegen.h"

#include <QtCore/QDir>
#include <QtGui/QGuiApplication>
#include <QtQml/QQmlContext>
#include <QtQml/QQmlEngine>
#include <QtQuick/QQuickView>

int main(int argc, char *argv[]) {
  QGuiApplication app(argc, argv);

  QQuickView viewer;

  // The following are needed to make examples run without having to install the
  // module in desktop environments.
#ifdef Q_OS_WIN
  QString extraImportPath(QStringLiteral("%1/../../../%2"));
#else
  QString extraImportPath(QStringLiteral("%1/../../%2"));
#endif
  viewer.engine()->addImportPath(extraImportPath.arg(
      QGuiApplication::applicationDirPath(), QString::fromLatin1("qml")));
  QObject::connect(viewer.engine(), &QQmlEngine::quit, &viewer,
                   &QWindow::close);

  SplineGen splineGen;
  viewer.rootContext()->setContextProperty("splineGen", &splineGen);

  viewer.setTitle(QStringLiteral("QML Scatter spline"));
  viewer.setSource(QUrl("qrc:/qml/qmlspline/main.qml"));
  viewer.setResizeMode(QQuickView::SizeRootObjectToView);
  viewer.show();

  return app.exec();
}