diff --git a/src/cpp/include/nodegui/QtWidgets/QWidget/qwidget_macro.h b/src/cpp/include/nodegui/QtWidgets/QWidget/qwidget_macro.h index bd8a738e3..448f731a6 100644 --- a/src/cpp/include/nodegui/QtWidgets/QWidget/qwidget_macro.h +++ b/src/cpp/include/nodegui/QtWidgets/QWidget/qwidget_macro.h @@ -378,6 +378,15 @@ this->instance->addAction(actionWrap->getInternalInstance()); \ return env.Null(); \ } \ + Napi::Value removeAction(const Napi::CallbackInfo& info) { \ + Napi::Env env = info.Env(); \ + Napi::HandleScope scope(env); \ + Napi::Object actionObject = info[0].As(); \ + QActionWrap* actionWrap = \ + Napi::ObjectWrap::Unwrap(actionObject); \ + this->instance->removeAction(actionWrap->getInternalInstance()); \ + return env.Null(); \ + } \ Napi::Value repolish(const Napi::CallbackInfo& info) { \ Napi::Env env = info.Env(); \ Napi::HandleScope scope(env); \ @@ -450,6 +459,7 @@ InstanceMethod("showMinimized", &WidgetWrapName::showMinimized), \ InstanceMethod("showNormal", &WidgetWrapName::showNormal), \ InstanceMethod("addAction", &WidgetWrapName::addAction), \ + InstanceMethod("removeAction", &WidgetWrapName::removeAction), \ InstanceMethod("repolish", &WidgetWrapName::repolish), \ InstanceMethod("setGraphicsEffect", &WidgetWrapName::setGraphicsEffect), diff --git a/src/lib/QtWidgets/QWidget.ts b/src/lib/QtWidgets/QWidget.ts index b7f94bbc2..6d2e07cef 100644 --- a/src/lib/QtWidgets/QWidget.ts +++ b/src/lib/QtWidgets/QWidget.ts @@ -253,6 +253,10 @@ export abstract class NodeWidget extends YogaWid this.native.addAction(action.native); this.actions.add(action); return action; + } + removeAction(action: QAction): void { + this.native.removeAction(action.native); + this.actions.delete(action); } repolish(): void { this.native.repolish();