Merge pull request #81 from nodegui/cleanup/convert-to-unique-ptrs

convert all raw pointers to unique ptrs
This commit is contained in:
Atul R 2019-09-03 22:52:23 +02:00 committed by GitHub
commit b15f59cbf3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
40 changed files with 144 additions and 136 deletions

View File

@ -28,9 +28,9 @@ QApplicationWrap::QApplicationWrap(const Napi::CallbackInfo& info)
Napi::Env env = info.Env();
Napi::HandleScope scope(env);
if(info.Length() == 1) {
this->instance = info[0].As<Napi::External<QApplication>>().Data();
this->instance = std::unique_ptr<QApplication>(info[0].As<Napi::External<QApplication>>().Data());
} else if (info.Length() == 0){
this->instance = new QApplication(this->argc, this->argv);
this->instance = std::make_unique<QApplication>(this->argc, this->argv);
} else {
Napi::TypeError::New(env, "Wrong number of arguments").ThrowAsJavaScriptException();
}
@ -38,12 +38,12 @@ QApplicationWrap::QApplicationWrap(const Napi::CallbackInfo& info)
QApplicationWrap::~QApplicationWrap()
{
delete this->instance;
this->instance.reset();
}
QApplication* QApplicationWrap::getInternalInstance()
{
return this->instance;
return this->instance.get();
}
Napi::Value QApplicationWrap::processEvents(const Napi::CallbackInfo& info)

View File

