added support for QWidget::maximumSize && QWidget::minimumSize (#574)

This commit is contained in:
流君酱 2020-05-22 22:49:38 +08:00 committed by GitHub
parent 1bd0a5ca10
commit fa7ddaa531
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 24 additions and 0 deletions

View File

@ -239,6 +239,14 @@
this->instance->setMaximumSize(width, height); \
return env.Null(); \
} \
Napi::Value maximumSize(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
Napi::HandleScope scope(env); \
QSize size = this->instance->maximumSize(); \
auto sizeWrap = QSizeWrap::constructor.New({Napi::External<QSize>::New( \
env, new QSize(size.width(), size.height()))}); \
return sizeWrap; \
} \
Napi::Value setMinimumSize(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
Napi::HandleScope scope(env); \
@ -247,6 +255,14 @@
this->instance->setMinimumSize(width, height); \
return env.Null(); \
} \
Napi::Value minimumSize(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
Napi::HandleScope scope(env); \
QSize size = this->instance->minimumSize(); \
auto sizeWrap = QSizeWrap::constructor.New({Napi::External<QSize>::New( \
env, new QSize(size.width(), size.height()))}); \
return sizeWrap; \
} \
Napi::Value repaint(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
Napi::HandleScope scope(env); \
@ -443,6 +459,8 @@
InstanceMethod("repaint", &WidgetWrapName::repaint), \
InstanceMethod("update", &WidgetWrapName::update), \
InstanceMethod("updateGeometry", &WidgetWrapName::updateGeometry), \
InstanceMethod("maximumSize", &WidgetWrapName::maximumSize), \
InstanceMethod("minimumSize", &WidgetWrapName::minimumSize), \
InstanceMethod("pos", &WidgetWrapName::pos), \
InstanceMethod("size", &WidgetWrapName::size), \
InstanceMethod("setAttribute", &WidgetWrapName::setAttribute), \

View File

@ -151,9 +151,15 @@ export abstract class NodeWidget<Signals extends QWidgetSignals> extends YogaWid
setMinimumSize(minw: number, minh: number): void {
this.native.setMinimumSize(minw, minh);
}
minimumSize(): QSize {
return new QSize(this.native.minimumSize());
}
setMaximumSize(maxw: number, maxh: number): void {
this.native.setMaximumSize(maxw, maxh);
}
maximumSize(): QSize {
return new QSize(this.native.maximumSize());
}
setFixedSize(width: number, height: number): void {
this.native.setFixedSize(width, height);
}