nodeguy/src/cpp/include/nodegui/Extras/Utils/nutils.h
Atul R 86c3ef089c
Integration with Qode 2.0 (#400)
* Moves qt integration solely to the nodegui core addon

* Adds lint fixes

* moved to integration core

* cleans up export snippet

* revert package.json

* Add exit if app->exec finishes.

* lint fix

* Makes QApplication custom

* adds qobject to wrap of qapp

* Adds working qt run looper

* Adds font default

* Adds qt installer

* Updates qode integration to v2.0.1

* fix cpp lints

* Fixes lint and deps

* Adds miniqt installation

* adds setup mini qt script

* skips tests due to issues with jest

* fix config and download path for linux and windows

* Adds multiple artifact downloader

* fix qt config and compilation

* Fixes qode path for windows (now it can load dll's easily)

* Add compilation

* fix windows path setup

* use scripts directly

* enabled tests back

* fix ubuntu deps

* update to alpha release

* fix workflow

* adds more artifacts and funding field

* change to alpha v2

* update prebuild yml

* revert build action

* disabling prebuild for now

* switch to stable release 5.14.1

* version bump
2020-03-07 10:28:30 +01:00

38 lines
1.2 KiB
C++

#pragma once
#include <napi.h>
#include <QPointer>
#include <QVariant>
#include "Extras/Export/export.h"
#include "core/FlexLayout/flexutils.h"
#include "deps/yoga/YGNode.h"
namespace extrautils {
DLL_EXPORT QVariant* convertToQVariant(Napi::Env& env, Napi::Value& value);
DLL_EXPORT bool isNapiValueInt(Napi::Env& env, Napi::Value& num);
DLL_EXPORT std::string getNapiObjectClassName(Napi::Object& object);
DLL_EXPORT void* configureQWidget(QWidget* widget, YGNodeRef node,
bool isLeafNode = false);
DLL_EXPORT void* configureQObject(QObject* object);
DLL_EXPORT void* configureComponent(void* component);
template <typename T>
void safeDelete(QPointer<T>& component) {
if (!component.isNull()) {
delete component;
}
}
} // namespace extrautils
class DLL_EXPORT NUtilsWrap : public Napi::ObjectWrap<NUtilsWrap> {
public:
static Napi::Object init(Napi::Env env, Napi::Object exports);
NUtilsWrap(const Napi::CallbackInfo& info);
static Napi::FunctionReference constructor;
};
namespace StaticNUtilsWrapMethods {
DLL_EXPORT Napi::Value isNapiExternal(const Napi::CallbackInfo& info);
} // namespace StaticNUtilsWrapMethods