From 1ab7d13b96b85c0f378a453c75d825bb2ef0d58e Mon Sep 17 00:00:00 2001 From: Simon Edwards Date: Thu, 9 Dec 2021 21:51:01 +0100 Subject: [PATCH] Add `QWidget.setFixedHeight()`, `QWidget.setFixedWidth()`, and `QWidget.sizeHint()` --- .../nodegui/QtWidgets/QWidget/qwidget_macro.h | 16 +++++++++++++++- src/lib/QtWidgets/QWidget.ts | 12 +++++++++--- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/src/cpp/include/nodegui/QtWidgets/QWidget/qwidget_macro.h b/src/cpp/include/nodegui/QtWidgets/QWidget/qwidget_macro.h index 9646f33d6..b9be8035d 100644 --- a/src/cpp/include/nodegui/QtWidgets/QWidget/qwidget_macro.h +++ b/src/cpp/include/nodegui/QtWidgets/QWidget/qwidget_macro.h @@ -493,6 +493,18 @@ } else { \ return env.Null(); \ } \ + } \ + Napi::Value setFixedHeight(const Napi::CallbackInfo& info) { \ + Napi::Env env = info.Env(); \ + int h = info[0].As().Int32Value(); \ + this->instance->setFixedHeight(h); \ + return env.Null(); \ + } \ + Napi::Value setFixedWidth(const Napi::CallbackInfo& info) { \ + Napi::Env env = info.Env(); \ + int w = info[0].As().Int32Value(); \ + this->instance->setFixedWidth(w); \ + return env.Null(); \ } #endif // QWIDGET_WRAPPED_METHODS_DECLARATION @@ -570,7 +582,9 @@ InstanceMethod("setHidden", &WidgetWrapName::setHidden), \ InstanceMethod("setVisible", &WidgetWrapName::setVisible), \ InstanceMethod("setWindowModified", &WidgetWrapName::setWindowModified), \ - InstanceMethod("windowHandle", &WidgetWrapName::windowHandle), + InstanceMethod("windowHandle", &WidgetWrapName::windowHandle), \ + InstanceMethod("setFixedHeight", &WidgetWrapName::setFixedHeight), \ + InstanceMethod("setFixedWidth", &WidgetWrapName::setFixedWidth), #endif // QWIDGET_WRAPPED_METHODS_EXPORT_DEFINE diff --git a/src/lib/QtWidgets/QWidget.ts b/src/lib/QtWidgets/QWidget.ts index e07c90208..12dde16ff 100644 --- a/src/lib/QtWidgets/QWidget.ts +++ b/src/lib/QtWidgets/QWidget.ts @@ -277,12 +277,16 @@ export abstract class NodeWidget extends YogaWid } } // TODO: void setEditFocus(bool enable) - // TODO: void setFixedHeight(int h) + setFixedHeight(h: number): void { + this.native.setFixedHeight(h); + } // TODO: void setFixedSize(const QSize &s) setFixedSize(width: number, height: number): void { this.native.setFixedSize(width, height); } - // TODO: void setFixedWidth(int w) + setFixedWidth(w: number): void { + this.native.setFixedWidth(w); + } setFocusPolicy(policy: FocusPolicy): void { this.setProperty('focusPolicy', policy); } @@ -386,7 +390,9 @@ export abstract class NodeWidget extends YogaWid size(): QSize { return new QSize(this.native.size()); } - // TODO: virtual QSize sizeHint() const + sizeHint(): QSize { + return QSize.fromQVariant(this.property('sizeHint')); + } // TODO: QSize sizeIncrement() const // TODO: QSizePolicy sizePolicy() const // TODO: void stackUnder(QWidget *w)