diff --git a/src/cpp/include/nodegui/QtWidgets/QWidget/qwidget_macro.h b/src/cpp/include/nodegui/QtWidgets/QWidget/qwidget_macro.h index 9e25750ed..252609f55 100644 --- a/src/cpp/include/nodegui/QtWidgets/QWidget/qwidget_macro.h +++ b/src/cpp/include/nodegui/QtWidgets/QWidget/qwidget_macro.h @@ -432,6 +432,13 @@ bool v = info[0].As().Value(); \ this->instance->setAcceptDrops(v); \ return env.Null(); \ + } \ + Napi::Value setFocus(const Napi::CallbackInfo& info) { \ + Napi::Env env = info.Env(); \ + Napi::HandleScope scope(env); \ + int reason = info[0].As().Int32Value(); \ + this->instance->setFocus(static_cast(reason)); \ + return env.Null(); \ } #endif // QWIDGET_WRAPPED_METHODS_DECLARATION @@ -493,7 +500,8 @@ InstanceMethod("repolish", &WidgetWrapName::repolish), \ InstanceMethod("setGraphicsEffect", &WidgetWrapName::setGraphicsEffect), \ InstanceMethod("acceptDrops", &WidgetWrapName::acceptDrops), \ - InstanceMethod("setAcceptDrops", &WidgetWrapName::setAcceptDrops), + InstanceMethod("setAcceptDrops", &WidgetWrapName::setAcceptDrops), \ + InstanceMethod("setFocus", &WidgetWrapName::setFocus), #endif // QWIDGET_WRAPPED_METHODS_EXPORT_DEFINE diff --git a/src/lib/QtWidgets/QWidget.ts b/src/lib/QtWidgets/QWidget.ts index cd6cf8a13..a8bd6e634 100644 --- a/src/lib/QtWidgets/QWidget.ts +++ b/src/lib/QtWidgets/QWidget.ts @@ -2,7 +2,7 @@ import addon from '../utils/addon'; import { NodeLayout } from './QLayout'; import { NativeElement } from '../core/Component'; import { FlexLayout } from '../core/FlexLayout'; -import { WidgetAttribute, WindowType, ContextMenuPolicy } from '../QtEnums'; +import { WidgetAttribute, WindowType, ContextMenuPolicy, FocusReason } from '../QtEnums'; import { QIcon } from '../QtGui/QIcon'; import { QCursor } from '../QtGui/QCursor'; import { CursorShape, WindowState } from '../QtEnums'; @@ -277,6 +277,9 @@ export abstract class NodeWidget extends YogaWid acceptDrops(): boolean { return this.native.acceptDrops(); } + setFocus(reason: FocusReason): void { + this.native.setFocus(reason); + } } export interface QWidgetSignals extends QObjectSignals {