From 8c936b46da366d478978c759cdbf7815d2473da7 Mon Sep 17 00:00:00 2001 From: rgabs Date: Tue, 20 Aug 2019 01:29:21 +0530 Subject: [PATCH] Change implementation to make it similar to qt usage --- src/cpp/QtWidgets/QPlainTextEdit/nplaintextedit.h | 2 +- src/cpp/QtWidgets/QPlainTextEdit/qplaintextedit_wrap.cpp | 7 +++++++ src/cpp/QtWidgets/QPlainTextEdit/qplaintextedit_wrap.h | 1 + src/demo.ts | 3 ++- src/lib/QtWidgets/QPlainTextEdit/index.ts | 4 ++++ 5 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/cpp/QtWidgets/QPlainTextEdit/nplaintextedit.h b/src/cpp/QtWidgets/QPlainTextEdit/nplaintextedit.h index acdcaff1f..853894c1f 100644 --- a/src/cpp/QtWidgets/QPlainTextEdit/nplaintextedit.h +++ b/src/cpp/QtWidgets/QPlainTextEdit/nplaintextedit.h @@ -16,7 +16,7 @@ public: QString str = this->toPlainText(); Napi::Env env = this->emitOnNode.Env(); Napi::HandleScope scope(env); - this->emitOnNode.Call({Napi::String::New(env, "textChanged"), Napi::Value::From(env, str.toStdString())}); + this->emitOnNode.Call({Napi::String::New(env, "textChanged")}); }); } }; diff --git a/src/cpp/QtWidgets/QPlainTextEdit/qplaintextedit_wrap.cpp b/src/cpp/QtWidgets/QPlainTextEdit/qplaintextedit_wrap.cpp index bf5aa294a..fb3077cfe 100644 --- a/src/cpp/QtWidgets/QPlainTextEdit/qplaintextedit_wrap.cpp +++ b/src/cpp/QtWidgets/QPlainTextEdit/qplaintextedit_wrap.cpp @@ -12,6 +12,7 @@ Napi::Object QPlainTextEditWrap::init(Napi::Env env, Napi::Object exports) { char CLASSNAME[] = "QPlainTextEdit"; Napi::Function func = DefineClass(env, CLASSNAME, { InstanceMethod("setPlainText",&QPlainTextEditWrap::setPlainText), + InstanceMethod("plainText",&QPlainTextEditWrap::plainText), QWIDGET_WRAPPED_METHODS_EXPORT_DEFINE(QPlainTextEditWrap) }); constructor = Napi::Persistent(func); @@ -51,3 +52,9 @@ Napi::Value QPlainTextEditWrap::setPlainText(const Napi::CallbackInfo& info){ this->instance->setPlainText(plainText.Utf8Value().c_str()); return env.Null(); } + +Napi::Value QPlainTextEditWrap::plainText(const Napi::CallbackInfo &info){ + Napi::Env env = info.Env(); + Napi::HandleScope scope(env); + return Napi::Value::From(env, this->instance->toPlainText().toStdString()); +} \ No newline at end of file diff --git a/src/cpp/QtWidgets/QPlainTextEdit/qplaintextedit_wrap.h b/src/cpp/QtWidgets/QPlainTextEdit/qplaintextedit_wrap.h index d158398e5..1295b0250 100644 --- a/src/cpp/QtWidgets/QPlainTextEdit/qplaintextedit_wrap.h +++ b/src/cpp/QtWidgets/QPlainTextEdit/qplaintextedit_wrap.h @@ -19,5 +19,6 @@ class QPlainTextEditWrap : public Napi::ObjectWrap{ QWIDGET_WRAPPED_METHODS_DECLARATION Napi::Value setPlainText(const Napi::CallbackInfo& info); + Napi::Value plainText(const Napi::CallbackInfo &info); }; diff --git a/src/demo.ts b/src/demo.ts index 96e608dc8..a64c83322 100644 --- a/src/demo.ts +++ b/src/demo.ts @@ -57,8 +57,9 @@ lineEditLabel.setInlineStyle("font-size: 12px;"); lineEditLabel.setText("PlainTextEdit's bound Value"); const textEdit = new QPlainTextEdit(); textEdit.setPlainText("Hello"); + textEdit.addEventListener(QPlainTextEditEvents.textChanged, (value: string) => { - lineEditLabel.setText(value); + lineEditLabel.setText(textEdit.plainText()); }); if (rootView.layout) { diff --git a/src/lib/QtWidgets/QPlainTextEdit/index.ts b/src/lib/QtWidgets/QPlainTextEdit/index.ts index 5e6faa5a3..905455c75 100644 --- a/src/lib/QtWidgets/QPlainTextEdit/index.ts +++ b/src/lib/QtWidgets/QPlainTextEdit/index.ts @@ -22,8 +22,12 @@ export class QPlainTextEdit extends NodeWidget { this.parent = parent; // bind member functions this.setPlainText.bind(this); + this.plainText.bind(this); } setPlainText(text: string | number) { this.native.setPlainText(`${text}`); } + plainText() { + return this.native.plainText(); + } }