nodeguy/src/cpp/include/nodegui/QtWidgets/QAbstractSpinBox/qabstractspinbox_macro.h
2020-01-06 20:06:37 +05:30

56 lines
2.5 KiB
C

#pragma once
#include "QtWidgets/QWidget/qwidget_macro.h"
#include "QtWidgets/QWidget/qwidget_wrap.h"
/*
This macro adds common QAbstractSpinBox exported methods
The exported methods are taken into this macro to avoid writing them in each
and every widget we export.
*/
#ifndef QABSTRACTSPINBOX_WRAPPED_METHODS_DECLARATION
#define QABSTRACTSPINBOX_WRAPPED_METHODS_DECLARATION \
QWIDGET_WRAPPED_METHODS_DECLARATION \
Napi::Value selectAll(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
Napi::HandleScope scope(env); \
this->instance->selectAll(); \
return env.Null(); \
} \
Napi::Value stepDown(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
Napi::HandleScope scope(env); \
this->instance->stepDown(); \
return env.Null(); \
} \
Napi::Value stepUp(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
Napi::HandleScope scope(env); \
this->instance->stepUp(); \
return env.Null(); \
}
#endif // QABSTRACTSPINBOX_WRAPPED_METHODS_DECLARATION
#ifndef QABSTRACTSPINBOX_WRAPPED_METHODS_EXPORT_DEFINE
#define QABSTRACTSPINBOX_WRAPPED_METHODS_EXPORT_DEFINE(WidgetWrapName) \
QWIDGET_WRAPPED_METHODS_EXPORT_DEFINE(WidgetWrapName) \
InstanceMethod("selectAll", &WidgetWrapName::selectAll), \
InstanceMethod("stepDown", &WidgetWrapName::stepDown), \
InstanceMethod("stepUp", &WidgetWrapName::stepUp),
#endif // QABSTRACTSPINBOX_WRAPPED_METHODS_EXPORT_DEFINE
#ifndef QABSTRACTSPINBOX_SIGNALS
#define QABSTRACTSPINBOX_SIGNALS \
QWIDGET_SIGNALS \
QObject::connect(this, &QAbstractSpinBox::editingFinished, [=]() { \
Napi::Env env = this->emitOnNode.Env(); \
Napi::HandleScope scope(env); \
this->emitOnNode.Call({Napi::String::New(env, "editingFinished")}); \
});
#endif // QABSTRACTSPINBOX_SIGNALS