Add done() and accept() to QDialog and subclasses as much as possible
issue #708
This commit is contained in:
parent
28b98b055a
commit
123524d126
@ -9,7 +9,7 @@
|
|||||||
#include "QtWidgets/QDialog/qdialog_macro.h"
|
#include "QtWidgets/QDialog/qdialog_macro.h"
|
||||||
|
|
||||||
class DLL_EXPORT QColorDialogWrap : public Napi::ObjectWrap<QColorDialogWrap> {
|
class DLL_EXPORT QColorDialogWrap : public Napi::ObjectWrap<QColorDialogWrap> {
|
||||||
QDIALOG_WRAPPED_METHODS_DECLARATION
|
QDIALOG_WRAPPED_METHODS_DECLARATION_NO_ACCEPT_OR_DONE
|
||||||
private:
|
private:
|
||||||
QPointer<QColorDialog> instance;
|
QPointer<QColorDialog> instance;
|
||||||
|
|
||||||
@ -24,6 +24,8 @@ class DLL_EXPORT QColorDialogWrap : public Napi::ObjectWrap<QColorDialogWrap> {
|
|||||||
Napi::Value selectedColor(const Napi::CallbackInfo& info);
|
Napi::Value selectedColor(const Napi::CallbackInfo& info);
|
||||||
Napi::Value setOption(const Napi::CallbackInfo& info);
|
Napi::Value setOption(const Napi::CallbackInfo& info);
|
||||||
Napi::Value testOption(const Napi::CallbackInfo& info);
|
Napi::Value testOption(const Napi::CallbackInfo& info);
|
||||||
|
Napi::Value accept(const Napi::CallbackInfo& info);
|
||||||
|
Napi::Value done(const Napi::CallbackInfo& info);
|
||||||
};
|
};
|
||||||
|
|
||||||
namespace StaticQColorDialogWrapMethods {
|
namespace StaticQColorDialogWrapMethods {
|
||||||
|
|||||||
@ -10,39 +10,55 @@
|
|||||||
|
|
||||||
This macro adds common QDialog exported methods
|
This macro adds common QDialog exported methods
|
||||||
The exported methods are taken into this macro to avoid writing them in each
|
The exported methods are taken into this macro to avoid writing them in each
|
||||||
and every widget we export.
|
and every widget we export.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#ifndef QDIALOG_WRAPPED_METHODS_DECLARATION_NO_ACCEPT_OR_DONE
|
||||||
|
#define QDIALOG_WRAPPED_METHODS_DECLARATION_NO_ACCEPT_OR_DONE \
|
||||||
|
\
|
||||||
|
QWIDGET_WRAPPED_METHODS_DECLARATION \
|
||||||
|
\
|
||||||
|
Napi::Value setResult(const Napi::CallbackInfo& info) { \
|
||||||
|
Napi::Env env = info.Env(); \
|
||||||
|
Napi::Number result = info[0].As<Napi::Number>(); \
|
||||||
|
this->instance->setResult(result.Int32Value()); \
|
||||||
|
return env.Null(); \
|
||||||
|
} \
|
||||||
|
Napi::Value result(const Napi::CallbackInfo& info) { \
|
||||||
|
Napi::Env env = info.Env(); \
|
||||||
|
int value = this->instance->result(); \
|
||||||
|
return Napi::Value::From(env, value); \
|
||||||
|
} \
|
||||||
|
Napi::Value exec(const Napi::CallbackInfo& info) { \
|
||||||
|
Napi::Env env = info.Env(); \
|
||||||
|
int value = static_cast<int>(this->instance->exec()); \
|
||||||
|
return Napi::Number::From(env, value); \
|
||||||
|
} \
|
||||||
|
Napi::Value open(const Napi::CallbackInfo& info) { \
|
||||||
|
Napi::Env env = info.Env(); \
|
||||||
|
this->instance->open(); \
|
||||||
|
return env.Null(); \
|
||||||
|
} \
|
||||||
|
Napi::Value reject(const Napi::CallbackInfo& info) { \
|
||||||
|
Napi::Env env = info.Env(); \
|
||||||
|
this->instance->reject(); \
|
||||||
|
return env.Null(); \
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef QDIALOG_WRAPPED_METHODS_DECLARATION
|
#ifndef QDIALOG_WRAPPED_METHODS_DECLARATION
|
||||||
#define QDIALOG_WRAPPED_METHODS_DECLARATION \
|
#define QDIALOG_WRAPPED_METHODS_DECLARATION \
|
||||||
\
|
QDIALOG_WRAPPED_METHODS_DECLARATION_NO_ACCEPT_OR_DONE \
|
||||||
QWIDGET_WRAPPED_METHODS_DECLARATION \
|
Napi::Value accept(const Napi::CallbackInfo& info) { \
|
||||||
\
|
Napi::Env env = info.Env(); \
|
||||||
Napi::Value setResult(const Napi::CallbackInfo& info) { \
|
this->instance->accept(); \
|
||||||
Napi::Env env = info.Env(); \
|
return env.Null(); \
|
||||||
Napi::Number result = info[0].As<Napi::Number>(); \
|
} \
|
||||||
this->instance->setResult(result.Int32Value()); \
|
Napi::Value done(const Napi::CallbackInfo& info) { \
|
||||||
return env.Null(); \
|
Napi::Env env = info.Env(); \
|
||||||
} \
|
int r = info[0].As<Napi::Number>().Int32Value(); \
|
||||||
Napi::Value result(const Napi::CallbackInfo& info) { \
|
this->instance->done(r); \
|
||||||
Napi::Env env = info.Env(); \
|
return env.Null(); \
|
||||||
int value = this->instance->result(); \
|
|
||||||
return Napi::Value::From(env, value); \
|
|
||||||
} \
|
|
||||||
Napi::Value exec(const Napi::CallbackInfo& info) { \
|
|
||||||
Napi::Env env = info.Env(); \
|
|
||||||
int value = static_cast<int>(this->instance->exec()); \
|
|
||||||
return Napi::Number::From(env, value); \
|
|
||||||
} \
|
|
||||||
Napi::Value open(const Napi::CallbackInfo& info) { \
|
|
||||||
Napi::Env env = info.Env(); \
|
|
||||||
this->instance->open(); \
|
|
||||||
return env.Null(); \
|
|
||||||
} \
|
|
||||||
Napi::Value reject(const Napi::CallbackInfo& info) { \
|
|
||||||
Napi::Env env = info.Env(); \
|
|
||||||
this->instance->reject(); \
|
|
||||||
return env.Null(); \
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -54,7 +70,9 @@
|
|||||||
InstanceMethod("setResult", &DialogWrapName::setResult), \
|
InstanceMethod("setResult", &DialogWrapName::setResult), \
|
||||||
InstanceMethod("exec", &DialogWrapName::exec), \
|
InstanceMethod("exec", &DialogWrapName::exec), \
|
||||||
InstanceMethod("open", &DialogWrapName::open), \
|
InstanceMethod("open", &DialogWrapName::open), \
|
||||||
InstanceMethod("reject", &DialogWrapName::reject),
|
InstanceMethod("reject", &DialogWrapName::reject), \
|
||||||
|
InstanceMethod("accept", &DialogWrapName::accept), \
|
||||||
|
InstanceMethod("done", &DialogWrapName::done),
|
||||||
|
|
||||||
#endif // QDIALOG_WRAPPED_METHODS_EXPORT_DEFINE
|
#endif // QDIALOG_WRAPPED_METHODS_EXPORT_DEFINE
|
||||||
|
|
||||||
|
|||||||
@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
class DLL_EXPORT QErrorMessageWrap
|
class DLL_EXPORT QErrorMessageWrap
|
||||||
: public Napi::ObjectWrap<QErrorMessageWrap> {
|
: public Napi::ObjectWrap<QErrorMessageWrap> {
|
||||||
QDIALOG_WRAPPED_METHODS_DECLARATION
|
QDIALOG_WRAPPED_METHODS_DECLARATION_NO_ACCEPT_OR_DONE
|
||||||
private:
|
private:
|
||||||
QPointer<QErrorMessage> instance;
|
QPointer<QErrorMessage> instance;
|
||||||
|
|
||||||
@ -23,4 +23,6 @@ class DLL_EXPORT QErrorMessageWrap
|
|||||||
static Napi::FunctionReference constructor;
|
static Napi::FunctionReference constructor;
|
||||||
// wrapped methods
|
// wrapped methods
|
||||||
Napi::Value showMessage(const Napi::CallbackInfo& info);
|
Napi::Value showMessage(const Napi::CallbackInfo& info);
|
||||||
|
Napi::Value accept(const Napi::CallbackInfo& info);
|
||||||
|
Napi::Value done(const Napi::CallbackInfo& info);
|
||||||
};
|
};
|
||||||
|
|||||||
@ -9,7 +9,7 @@
|
|||||||
#include "QtWidgets/QFileDialog/nfiledialog.hpp"
|
#include "QtWidgets/QFileDialog/nfiledialog.hpp"
|
||||||
|
|
||||||
class DLL_EXPORT QFileDialogWrap : public Napi::ObjectWrap<QFileDialogWrap> {
|
class DLL_EXPORT QFileDialogWrap : public Napi::ObjectWrap<QFileDialogWrap> {
|
||||||
QDIALOG_WRAPPED_METHODS_DECLARATION
|
QDIALOG_WRAPPED_METHODS_DECLARATION_NO_ACCEPT_OR_DONE
|
||||||
private:
|
private:
|
||||||
QPointer<QFileDialog> instance;
|
QPointer<QFileDialog> instance;
|
||||||
|
|
||||||
@ -28,4 +28,6 @@ class DLL_EXPORT QFileDialogWrap : public Napi::ObjectWrap<QFileDialogWrap> {
|
|||||||
Napi::Value setOption(const Napi::CallbackInfo& info);
|
Napi::Value setOption(const Napi::CallbackInfo& info);
|
||||||
Napi::Value setNameFilter(const Napi::CallbackInfo& info);
|
Napi::Value setNameFilter(const Napi::CallbackInfo& info);
|
||||||
Napi::Value selectedFiles(const Napi::CallbackInfo& info);
|
Napi::Value selectedFiles(const Napi::CallbackInfo& info);
|
||||||
|
Napi::Value accept(const Napi::CallbackInfo& info);
|
||||||
|
Napi::Value done(const Napi::CallbackInfo& info);
|
||||||
};
|
};
|
||||||
|
|||||||
@ -9,7 +9,7 @@
|
|||||||
#include "QtWidgets/QFontDialog/nfontdialog.hpp"
|
#include "QtWidgets/QFontDialog/nfontdialog.hpp"
|
||||||
|
|
||||||
class DLL_EXPORT QFontDialogWrap : public Napi::ObjectWrap<QFontDialogWrap> {
|
class DLL_EXPORT QFontDialogWrap : public Napi::ObjectWrap<QFontDialogWrap> {
|
||||||
QDIALOG_WRAPPED_METHODS_DECLARATION
|
QDIALOG_WRAPPED_METHODS_DECLARATION_NO_ACCEPT_OR_DONE
|
||||||
private:
|
private:
|
||||||
QPointer<QFontDialog> instance;
|
QPointer<QFontDialog> instance;
|
||||||
|
|
||||||
@ -24,4 +24,6 @@ class DLL_EXPORT QFontDialogWrap : public Napi::ObjectWrap<QFontDialogWrap> {
|
|||||||
Napi::Value selectedFont(const Napi::CallbackInfo& info);
|
Napi::Value selectedFont(const Napi::CallbackInfo& info);
|
||||||
Napi::Value setOption(const Napi::CallbackInfo& info);
|
Napi::Value setOption(const Napi::CallbackInfo& info);
|
||||||
Napi::Value testOption(const Napi::CallbackInfo& info);
|
Napi::Value testOption(const Napi::CallbackInfo& info);
|
||||||
|
Napi::Value accept(const Napi::CallbackInfo& info);
|
||||||
|
Napi::Value done(const Napi::CallbackInfo& info);
|
||||||
};
|
};
|
||||||
|
|||||||
@ -23,8 +23,6 @@ class DLL_EXPORT QMessageBoxWrap : public Napi::ObjectWrap<QMessageBoxWrap> {
|
|||||||
// wrapped methods
|
// wrapped methods
|
||||||
Napi::Value setDefaultButton(const Napi::CallbackInfo& info);
|
Napi::Value setDefaultButton(const Napi::CallbackInfo& info);
|
||||||
Napi::Value addButton(const Napi::CallbackInfo& info);
|
Napi::Value addButton(const Napi::CallbackInfo& info);
|
||||||
Napi::Value accept(const Napi::CallbackInfo& info);
|
|
||||||
Napi::Value done(const Napi::CallbackInfo& info);
|
|
||||||
};
|
};
|
||||||
namespace StaticQMessageBoxWrapMethods {
|
namespace StaticQMessageBoxWrapMethods {
|
||||||
DLL_EXPORT Napi::Value about(const Napi::CallbackInfo& info);
|
DLL_EXPORT Napi::Value about(const Napi::CallbackInfo& info);
|
||||||
|
|||||||
@ -91,6 +91,20 @@ Napi::Value QColorDialogWrap::testOption(const Napi::CallbackInfo& info) {
|
|||||||
return Napi::Boolean::New(env, on);
|
return Napi::Boolean::New(env, on);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Napi::Value QColorDialogWrap::accept(const Napi::CallbackInfo& info) {
|
||||||
|
Napi::Env env = info.Env();
|
||||||
|
this->instance->accept();
|
||||||
|
return env.Null();
|
||||||
|
}
|
||||||
|
|
||||||
|
Napi::Value QColorDialogWrap::done(const Napi::CallbackInfo& info) {
|
||||||
|
Napi::Env env = info.Env();
|
||||||
|
Napi::TypeError::New(
|
||||||
|
env, "NodeGui: QColorDialog: done() is protected and can't be called.")
|
||||||
|
.ThrowAsJavaScriptException();
|
||||||
|
return env.Null();
|
||||||
|
}
|
||||||
|
|
||||||
Napi::Value StaticQColorDialogWrapMethods::customColor(
|
Napi::Value StaticQColorDialogWrapMethods::customColor(
|
||||||
const Napi::CallbackInfo& info) {
|
const Napi::CallbackInfo& info) {
|
||||||
Napi::Env env = info.Env();
|
Napi::Env env = info.Env();
|
||||||
|
|||||||
@ -64,3 +64,17 @@ Napi::Value QErrorMessageWrap::showMessage(const Napi::CallbackInfo& info) {
|
|||||||
this->instance->showMessage(message);
|
this->instance->showMessage(message);
|
||||||
return env.Null();
|
return env.Null();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Napi::Value QErrorMessageWrap::accept(const Napi::CallbackInfo& info) {
|
||||||
|
Napi::Env env = info.Env();
|
||||||
|
this->instance->accept();
|
||||||
|
return env.Null();
|
||||||
|
}
|
||||||
|
|
||||||
|
Napi::Value QErrorMessageWrap::done(const Napi::CallbackInfo& info) {
|
||||||
|
Napi::Env env = info.Env();
|
||||||
|
Napi::TypeError::New(
|
||||||
|
env, "NodeGui: QErrorMessage: done() is protected and can't be called.")
|
||||||
|
.ThrowAsJavaScriptException();
|
||||||
|
return env.Null();
|
||||||
|
}
|
||||||
|
|||||||
@ -134,3 +134,19 @@ Napi::Value QFileDialogWrap::selectedFiles(const Napi::CallbackInfo& info) {
|
|||||||
}
|
}
|
||||||
return fileList;
|
return fileList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Napi::Value QFileDialogWrap::accept(const Napi::CallbackInfo& info) {
|
||||||
|
Napi::Env env = info.Env();
|
||||||
|
Napi::TypeError::New(
|
||||||
|
env, "NodeGui: QFileDialog: accept() is protected and can't be called.")
|
||||||
|
.ThrowAsJavaScriptException();
|
||||||
|
return env.Null();
|
||||||
|
}
|
||||||
|
|
||||||
|
Napi::Value QFileDialogWrap::done(const Napi::CallbackInfo& info) {
|
||||||
|
Napi::Env env = info.Env();
|
||||||
|
Napi::TypeError::New(
|
||||||
|
env, "NodeGui: QFileDialog: done() is protected and can't be called.")
|
||||||
|
.ThrowAsJavaScriptException();
|
||||||
|
return env.Null();
|
||||||
|
}
|
||||||
|
|||||||
@ -78,3 +78,17 @@ Napi::Value QFontDialogWrap::testOption(const Napi::CallbackInfo& info) {
|
|||||||
static_cast<QFontDialog::FontDialogOption>(option));
|
static_cast<QFontDialog::FontDialogOption>(option));
|
||||||
return Napi::Boolean::New(env, on);
|
return Napi::Boolean::New(env, on);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Napi::Value QFontDialogWrap::accept(const Napi::CallbackInfo& info) {
|
||||||
|
Napi::Env env = info.Env();
|
||||||
|
this->instance->accept();
|
||||||
|
return env.Null();
|
||||||
|
}
|
||||||
|
|
||||||
|
Napi::Value QFontDialogWrap::done(const Napi::CallbackInfo& info) {
|
||||||
|
Napi::Env env = info.Env();
|
||||||
|
Napi::TypeError::New(
|
||||||
|
env, "NodeGui: QFontDialog: done() is protected and can't be called.")
|
||||||
|
.ThrowAsJavaScriptException();
|
||||||
|
return env.Null();
|
||||||
|
}
|
||||||
|
|||||||
@ -16,8 +16,6 @@ Napi::Object QMessageBoxWrap::init(Napi::Env env, Napi::Object exports) {
|
|||||||
env, CLASSNAME,
|
env, CLASSNAME,
|
||||||
{InstanceMethod("setDefaultButton", &QMessageBoxWrap::setDefaultButton),
|
{InstanceMethod("setDefaultButton", &QMessageBoxWrap::setDefaultButton),
|
||||||
InstanceMethod("addButton", &QMessageBoxWrap::addButton),
|
InstanceMethod("addButton", &QMessageBoxWrap::addButton),
|
||||||
InstanceMethod("accept", &QMessageBoxWrap::accept),
|
|
||||||
InstanceMethod("done", &QMessageBoxWrap::done),
|
|
||||||
StaticMethod("about", &StaticQMessageBoxWrapMethods::about),
|
StaticMethod("about", &StaticQMessageBoxWrapMethods::about),
|
||||||
StaticMethod("aboutQt", &StaticQMessageBoxWrapMethods::aboutQt),
|
StaticMethod("aboutQt", &StaticQMessageBoxWrapMethods::aboutQt),
|
||||||
QDIALOG_WRAPPED_METHODS_EXPORT_DEFINE(QMessageBoxWrap)});
|
QDIALOG_WRAPPED_METHODS_EXPORT_DEFINE(QMessageBoxWrap)});
|
||||||
@ -79,17 +77,6 @@ Napi::Value QMessageBoxWrap::addButton(const Napi::CallbackInfo& info) {
|
|||||||
this->instance->addButton(btn, QMessageBox::ButtonRole(role));
|
this->instance->addButton(btn, QMessageBox::ButtonRole(role));
|
||||||
return env.Null();
|
return env.Null();
|
||||||
}
|
}
|
||||||
Napi::Value QMessageBoxWrap::accept(const Napi::CallbackInfo& info) {
|
|
||||||
Napi::Env env = info.Env();
|
|
||||||
this->instance->accept();
|
|
||||||
return env.Null();
|
|
||||||
}
|
|
||||||
Napi::Value QMessageBoxWrap::done(const Napi::CallbackInfo& info) {
|
|
||||||
Napi::Env env = info.Env();
|
|
||||||
Napi::Number r = info[0].As<Napi::Number>();
|
|
||||||
this->instance->done(r.Int32Value());
|
|
||||||
return env.Null();
|
|
||||||
}
|
|
||||||
|
|
||||||
Napi::Value StaticQMessageBoxWrapMethods::about(
|
Napi::Value StaticQMessageBoxWrapMethods::about(
|
||||||
const Napi::CallbackInfo& info) {
|
const Napi::CallbackInfo& info) {
|
||||||
|
|||||||
@ -43,6 +43,12 @@ export class QDialog<Signals extends QDialogSignals = QDialogSignals> extends QW
|
|||||||
isSizeGripEnabled(): boolean {
|
isSizeGripEnabled(): boolean {
|
||||||
return this.property('sizeGripEnabled').toBool();
|
return this.property('sizeGripEnabled').toBool();
|
||||||
}
|
}
|
||||||
|
accept(): void {
|
||||||
|
this.native.accept();
|
||||||
|
}
|
||||||
|
done(r: number): void {
|
||||||
|
this.native.done(r);
|
||||||
|
}
|
||||||
exec(): DialogCode {
|
exec(): DialogCode {
|
||||||
return this.native.exec();
|
return this.native.exec();
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user