diff --git a/src/cpp/include/nodegui/QtWidgets/QLabel/qlabel_wrap.h b/src/cpp/include/nodegui/QtWidgets/QLabel/qlabel_wrap.h index c7e6529c5..85e6b3487 100644 --- a/src/cpp/include/nodegui/QtWidgets/QLabel/qlabel_wrap.h +++ b/src/cpp/include/nodegui/QtWidgets/QLabel/qlabel_wrap.h @@ -25,6 +25,7 @@ class DLL_EXPORT QLabelWrap : public Napi::ObjectWrap { Napi::Value setSelection(const Napi::CallbackInfo& info); Napi::Value selectionStart(const Napi::CallbackInfo& info); Napi::Value setBuddy(const Napi::CallbackInfo& info); + Napi::Value buddy(const Napi::CallbackInfo& info); Napi::Value clear(const Napi::CallbackInfo& info); Napi::Value setMovie(const Napi::CallbackInfo& info); Napi::Value setNumDouble(const Napi::CallbackInfo& info); diff --git a/src/cpp/lib/QtWidgets/QLabel/qlabel_wrap.cpp b/src/cpp/lib/QtWidgets/QLabel/qlabel_wrap.cpp index 65b4298b3..abe0ed4ff 100644 --- a/src/cpp/lib/QtWidgets/QLabel/qlabel_wrap.cpp +++ b/src/cpp/lib/QtWidgets/QLabel/qlabel_wrap.cpp @@ -18,6 +18,7 @@ Napi::Object QLabelWrap::init(Napi::Env env, Napi::Object exports) { {InstanceMethod("setSelection", &QLabelWrap::setSelection), InstanceMethod("selectionStart", &QLabelWrap::selectionStart), InstanceMethod("setBuddy", &QLabelWrap::setBuddy), + InstanceMethod("buddy", &QLabelWrap::buddy), InstanceMethod("clear", &QLabelWrap::clear), InstanceMethod("setMovie", &QLabelWrap::setMovie), InstanceMethod("setNumDouble", &QLabelWrap::setNumDouble), @@ -91,6 +92,16 @@ Napi::Value QLabelWrap::setBuddy(const Napi::CallbackInfo& info) { return env.Null(); } +Napi::Value QLabelWrap::buddy(const Napi::CallbackInfo& info) { + Napi::Env env = info.Env(); + QObject* parent = this->instance->buddy(); + if (parent) { + return WrapperCache::instance.getWrapper(env, parent); + } else { + return env.Null(); + } +} + Napi::Value QLabelWrap::clear(const Napi::CallbackInfo& info) { Napi::Env env = info.Env(); this->instance->clear(); diff --git a/src/lib/QtWidgets/QLabel.ts b/src/lib/QtWidgets/QLabel.ts index ebeb608f5..354139a7d 100644 --- a/src/lib/QtWidgets/QLabel.ts +++ b/src/lib/QtWidgets/QLabel.ts @@ -33,7 +33,7 @@ export class QLabel extends QFrame { private _picture?: QPicture; private _pixmap?: QPixmap; private _movie?: QMovie; - private _buddy?: QWidget | null; + // TODO constructor(arg?: QWidget | NativeElement) { let native: NativeElement; @@ -115,13 +115,9 @@ export class QLabel extends QFrame { } setBuddy(buddy: QWidget): void { this.native.setBuddy(buddy.native); - this._buddy = buddy; } buddy(): QWidget | null { - if (this._buddy) { - return this._buddy; - } - return null; + return wrapperCache.getWrapper(this.native.budd()) as QWidget; } setMovie(movie: QMovie): void { this.native.setMovie(movie.native);