#pragma once #include #include #include "Extras/Export/export.h" #include "QtWidgets/QWidget/qwidget_macro.h" #include "nwidget.hpp" // NodeWidgetWrap is exactly like QWidgetWrap but it is used only to unwrap any // N to QWidget* class DLL_EXPORT NodeWidgetWrap : public Napi::ObjectWrap { QWIDGET_WRAPPED_METHODS_DECLARATION private: QPointer instance; public: NodeWidgetWrap(const Napi::CallbackInfo& info) : Napi::ObjectWrap(info){}; QWidget* getInternalInstance() { return this->instance; }; // class constructor static Napi::FunctionReference constructor; // wrapped methods }; class DLL_EXPORT QWidgetWrap : public Napi::ObjectWrap { QWIDGET_WRAPPED_METHODS_DECLARATION private: QPointer instance; public: static Napi::Object init(Napi::Env env, Napi::Object exports); QWidgetWrap(const Napi::CallbackInfo& info); ~QWidgetWrap(); QWidget* getInternalInstance(); // class constructor static Napi::FunctionReference constructor; // wrapped methods };