From 86b8dd966e5770954d1cfd27042e0cb299f4ff33 Mon Sep 17 00:00:00 2001 From: Atul R Date: Fri, 13 Mar 2020 21:39:59 +0100 Subject: [PATCH] Adds repolish for setObjectName --- package.json | 4 ++-- .../include/nodegui/QtWidgets/QWidget/qwidget_macro.h | 11 ++++++++++- src/lib/QtWidgets/QWidget.ts | 7 ++++--- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index ea995bf67..a6990f82a 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "dependencies": { "@nodegui/artifact-installer": "^1.1.0", "@nodegui/qode": "^2.0.4", - "cmake-js": "^6.0.0", + "cmake-js": "^6.1.0", "cross-env": "^7.0.0", "cuid": "^2.1.6", "manage-path": "^2.0.0", @@ -54,7 +54,7 @@ "ts-jest": "^25.0.0", "typedoc": "^0.16.7", "typedoc-plugin-markdown": "^2.2.14", - "typescript": "^3.7.3" + "typescript": "^3.8.3" }, "binary": { "napi_versions": [ diff --git a/src/cpp/include/nodegui/QtWidgets/QWidget/qwidget_macro.h b/src/cpp/include/nodegui/QtWidgets/QWidget/qwidget_macro.h index f9924d42e..edb6ea8a0 100644 --- a/src/cpp/include/nodegui/QtWidgets/QWidget/qwidget_macro.h +++ b/src/cpp/include/nodegui/QtWidgets/QWidget/qwidget_macro.h @@ -1,6 +1,7 @@ #pragma once #include +#include #include "QtCore/QObject/qobject_macro.h" #include "QtCore/QSize/qsize_wrap.h" @@ -325,6 +326,13 @@ Napi::ObjectWrap::Unwrap(actionObject); \ this->instance->addAction(actionWrap->getInternalInstance()); \ return env.Null(); \ + } \ + Napi::Value repolish(const Napi::CallbackInfo& info) { \ + Napi::Env env = info.Env(); \ + Napi::HandleScope scope(env); \ + this->instance->style()->unpolish(this->instance); \ + this->instance->style()->polish(this->instance); \ + return env.Null(); \ } #endif // QWIDGET_WRAPPED_METHODS_DECLARATION @@ -375,7 +383,8 @@ InstanceMethod("showMaximized", &WidgetWrapName::showMaximized), \ InstanceMethod("showMinimized", &WidgetWrapName::showMinimized), \ InstanceMethod("showNormal", &WidgetWrapName::showNormal), \ - InstanceMethod("addAction", &WidgetWrapName::addAction), + InstanceMethod("addAction", &WidgetWrapName::addAction), \ + InstanceMethod("repolish", &WidgetWrapName::repolish), #endif // QWIDGET_WRAPPED_METHODS_EXPORT_DEFINE diff --git a/src/lib/QtWidgets/QWidget.ts b/src/lib/QtWidgets/QWidget.ts index 49a355f43..64b1cb78e 100644 --- a/src/lib/QtWidgets/QWidget.ts +++ b/src/lib/QtWidgets/QWidget.ts @@ -189,9 +189,7 @@ export abstract class NodeWidget extends YogaWid } setObjectName(objectName: string): void { super.setObjectName(objectName); - if (this._rawInlineStyle) { - this.setInlineStyle(this._rawInlineStyle); - } + this.repolish(); } setContextMenuPolicy(contextMenuPolicy: ContextMenuPolicy): void { this.setProperty('contextMenuPolicy', contextMenuPolicy); @@ -226,6 +224,9 @@ export abstract class NodeWidget extends YogaWid this.actions.add(action); return action; } + repolish(): void { + this.native.repolish(); + } } export interface QWidgetSignals extends QObjectSignals {