Change implementation to make it similar to qt usage

This commit is contained in:
rgabs 2019-08-20 01:29:21 +05:30
parent 0151246d95
commit 8c936b46da
5 changed files with 15 additions and 2 deletions

View File

@ -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")});
});
}
};

View File

@ -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());
}

View File

@ -19,5 +19,6 @@ class QPlainTextEditWrap : public Napi::ObjectWrap<QPlainTextEditWrap>{
QWIDGET_WRAPPED_METHODS_DECLARATION
Napi::Value setPlainText(const Napi::CallbackInfo& info);
Napi::Value plainText(const Napi::CallbackInfo &info);
};

View File

@ -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) {

View File

@ -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();
}
}