File indexing completed on 2024-05-12 04:42:07

0001 /*
0002     SPDX-FileCopyrightText: 2023 Volker Krause <vkrause@kde.org>
0003     SPDX-License-Identifier: LGPL-2.0-or-later
0004 */
0005 
0006 #include "editorcontroller.h"
0007 
0008 #include <QJSEngine>
0009 #include <QQmlEngine>
0010 #include <QQmlExtensionPlugin>
0011 
0012 class KOSMEditorControllerPlugin : public QQmlExtensionPlugin
0013 {
0014     Q_OBJECT
0015     Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
0016 public:
0017     void registerTypes(const char *uri) override
0018     {
0019         Q_UNUSED(uri);
0020         qRegisterMetaType<OSM::BoundingBox>();
0021         qRegisterMetaType<OSM::Element>();
0022         qmlRegisterSingletonType("org.kde.osm.editorcontroller", 1, 0, "EditorController", [](QQmlEngine*, QJSEngine *engine) -> QJSValue {
0023             return engine->toScriptValue(KOSM::EditorController());
0024         });
0025         qmlRegisterUncreatableMetaObject(KOSM::EditorController::staticMetaObject, "org.kde.osm.editorcontroller", 1, 0, "Editor", {});
0026     }
0027 };
0028 
0029 #include "editorcontrollerplugin.moc"