/*! * * Copyright (c) 2019-2019 Diality Inc. - All Rights Reserved. * copyright * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, * IN PART OR IN WHOLE, * WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * * file guiglobals.cpp * date 10/27/2019 * author Behrouz NematiPour * */ #include "guiglobals.h" // Qt #include // Project #include "guiview.h" namespace Gui { QQuickView *_viewer = nullptr; /*! * \brief registerTypes * \details registering meta types */ void registerTypes() { qRegisterMetaType ("GuiActionType"); qRegisterMetaType ("GuiActionData"); qRegisterMetaType ("GuiActionIndx"); } /*! * \brief registerQmlTypes * \details registering QML types */ void registerQmlTypes() { qmlRegisterType ("Gui.View" , 0, 1, "GuiView"); qmlRegisterUncreatableType ("Gui.Actions", 0, 1, "GuiActions", QStringLiteral("Used only for enumerations no need to have an object")); } /*! * \brief startGui * \details the GUI initializer/starter function */ void startGui() { _viewer = new QQuickView; registerTypes(); registerQmlTypes(); QObject::connect(_viewer, &QQuickView::statusChanged, qApp, [=](QQuickView::Status vStatus) { bool ok = vStatus == QQuickView::Ready; if (ok) { _viewer->show(); } else if (vStatus == QQuickView::Error || vStatus == QQuickView::Null) { qDebug() << "ERROR :" << tr("Application Terminated: %1").arg(_viewer->errors()); QCoreApplication::exit(-1); } }); _viewer->setSource(QStringLiteral("qrc:/main.qml")); } }