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"
|
||||
|
||||
class DLL_EXPORT QColorDialogWrap : public Napi::ObjectWrap<QColorDialogWrap> {
|
||||
QDIALOG_WRAPPED_METHODS_DECLARATION
|
||||
QDIALOG_WRAPPED_METHODS_DECLARATION_NO_ACCEPT_OR_DONE
|
||||
private:
|
||||
QPointer<QColorDialog> instance;
|
||||
|
||||
@ -24,6 +24,8 @@ class DLL_EXPORT QColorDialogWrap : public Napi::ObjectWrap<QColorDialogWrap> {
|
||||
Napi::Value selectedColor(const Napi::CallbackInfo& info);
|
||||
Napi::Value setOption(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 {
|
||||
|
||||
@ -10,39 +10,55 @@
|
||||
|
||||
This macro adds common QDialog exported methods
|
||||
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
|
||||
#define QDIALOG_WRAPPED_METHODS_DECLARATION \
|
||||
\
|
||||
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(); \
|
||||
#define QDIALOG_WRAPPED_METHODS_DECLARATION \
|
||||
QDIALOG_WRAPPED_METHODS_DECLARATION_NO_ACCEPT_OR_DONE \
|
||||
Napi::Value accept(const Napi::CallbackInfo& info) { \
|
||||
Napi::Env env = info.Env(); \
|
||||
this->instance->accept(); \
|
||||
return env.Null(); \
|
||||
} \
|
||||
Napi::Value done(const Napi::CallbackInfo& info) { \
|
||||
Napi::Env env = info.Env(); \
|
||||
int r = info[0].As<Napi::Number>().Int32Value(); \
|
||||
this->instance->done(r); \
|
||||
return env.Null(); \
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -54,7 +70,9 @@
|
||||
InstanceMethod("setResult", &DialogWrapName::setResult), \
|
||||
InstanceMethod("exec", &DialogWrapName::exec), \
|
||||
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
|
||||
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
|
||||
class DLL_EXPORT QErrorMessageWrap
|
||||
: public Napi::ObjectWrap<QErrorMessageWrap> {
|
||||
QDIALOG_WRAPPED_METHODS_DECLARATION
|
||||
QDIALOG_WRAPPED_METHODS_DECLARATION_NO_ACCEPT_OR_DONE
|
||||
private:
|
||||
QPointer<QErrorMessage> instance;
|
||||
|
||||
@ -23,4 +23,6 @@ class DLL_EXPORT QErrorMessageWrap
|
||||
static Napi::FunctionReference constructor;
|
||||
// wrapped methods
|
||||
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"
|
||||
|
||||
class DLL_EXPORT QFileDialogWrap : public Napi::ObjectWrap<QFileDialogWrap> {
|
||||
QDIALOG_WRAPPED_METHODS_DECLARATION
|
||||
QDIALOG_WRAPPED_METHODS_DECLARATION_NO_ACCEPT_OR_DONE
|
||||
private:
|
||||
QPointer<QFileDialog> instance;
|
||||
|
||||
@ -28,4 +28,6 @@ class DLL_EXPORT QFileDialogWrap : public Napi::ObjectWrap<QFileDialogWrap> {
|
||||
Napi::Value setOption(const Napi::CallbackInfo& info);
|
||||
Napi::Value setNameFilter(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"
|
||||
|
||||
class DLL_EXPORT QFontDialogWrap : public Napi::ObjectWrap<QFontDialogWrap> {
|
||||
QDIALOG_WRAPPED_METHODS_DECLARATION
|
||||
QDIALOG_WRAPPED_METHODS_DECLARATION_NO_ACCEPT_OR_DONE
|
||||
private:
|
||||
QPointer<QFontDialog> instance;
|
||||
|
||||
@ -24,4 +24,6 @@ class DLL_EXPORT QFontDialogWrap : public Napi::ObjectWrap<QFontDialogWrap> {
|
||||
Napi::Value selectedFont(const Napi::CallbackInfo& info);
|
||||
Napi::Value setOption(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
|
||||
Napi::Value setDefaultButton(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 {
|
||||
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);
|
||||
}
|
||||
|
||||
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(
|
||||
const Napi::CallbackInfo& info) {
|
||||
Napi::Env env = info.Env();
|
||||
|
||||
@ -64,3 +64,17 @@ Napi::Value QErrorMessageWrap::showMessage(const Napi::CallbackInfo& info) {
|
||||
this->instance->showMessage(message);
|
||||
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;
|
||||
}
|
||||
|
||||
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));
|
||||
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,
|
||||
{InstanceMethod("setDefaultButton", &QMessageBoxWrap::setDefaultButton),
|
||||
InstanceMethod("addButton", &QMessageBoxWrap::addButton),
|
||||
InstanceMethod("accept", &QMessageBoxWrap::accept),
|
||||
InstanceMethod("done", &QMessageBoxWrap::done),
|
||||
StaticMethod("about", &StaticQMessageBoxWrapMethods::about),
|
||||
StaticMethod("aboutQt", &StaticQMessageBoxWrapMethods::aboutQt),
|
||||
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));
|
||||
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(
|
||||
const Napi::CallbackInfo& info) {
|
||||
|
||||
@ -43,6 +43,12 @@ export class QDialog<Signals extends QDialogSignals = QDialogSignals> extends QW
|
||||
isSizeGripEnabled(): boolean {
|
||||
return this.property('sizeGripEnabled').toBool();
|
||||
}
|
||||
accept(): void {
|
||||
this.native.accept();
|
||||
}
|
||||
done(r: number): void {
|
||||
this.native.done(r);
|
||||
}
|
||||
exec(): DialogCode {
|
||||
return this.native.exec();
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user