@ -1,12 +1,13 @@
#pragma once
#include <napi.h>
#include <stdlib.h>
#include <QApplication>
class QApplicationWrap : public Napi::ObjectWrap<QApplicationWrap> {
private:
QApplication* instance;
std::unique_ptr<QApplication> instance;
static int argc;
static char** argv;

View File

@ -26,11 +26,11 @@ QCursorWrap::QCursorWrap(const Napi::CallbackInfo &info) : Napi::ObjectWrap<QCur
if (info.Length() == 1)
{
Napi::Number cursor = info[0].As<Napi::Number>();
this->instance = new QCursor(static_cast<Qt::CursorShape>(cursor.Int32Value()));
this->instance = std::make_unique<QCursor>(static_cast<Qt::CursorShape>(cursor.Int32Value()));
}
else if (info.Length() == 0)
{
this->instance = new QCursor();
this->instance = std::make_unique<QCursor>();
}
else
{
@ -40,12 +40,12 @@ QCursorWrap::QCursorWrap(const Napi::CallbackInfo &info) : Napi::ObjectWrap<QCur
QCursorWrap::~QCursorWrap()
{
delete this->instance;
this->instance.reset();
}
QCursor *QCursorWrap::getInternalInstance()
{
return this->instance;
return this->instance.get();
}
Napi::Value QCursorWrap::pos(const Napi::CallbackInfo& info) {

View File

@ -1,14 +1,14 @@
#pragma once
#include <napi.h>
#include <stdlib.h>
#include <QCursor>
#include "src/cpp/core/Component/component_macro.h"
class QCursorWrap : public Napi::ObjectWrap<QCursorWrap>
{
private:
QCursor *instance;
std::unique_ptr<QCursor> instance;
public:
static Napi::FunctionReference constructor;
static Napi::Object init(Napi::Env env, Napi::Object exports);

View File

@ -19,15 +19,15 @@ Napi::Object QKeyEventWrap::init(Napi::Env env, Napi::Object exports) {
}
QKeyEvent* QKeyEventWrap::getInternalInstance() {
return this->instance;
return this->instance.get();
}
QKeyEventWrap::QKeyEventWrap(const Napi::CallbackInfo& info): Napi::ObjectWrap<QKeyEventWrap>(info) {
Napi::Env env = info.Env();
Napi::HandleScope scope(env);
if(info.Length() == 1) {
Napi::External<QKeyEvent> eventObject = info[0].As<Napi::External<QKeyEvent>>();
this->instance = eventObject.Data();
Napi::External<QKeyEvent> eventObject = info[0].As<Napi::External<QKeyEvent>>();
this->instance = std::unique_ptr<QKeyEvent>(eventObject.Data());
} else {
Napi::TypeError::New(env, "Wrong number of arguments").ThrowAsJavaScriptException();
}

View File

@ -1,11 +1,12 @@
#pragma once
#include <napi.h>
#include <stdlib.h>
#include <QKeyEvent>
class QKeyEventWrap : public Napi::ObjectWrap<QKeyEventWrap>{
private:
QKeyEvent* instance;
std::unique_ptr<QKeyEvent> instance;
public:
static Napi::Object init(Napi::Env env, Napi::Object exports);

View File

@ -24,11 +24,11 @@ QIconWrap::QIconWrap(const Napi::CallbackInfo &info) : Napi::ObjectWrap<QIconWra
{
Napi::String url = info[0].As<Napi::String>();
QString imageUrl = QString::fromUtf8(url.Utf8Value().c_str());
this->instance = new QIcon(imageUrl);
this->instance = std::make_unique<QIcon>(imageUrl);
}
else if (info.Length() == 0)
{
this->instance = new QIcon();
this->instance = std::make_unique<QIcon>();
}
else
{
@ -38,10 +38,10 @@ QIconWrap::QIconWrap(const Napi::CallbackInfo &info) : Napi::ObjectWrap<QIconWra
QIconWrap::~QIconWrap()
{
delete this->instance;
this->instance.reset();
}
QIcon *QIconWrap::getInternalInstance()
{
return this->instance;
return this->instance.get();
}

View File

@ -1,13 +1,14 @@
#pragma once
#include <napi.h>
#include <stdlib.h>
#include <QIcon>
#include "src/cpp/core/Component/component_macro.h"
class QIconWrap : public Napi::ObjectWrap<QIconWrap>
{
private:
QIcon *instance;
std::unique_ptr<QIcon> instance;
public:
static Napi::FunctionReference constructor;

View File

@ -24,14 +24,14 @@ QPixmapWrap::QPixmapWrap(const Napi::CallbackInfo& info) : Napi::ObjectWrap<QPix
Napi::HandleScope scope(env);
if(info.Length() == 1) {
if(info[0].IsExternal()){
this->instance = info[0].As<Napi::External<QPixmap>>().Data();
this->instance = std::unique_ptr<QPixmap>(info[0].As<Napi::External<QPixmap>>().Data());
} else {
Napi::String url = info[0].As<Napi::String>();
QString imageUrl = QString::fromUtf8(url.Utf8Value().c_str());
this->instance = new QPixmap(imageUrl);
this->instance = std::make_unique<QPixmap>(imageUrl);
}
}else if (info.Length() == 0){
this->instance = new QPixmap();
this->instance = std::make_unique<QPixmap>();
}else {
Napi::TypeError::New(env, "Wrong number of arguments").ThrowAsJavaScriptException();
}
@ -39,12 +39,12 @@ QPixmapWrap::QPixmapWrap(const Napi::CallbackInfo& info) : Napi::ObjectWrap<QPix
QPixmapWrap::~QPixmapWrap()
{
delete this->instance;
this->instance.reset();
}
QPixmap* QPixmapWrap::getInternalInstance()
{
return this->instance;
return this->instance.get();
}
Napi::Value QPixmapWrap::load(const Napi::CallbackInfo& info)

View File

@ -1,12 +1,13 @@
#pragma once
#include <napi.h>
#include <stdlib.h>
#include <QPixmap>
#include "src/cpp/core/Component/component_macro.h"
class QPixmapWrap : public Napi::ObjectWrap<QPixmapWrap> {
private:
QPixmap* instance;
std::unique_ptr<QPixmap> instance;
public:
static Napi::FunctionReference constructor;
static Napi::Object init(Napi::Env env, Napi::Object exports);

View File

@ -3,7 +3,6 @@
#include "src/cpp/Extras/Utils/nutils.h"
#include <QWidget>
Napi::FunctionReference QCheckBoxWrap::constructor;
Napi::Object QCheckBoxWrap::init(Napi::Env env, Napi::Object exports) {
@ -21,7 +20,7 @@ Napi::Object QCheckBoxWrap::init(Napi::Env env, Napi::Object exports) {
}
NCheckBox* QCheckBoxWrap::getInternalInstance() {
return this->instance;
return this->instance.get();
}
QCheckBoxWrap::QCheckBoxWrap(const Napi::CallbackInfo& info): Napi::ObjectWrap<QCheckBoxWrap>(info) {
@ -29,11 +28,11 @@ QCheckBoxWrap::QCheckBoxWrap(const Napi::CallbackInfo& info): Napi::ObjectWrap<Q
Napi::HandleScope scope(env);
if(info.Length() == 1) {
Napi::Object parentObject = info[0].As<Napi::Object>();
QWidgetWrap* parentWidgetWrap = Napi::ObjectWrap<QWidgetWrap>::Unwrap(parentObject);
this->instance = new NCheckBox(parentWidgetWrap->getInternalInstance()); //this sets the parent to current widget
Napi::Object parentObject = info[0].As<Napi::Object>();
QWidgetWrap* parentWidgetWrap = Napi::ObjectWrap<QWidgetWrap>::Unwrap(parentObject);
this->instance = std::make_unique<NCheckBox>(parentWidgetWrap->getInternalInstance()); //this sets the parent to current widget
}else if (info.Length() == 0){
this->instance = new NCheckBox();
this->instance = std::make_unique<NCheckBox>();
}else {
Napi::TypeError::New(env, "Wrong number of arguments").ThrowAsJavaScriptException();
}
@ -42,7 +41,7 @@ QCheckBoxWrap::QCheckBoxWrap(const Napi::CallbackInfo& info): Napi::ObjectWrap<Q
}
QCheckBoxWrap::~QCheckBoxWrap() {
delete this->instance;
this->instance.reset();
}
Napi::Value QCheckBoxWrap::setText(const Napi::CallbackInfo& info) {

View File

@ -1,13 +1,14 @@
#pragma once
#include <napi.h>
#include <stdlib.h>
#include "ncheckbox.h"
#include "src/cpp/QtWidgets/QWidget/qwidget_macro.h"
class QCheckBoxWrap : public Napi::ObjectWrap<QCheckBoxWrap>{
private:
NCheckBox* instance;
std::unique_ptr<NCheckBox> instance;
public:
static Napi::Object init(Napi::Env env, Napi::Object exports);
QCheckBoxWrap(const Napi::CallbackInfo& info);

View File

@ -4,7 +4,6 @@
#include "src/cpp/Extras/Utils/nutils.h"
#include <QWidget>
Napi::FunctionReference QDialWrap::constructor;
Napi::Object QDialWrap::init(Napi::Env env, Napi::Object exports) {
@ -25,7 +24,7 @@ Napi::Object QDialWrap::init(Napi::Env env, Napi::Object exports) {
}
NDial* QDialWrap::getInternalInstance() {
return this->instance;
return this->instance.get();
}
QDialWrap::QDialWrap(const Napi::CallbackInfo& info): Napi::ObjectWrap<QDialWrap>(info) {
@ -33,11 +32,11 @@ QDialWrap::QDialWrap(const Napi::CallbackInfo& info): Napi::ObjectWrap<QDialWrap
Napi::HandleScope scope(env);
if(info.Length() == 1) {
Napi::Object parentObject = info[0].As<Napi::Object>();
QWidgetWrap* parentWidgetWrap = Napi::ObjectWrap<QWidgetWrap>::Unwrap(parentObject);
this->instance = new NDial(parentWidgetWrap->getInternalInstance()); //this sets the parent to current widget
Napi::Object parentObject = info[0].As<Napi::Object>();
QWidgetWrap* parentWidgetWrap = Napi::ObjectWrap<QWidgetWrap>::Unwrap(parentObject);
this->instance = std::make_unique<NDial>(parentWidgetWrap->getInternalInstance()); //this sets the parent to current widget
}else if (info.Length() == 0){
this->instance = new NDial();
this->instance = std::make_unique<NDial>();
}else {
Napi::TypeError::New(env, "Wrong number of arguments").ThrowAsJavaScriptException();
}
@ -46,7 +45,7 @@ QDialWrap::QDialWrap(const Napi::CallbackInfo& info): Napi::ObjectWrap<QDialWrap
}
QDialWrap::~QDialWrap() {
delete this->instance;
this->instance.reset();
}
Napi::Value QDialWrap::setNotchesVisible(const Napi::CallbackInfo& info) {

View File

@ -1,13 +1,15 @@
#pragma once
#include <napi.h>
#include <stdlib.h>
#include <stdlib.h>
#include "ndial.h"
#include "src/cpp/QtWidgets/QWidget/qwidget_macro.h"
#include "src/cpp/QtWidgets/QAbstractSlider/qabstractslider_macro.h"
class QDialWrap : public Napi::ObjectWrap<QDialWrap>{
private:
NDial* instance;
std::unique_ptr<NDial> instance;
public:
static Napi::Object init(Napi::Env env, Napi::Object exports);
QDialWrap(const Napi::CallbackInfo& info);

View File

@ -17,7 +17,7 @@ Napi::Object QGridLayoutWrap::init(Napi::Env env, Napi::Object exports) {
}
QGridLayout* QGridLayoutWrap::getInternalInstance() {
return this->instance;
return this->instance.get();
}
QGridLayoutWrap::QGridLayoutWrap(const Napi::CallbackInfo& info): Napi::ObjectWrap<QGridLayoutWrap>(info) {
@ -25,18 +25,18 @@ QGridLayoutWrap::QGridLayoutWrap(const Napi::CallbackInfo& info): Napi::ObjectWr
Napi::HandleScope scope(env);
if(info.Length() == 1) {
Napi::Object parentObject = info[0].As<Napi::Object>();
QWidgetWrap* parentWidgetWrap = Napi::ObjectWrap<QWidgetWrap>::Unwrap(parentObject);
this->instance = new QGridLayout(parentWidgetWrap->getInternalInstance()); //this sets the parent to current widget
Napi::Object parentObject = info[0].As<Napi::Object>();
QWidgetWrap* parentWidgetWrap = Napi::ObjectWrap<QWidgetWrap>::Unwrap(parentObject);
this->instance = std::make_unique<QGridLayout>(parentWidgetWrap->getInternalInstance()); //this sets the parent to current widget
}else if (info.Length() == 0){
this->instance = new QGridLayout();
this->instance = std::make_unique<QGridLayout>();
}else {
Napi::TypeError::New(env, "Wrong number of arguments").ThrowAsJavaScriptException();
}
}
QGridLayoutWrap::~QGridLayoutWrap() {
delete this->instance;
this->instance.reset();
}
Napi::Value QGridLayoutWrap::addWidget(const Napi::CallbackInfo& info) {

View File

@ -1,12 +1,13 @@
#pragma once
#include <napi.h>
#include <stdlib.h>
#include <QGridLayout>
#include "src/cpp/QtWidgets/QLayout/qlayout_macro.h"
class QGridLayoutWrap : public Napi::ObjectWrap<QGridLayoutWrap>{
private:
QGridLayout* instance;
std::unique_ptr<QGridLayout> instance;
public:
static Napi::Object init(Napi::Env env, Napi::Object exports);

View File

@ -22,7 +22,7 @@ Napi::Object QLabelWrap::init(Napi::Env env, Napi::Object exports) {
}
NLabel* QLabelWrap::getInternalInstance() {
return this->instance;
return this->instance.get();
}
QLabelWrap::QLabelWrap(const Napi::CallbackInfo& info): Napi::ObjectWrap<QLabelWrap>(info) {
@ -30,11 +30,11 @@ QLabelWrap::QLabelWrap(const Napi::CallbackInfo& info): Napi::ObjectWrap<QLabelW
Napi::HandleScope scope(env);
if(info.Length() == 1) {
Napi::Object parentObject = info[0].As<Napi::Object>();
QWidgetWrap* parentWidgetWrap = Napi::ObjectWrap<QWidgetWrap>::Unwrap(parentObject);
this->instance = new NLabel(parentWidgetWrap->getInternalInstance()); //this sets the parent to current widget
Napi::Object parentObject = info[0].As<Napi::Object>();
QWidgetWrap* parentWidgetWrap = Napi::ObjectWrap<QWidgetWrap>::Unwrap(parentObject);
this->instance = std::make_unique<NLabel>(parentWidgetWrap->getInternalInstance()); //this sets the parent to current widget
}else if (info.Length() == 0){
this->instance = new NLabel();
this->instance = std::make_unique<NLabel>();
}else {
Napi::TypeError::New(env, "Wrong number of arguments").ThrowAsJavaScriptException();
}
@ -43,7 +43,7 @@ QLabelWrap::QLabelWrap(const Napi::CallbackInfo& info): Napi::ObjectWrap<QLabelW
}
QLabelWrap::~QLabelWrap() {
delete this->instance;
this->instance.reset();
}
Napi::Value QLabelWrap::setWordWrap(const Napi::CallbackInfo& info) {

View File

@ -1,13 +1,13 @@
#pragma once
#include <napi.h>
#include <stdlib.h>
#include "nlabel.h"
#include "src/cpp/QtWidgets/QWidget/qwidget_macro.h"
class QLabelWrap : public Napi::ObjectWrap<QLabelWrap>{
private:
NLabel* instance;
std::unique_ptr<NLabel> instance;
public:
static Napi::Object init(Napi::Env env, Napi::Object exports);
QLabelWrap(const Napi::CallbackInfo& info);

View File

@ -11,7 +11,7 @@ void QLayoutWrap::init(Napi::Env env) {
}
QLayout* QLayoutWrap::getInternalInstance() {
return this->instance;
return this->instance.get();
}
QLayoutWrap::QLayoutWrap(const Napi::CallbackInfo& info): Napi::ObjectWrap<QLayoutWrap>(info) {
@ -20,5 +20,5 @@ QLayoutWrap::QLayoutWrap(const Napi::CallbackInfo& info): Napi::ObjectWrap<QLayo
}
QLayoutWrap::~QLayoutWrap() {
delete this->instance;
this->instance.reset();
}

View File

@ -1,6 +1,7 @@
#pragma once
#include <napi.h>
#include <stdlib.h>
#include <QLayout>
#include "src/cpp/QtWidgets/QLayout/qlayout_macro.h"
@ -8,7 +9,7 @@
//ABSTRACT CLASS
class QLayoutWrap : public Napi::ObjectWrap<QLayoutWrap>{
private:
QLayout* instance;
std::unique_ptr<QLayout> instance;
public:
static void init(Napi::Env env);
QLayoutWrap(const Napi::CallbackInfo& info);

View File

@ -4,7 +4,6 @@
#include "src/cpp/Extras/Utils/nutils.h"
#include <QWidget>
Napi::FunctionReference QLineEditWrap::constructor;
Napi::Object QLineEditWrap::init(Napi::Env env, Napi::Object exports) {
@ -24,7 +23,7 @@ Napi::Object QLineEditWrap::init(Napi::Env env, Napi::Object exports) {
}
NLineEdit* QLineEditWrap::getInternalInstance() {
return this->instance;
return this->instance.get();
}
QLineEditWrap::QLineEditWrap(const Napi::CallbackInfo& info): Napi::ObjectWrap<QLineEditWrap>(info) {
@ -32,11 +31,11 @@ QLineEditWrap::QLineEditWrap(const Napi::CallbackInfo& info): Napi::ObjectWrap<Q
Napi::HandleScope scope(env);
if(info.Length() == 1) {
Napi::Object parentObject = info[0].As<Napi::Object>();
QWidgetWrap* parentWidgetWrap = Napi::ObjectWrap<QWidgetWrap>::Unwrap(parentObject);
this->instance = new NLineEdit(parentWidgetWrap->getInternalInstance()); //this sets the parent to current widget
Napi::Object parentObject = info[0].As<Napi::Object>();
QWidgetWrap* parentWidgetWrap = Napi::ObjectWrap<QWidgetWrap>::Unwrap(parentObject);
this->instance = std::make_unique<NLineEdit>(parentWidgetWrap->getInternalInstance()); //this sets the parent to current widget
}else if (info.Length() == 0){
this->instance = new NLineEdit();
this->instance = std::make_unique<NLineEdit>();
}else {
Napi::TypeError::New(env, "Wrong number of arguments").ThrowAsJavaScriptException();
}
@ -45,7 +44,7 @@ QLineEditWrap::QLineEditWrap(const Napi::CallbackInfo& info): Napi::ObjectWrap<Q
}
QLineEditWrap::~QLineEditWrap() {
delete this->instance;
this->instance.reset();
}

View File

@ -1,13 +1,13 @@
#pragma once
#include <napi.h>
#include <stdlib.h>
#include "nlineedit.h"
#include "src/cpp/QtWidgets/QWidget/qwidget_macro.h"
class QLineEditWrap : public Napi::ObjectWrap<QLineEditWrap>{
private:
NLineEdit* instance;
std::unique_ptr<NLineEdit> instance;
public:
static Napi::Object init(Napi::Env env, Napi::Object exports);
QLineEditWrap(const Napi::CallbackInfo& info);

View File

@ -17,29 +17,28 @@ Napi::Object QMainWindowWrap::init(Napi::Env env, Napi::Object exports) {
}
NMainWindow* QMainWindowWrap::getInternalInstance() {
return this->instance;
return this->instance.get();
}
QMainWindowWrap::QMainWindowWrap(const Napi::CallbackInfo& info): Napi::ObjectWrap<QMainWindowWrap>(info) {
Napi::Env env = info.Env();
Napi::HandleScope scope(env);
// SuppressDestruct();
if(info.Length() == 1) {
Napi::Object parentObject = info[0].As<Napi::Object>();
QWidgetWrap* parentWidgetWrap = Napi::ObjectWrap<QWidgetWrap>::Unwrap(parentObject);
this->instance = new NMainWindow(parentWidgetWrap->getInternalInstance()); //this sets the parent to current widget
Napi::Object parentObject = info[0].As<Napi::Object>();
QWidgetWrap* parentWidgetWrap = Napi::ObjectWrap<QWidgetWrap>::Unwrap(parentObject);
this->instance = std::make_unique<NMainWindow>(parentWidgetWrap->getInternalInstance()); //this sets the parent to current widget
}else if (info.Length() == 0){
this->instance = new NMainWindow();
this->instance = std::make_unique<NMainWindow>();
}else {
Napi::TypeError::New(env, "Wrong number of arguments").ThrowAsJavaScriptException();
}
this->instance->setAttribute(Qt::WA_DeleteOnClose);
this->instance->installEventFilter(this->instance);
this->instance->installEventFilter(this->getInternalInstance());
}
QMainWindowWrap::~QMainWindowWrap() {
delete this->instance;
this->instance.reset();
}
Napi::Value QMainWindowWrap::setCentralWidget(const Napi::CallbackInfo& info){

View File

@ -1,14 +1,13 @@
#pragma once
#include <napi.h>
#include <stdlib.h>
#include "nmainwindow.h"
#include "src/cpp/QtWidgets/QWidget/qwidget_macro.h"
class QMainWindowWrap : public Napi::ObjectWrap<QMainWindowWrap>{
private:
NMainWindow* instance;
std::unique_ptr<NMainWindow> instance;
public:
static Napi::Object init(Napi::Env env, Napi::Object exports);
QMainWindowWrap(const Napi::CallbackInfo& info);

View File

@ -24,7 +24,7 @@ Napi::Object QPlainTextEditWrap::init(Napi::Env env, Napi::Object exports) {
}
NPlainTextEdit* QPlainTextEditWrap::getInternalInstance() {
return this->instance;
return this->instance.get();
}
QPlainTextEditWrap::QPlainTextEditWrap(const Napi::CallbackInfo& info): Napi::ObjectWrap<QPlainTextEditWrap>(info) {
@ -32,11 +32,11 @@ QPlainTextEditWrap::QPlainTextEditWrap(const Napi::CallbackInfo& info): Napi::Ob
Napi::HandleScope scope(env);
if(info.Length() == 1) {
Napi::Object parentObject = info[0].As<Napi::Object>();
QWidgetWrap* parentWidgetWrap = Napi::ObjectWrap<QWidgetWrap>::Unwrap(parentObject);
this->instance = new NPlainTextEdit(parentWidgetWrap->getInternalInstance()); //this sets the parent to current widget
Napi::Object parentObject = info[0].As<Napi::Object>();
QWidgetWrap* parentWidgetWrap = Napi::ObjectWrap<QWidgetWrap>::Unwrap(parentObject);
this->instance = std::make_unique<NPlainTextEdit>(parentWidgetWrap->getInternalInstance()); //this sets the parent to current widget
}else if (info.Length() == 0){
this->instance = new NPlainTextEdit();
this->instance = std::make_unique<NPlainTextEdit>();
}else {
Napi::TypeError::New(env, "Wrong number of arguments").ThrowAsJavaScriptException();
}
@ -45,7 +45,7 @@ QPlainTextEditWrap::QPlainTextEditWrap(const Napi::CallbackInfo& info): Napi::Ob
}
QPlainTextEditWrap::~QPlainTextEditWrap() {
delete this->instance;
this->instance.reset();
}
Napi::Value QPlainTextEditWrap::setPlainText(const Napi::CallbackInfo& info){

View File

@ -1,13 +1,14 @@
#pragma once
#include <napi.h>
#include <stdlib.h>
#include "nplaintextedit.h"
#include "src/cpp/QtWidgets/QWidget/qwidget_macro.h"
#include "src/cpp/QtWidgets/QAbstractScrollArea/qabstractscrollarea_macro.h"
class QPlainTextEditWrap : public Napi::ObjectWrap<QPlainTextEditWrap>{
private:
NPlainTextEdit* instance;
std::unique_ptr<NPlainTextEdit> instance;
public:
static Napi::Object init(Napi::Env env, Napi::Object exports);
QPlainTextEditWrap(const Napi::CallbackInfo& info);

View File

@ -4,7 +4,6 @@
#include "src/cpp/Extras/Utils/nutils.h"
#include <QWidget>
Napi::FunctionReference QProgressBarWrap::constructor;
Napi::Object QProgressBarWrap::init(Napi::Env env, Napi::Object exports) {
@ -24,7 +23,7 @@ Napi::Object QProgressBarWrap::init(Napi::Env env, Napi::Object exports) {
}
NProgressBar* QProgressBarWrap::getInternalInstance() {
return this->instance;
return this->instance.get();
}
QProgressBarWrap::QProgressBarWrap(const Napi::CallbackInfo& info): Napi::ObjectWrap<QProgressBarWrap>(info) {
@ -32,11 +31,11 @@ QProgressBarWrap::QProgressBarWrap(const Napi::CallbackInfo& info): Napi::Object
Napi::HandleScope scope(env);
if(info.Length() == 1) {
Napi::Object parentObject = info[0].As<Napi::Object>();
QWidgetWrap* parentWidgetWrap = Napi::ObjectWrap<QWidgetWrap>::Unwrap(parentObject);
this->instance = new NProgressBar(parentWidgetWrap->getInternalInstance()); //this sets the parent to current widget
Napi::Object parentObject = info[0].As<Napi::Object>();
QWidgetWrap* parentWidgetWrap = Napi::ObjectWrap<QWidgetWrap>::Unwrap(parentObject);
this->instance = std::make_unique<NProgressBar>(parentWidgetWrap->getInternalInstance()); //this sets the parent to current widget
}else if (info.Length() == 0){
this->instance = new NProgressBar();
this->instance = std::make_unique<NProgressBar>();
}else {
Napi::TypeError::New(env, "Wrong number of arguments").ThrowAsJavaScriptException();
}
@ -45,7 +44,7 @@ QProgressBarWrap::QProgressBarWrap(const Napi::CallbackInfo& info): Napi::Object
}
QProgressBarWrap::~QProgressBarWrap() {
delete this->instance;
this->instance.reset();
}
Napi::Value QProgressBarWrap::setValue(const Napi::CallbackInfo& info) {

View File

@ -1,12 +1,13 @@
#pragma once
#include <napi.h>
#include <stdlib.h>
#include "nprogressbar.h"
#include "src/cpp/QtWidgets/QWidget/qwidget_macro.h"
class QProgressBarWrap : public Napi::ObjectWrap<QProgressBarWrap>{
private:
NProgressBar* instance;
std::unique_ptr<NProgressBar> instance;
public:
static Napi::Object init(Napi::Env env, Napi::Object exports);
QProgressBarWrap(const Napi::CallbackInfo& info);

View File

@ -20,7 +20,7 @@ Napi::Object QPushButtonWrap::init(Napi::Env env, Napi::Object exports) {
}
NPushButton* QPushButtonWrap::getInternalInstance() {
return this->instance;
return this->instance.get();
}
QPushButtonWrap::QPushButtonWrap(const Napi::CallbackInfo& info): Napi::ObjectWrap<QPushButtonWrap>(info) {
@ -28,11 +28,11 @@ QPushButtonWrap::QPushButtonWrap(const Napi::CallbackInfo& info): Napi::ObjectWr
Napi::HandleScope scope(env);
if(info.Length() == 1) {
Napi::Object parentObject = info[0].As<Napi::Object>();
QWidgetWrap* parentWidgetWrap = Napi::ObjectWrap<QWidgetWrap>::Unwrap(parentObject);
this->instance = new NPushButton(parentWidgetWrap->getInternalInstance()); //this sets the parent to current widget
Napi::Object parentObject = info[0].As<Napi::Object>();
QWidgetWrap* parentWidgetWrap = Napi::ObjectWrap<QWidgetWrap>::Unwrap(parentObject);
this->instance = std::make_unique<NPushButton>(parentWidgetWrap->getInternalInstance()); //this sets the parent to current widget
} else if (info.Length() == 0){
this->instance = new NPushButton();
this->instance = std::make_unique<NPushButton>();
} else {
Napi::TypeError::New(env, "Wrong number of arguments").ThrowAsJavaScriptException();
}
@ -41,7 +41,7 @@ QPushButtonWrap::QPushButtonWrap(const Napi::CallbackInfo& info): Napi::ObjectWr
}
QPushButtonWrap::~QPushButtonWrap() {
delete this->instance;
this->instance.reset();
}

View File

@ -1,6 +1,7 @@
#pragma once
#include <napi.h>
#include <stdlib.h>
#include "npushbutton.h"
#include "src/cpp/QtWidgets/QWidget/qwidget_macro.h"
@ -8,7 +9,7 @@
class QPushButtonWrap : public Napi::ObjectWrap<QPushButtonWrap> {
private:
NPushButton* instance;
std::unique_ptr<NPushButton> instance;
public:
static Napi::Object init(Napi::Env env, Napi::Object exports);
QPushButtonWrap(const Napi::CallbackInfo &info);

View File

@ -20,7 +20,7 @@ Napi::Object QRadioButtonWrap::init(Napi::Env env, Napi::Object exports) {
}
NRadioButton* QRadioButtonWrap::getInternalInstance() {
return this->instance;
return this->instance.get();
}
QRadioButtonWrap::QRadioButtonWrap(const Napi::CallbackInfo& info): Napi::ObjectWrap<QRadioButtonWrap>(info) {
@ -28,11 +28,11 @@ QRadioButtonWrap::QRadioButtonWrap(const Napi::CallbackInfo& info): Napi::Object
Napi::HandleScope scope(env);
if(info.Length() == 1) {
Napi::Object parentObject = info[0].As<Napi::Object>();
QWidgetWrap* parentWidgetWrap = Napi::ObjectWrap<QWidgetWrap>::Unwrap(parentObject);
this->instance = new NRadioButton(parentWidgetWrap->getInternalInstance()); //this sets the parent to current widget
Napi::Object parentObject = info[0].As<Napi::Object>();
QWidgetWrap* parentWidgetWrap = Napi::ObjectWrap<QWidgetWrap>::Unwrap(parentObject);
this->instance = std::make_unique<NRadioButton>(parentWidgetWrap->getInternalInstance()); //this sets the parent to current widget
}else if (info.Length() == 0){
this->instance = new NRadioButton();
this->instance = std::make_unique<NRadioButton>();
}else {
Napi::TypeError::New(env, "Wrong number of arguments").ThrowAsJavaScriptException();
}
@ -41,7 +41,7 @@ QRadioButtonWrap::QRadioButtonWrap(const Napi::CallbackInfo& info): Napi::Object
}
QRadioButtonWrap::~QRadioButtonWrap() {
delete this->instance;
this->instance.reset();
}
Napi::Value QRadioButtonWrap::setText(const Napi::CallbackInfo& info) {

View File

@ -1,13 +1,14 @@
#pragma once
#include <napi.h>
#include <stdlib.h>
#include "nradiobutton.h"
#include "src/cpp/QtWidgets/QWidget/qwidget_macro.h"
class QRadioButtonWrap : public Napi::ObjectWrap<QRadioButtonWrap>{
private:
NRadioButton* instance;
std::unique_ptr<NRadioButton> instance;
public:
static Napi::Object init(Napi::Env env, Napi::Object exports);
QRadioButtonWrap(const Napi::CallbackInfo& info);

View File

@ -17,7 +17,7 @@ Napi::Object QScrollAreaWrap::init(Napi::Env env, Napi::Object exports) {
}
NScrollArea* QScrollAreaWrap::getInternalInstance() {
return this->instance;
return this->instance.get();
}
QScrollAreaWrap::QScrollAreaWrap(const Napi::CallbackInfo& info): Napi::ObjectWrap<QScrollAreaWrap>(info) {
@ -25,18 +25,18 @@ QScrollAreaWrap::QScrollAreaWrap(const Napi::CallbackInfo& info): Napi::ObjectWr
Napi::HandleScope scope(env);
if(info.Length() == 1) {
Napi::Object parentObject = info[0].As<Napi::Object>();
QWidgetWrap* parentWidgetWrap = Napi::ObjectWrap<QWidgetWrap>::Unwrap(parentObject);
this->instance = new NScrollArea(parentWidgetWrap->getInternalInstance()); //this sets the parent to current widget
Napi::Object parentObject = info[0].As<Napi::Object>();
QWidgetWrap* parentWidgetWrap = Napi::ObjectWrap<QWidgetWrap>::Unwrap(parentObject);
this->instance = std::make_unique<NScrollArea>(parentWidgetWrap->getInternalInstance()); //this sets the parent to current widget
}else if (info.Length() == 0){
this->instance = new NScrollArea();
this->instance = std::make_unique<NScrollArea>();
}else {
Napi::TypeError::New(env, "Wrong number of arguments").ThrowAsJavaScriptException();
}
}
QScrollAreaWrap::~QScrollAreaWrap() {
delete this->instance;
this->instance.reset();
}
Napi::Value QScrollAreaWrap::setWidget(const Napi::CallbackInfo& info) {

View File

@ -1,13 +1,13 @@
#pragma once
#include <napi.h>
#include <stdlib.h>
#include "nscrollarea.h"
#include "src/cpp/QtWidgets/QAbstractScrollArea/qabstractscrollarea_macro.h"
class QScrollAreaWrap : public Napi::ObjectWrap<QScrollAreaWrap>{
private:
NScrollArea* instance;
std::unique_ptr<NScrollArea> instance;
public:
static Napi::Object init(Napi::Env env, Napi::Object exports);
QScrollAreaWrap(const Napi::CallbackInfo& info);

View File

@ -27,7 +27,7 @@ Napi::Object QSpinBoxWrap::init(Napi::Env env, Napi::Object exports) {
}
NSpinBox* QSpinBoxWrap::getInternalInstance() {
return this->instance;
return this->instance.get();
}
QSpinBoxWrap::QSpinBoxWrap(const Napi::CallbackInfo& info): Napi::ObjectWrap<QSpinBoxWrap>(info) {
@ -37,9 +37,9 @@ QSpinBoxWrap::QSpinBoxWrap(const Napi::CallbackInfo& info): Napi::ObjectWrap<QSp
if(info.Length() == 1) {
Napi::Object parentObject = info[0].As<Napi::Object>();
QWidgetWrap* parentWidgetWrap = Napi::ObjectWrap<QWidgetWrap>::Unwrap(parentObject);
this->instance = new NSpinBox(parentWidgetWrap->getInternalInstance()); //this sets the parent to current widget
this->instance = std::make_unique<NSpinBox>(parentWidgetWrap->getInternalInstance()); //this sets the parent to current widget
} else if (info.Length() == 0){
this->instance = new NSpinBox();
this->instance = std::make_unique<NSpinBox>();
} else {
Napi::TypeError::New(env, "Wrong number of arguments").ThrowAsJavaScriptException();
}
@ -48,7 +48,7 @@ QSpinBoxWrap::QSpinBoxWrap(const Napi::CallbackInfo& info): Napi::ObjectWrap<QSp
}
QSpinBoxWrap::~QSpinBoxWrap() {
delete this->instance;
this->instance.reset();
}
Napi::Value QSpinBoxWrap::setPrefix(const Napi::CallbackInfo& info) {

View File

@ -1,6 +1,7 @@
#pragma once
#include <napi.h>
#include <stdlib.h>
#include "nspinbox.h"
#include "src/cpp/QtWidgets/QWidget/qwidget_macro.h"
@ -8,7 +9,7 @@
class QSpinBoxWrap : public Napi::ObjectWrap<QSpinBoxWrap> {
private:
NSpinBox* instance;
std::unique_ptr<NSpinBox> instance;
public:
static Napi::Object init(Napi::Env env, Napi::Object exports);
QSpinBoxWrap(const Napi::CallbackInfo &info);

View File

@ -16,7 +16,7 @@ Napi::Object QWidgetWrap::init(Napi::Env env, Napi::Object exports) {
}
NWidget* QWidgetWrap::getInternalInstance() {
return this->instance;
return this->instance.get();
}
QWidgetWrap::QWidgetWrap(const Napi::CallbackInfo& info): Napi::ObjectWrap<QWidgetWrap>(info) {
@ -24,20 +24,20 @@ QWidgetWrap::QWidgetWrap(const Napi::CallbackInfo& info): Napi::ObjectWrap<QWidg
Napi::HandleScope scope(env);
if(info.Length() == 1) {
if(info[0].IsExternal()){
this->instance = info[0].As<Napi::External<NWidget>>().Data();
this->instance = std::unique_ptr<NWidget>(info[0].As<Napi::External<NWidget>>().Data());
} else {
Napi::Object parentObject = info[0].As<Napi::Object>();
QWidgetWrap* parentWidgetWrap = Napi::ObjectWrap<QWidgetWrap>::Unwrap(parentObject);
this->instance = new NWidget(parentWidgetWrap->getInternalInstance()); //this sets the parent to current widget
this->instance = std::make_unique<NWidget>(parentWidgetWrap->getInternalInstance()); //this sets the parent to current widget
}
} else if (info.Length() == 0){
this->instance = new NWidget();
}else {
this->instance = std::make_unique<NWidget>();
} else {
Napi::TypeError::New(env, "Wrong number of arguments").ThrowAsJavaScriptException();
}
}
QWidgetWrap::~QWidgetWrap() {
delete this->instance;
this->instance.reset();
}

View File

@ -1,13 +1,13 @@
#pragma once
#include "src/cpp/QtWidgets/QWidget/qwidget_macro.h"
#include <napi.h>
#include <stdlib.h>
#include "nwidget.h"
class QWidgetWrap : public Napi::ObjectWrap<QWidgetWrap>{
private:
NWidget* instance;
std::unique_ptr<NWidget> instance;
public:
static Napi::Object init(Napi::Env env, Napi::Object exports);
QWidgetWrap(const Napi::CallbackInfo& info);

View File

@ -20,7 +20,7 @@ Napi::Object FlexLayoutWrap::init(Napi::Env env, Napi::Object exports) {
}
FlexLayout* FlexLayoutWrap::getInternalInstance() {
return this->instance;
return this->instance.get();
}
FlexLayoutWrap::FlexLayoutWrap(const Napi::CallbackInfo& info): Napi::ObjectWrap<FlexLayoutWrap>(info) {
@ -30,16 +30,16 @@ FlexLayoutWrap::FlexLayoutWrap(const Napi::CallbackInfo& info): Napi::ObjectWrap
if(info.Length() == 1) {
Napi::Object parentObject = info[0].As<Napi::Object>();
QWidgetWrap* parentWidgetWrap = Napi::ObjectWrap<QWidgetWrap>::Unwrap(parentObject);
this->instance = new FlexLayout(parentWidgetWrap->getInternalInstance()); //this sets the parent to current widget
this->instance = std::make_unique<FlexLayout>(parentWidgetWrap->getInternalInstance());
}else if (info.Length() == 0){
this->instance = new FlexLayout();
this->instance = std::make_unique<FlexLayout>();
}else {
Napi::TypeError::New(env, "Wrong number of arguments").ThrowAsJavaScriptException();
}
}
FlexLayoutWrap::~FlexLayoutWrap() {
delete this->instance;
this->instance.reset();
}
Napi::Value FlexLayoutWrap::addWidget(const Napi::CallbackInfo& info) {

View File

@ -1,13 +1,13 @@
#pragma once
#include <napi.h>
#include <stdlib.h>
#include "flexlayout.h"
#include "src/cpp/QtWidgets/QLayout/qlayout_macro.h"
class FlexLayoutWrap : public Napi::ObjectWrap<FlexLayoutWrap>{
private:
FlexLayout* instance;
std::unique_ptr<FlexLayout> instance;
public:
static Napi::Object init(Napi::Env env, Napi::Object exports);
FlexLayoutWrap(const Napi::CallbackInfo& info);