diff --git a/src/cpp/include/nodegui/QtWidgets/QWidget/qwidget_macro.h b/src/cpp/include/nodegui/QtWidgets/QWidget/qwidget_macro.h index 50fb06a09..9181111ec 100644 --- a/src/cpp/include/nodegui/QtWidgets/QWidget/qwidget_macro.h +++ b/src/cpp/include/nodegui/QtWidgets/QWidget/qwidget_macro.h @@ -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::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::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), \ diff --git a/src/lib/QtWidgets/QWidget.ts b/src/lib/QtWidgets/QWidget.ts index 46cea28c1..02118ab9c 100644 --- a/src/lib/QtWidgets/QWidget.ts +++ b/src/lib/QtWidgets/QWidget.ts @@ -151,9 +151,15 @@ export abstract class NodeWidget 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); }