Merge pull request #90 from soonoo/QPlainTextEdit-placeholder

add setPlaceholderText for QPlainTextEdit
This commit is contained in:
Atul R 2019-09-09 18:20:32 +02:00 committed by GitHub
commit 3f5216c29b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 27 additions and 1 deletions

View File

@ -28,6 +28,10 @@ QPlainTextEdit can access all the static methods defined in [NodeWidget](api/Nod
QPlainTextEdit can access all the instance properties defined in [NodeWidget](api/NodeWidget.md).
#### `plainTextEdit.placeholderText`
The placeholder text set on the plainTextEdit.
### Instance Methods
QPlainTextEdit can access all the instance methods defined in [NodeWidget](api/NodeWidget.md).
@ -38,6 +42,12 @@ Sets the given text to the plainTextEdit. It calls the native method [QPlainText
- `text` string
#### `plainTextEdit.setPlaceholderText(text)`
Sets the given text to the plainTextEdit's placeholder.
- `text` string
#### `plainTextEdit.toPlainText()`
Returns the text of the text edit as plain text. [QPlainTextEdit: toPlainText](https://doc.qt.io/qt-5/qplaintextedit.html#toPlainText).

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("setPlaceholderText",&QPlainTextEditWrap::setPlaceholderText),
InstanceMethod("toPlainText",&QPlainTextEditWrap::toPlainText),
InstanceMethod("setReadOnly", &QPlainTextEditWrap::setReadOnly),
InstanceMethod("clear", &QPlainTextEditWrap::clear),
@ -60,6 +61,14 @@ Napi::Value QPlainTextEditWrap::setPlainText(const Napi::CallbackInfo& info){
return env.Null();
}
Napi::Value QPlainTextEditWrap::setPlaceholderText(const Napi::CallbackInfo& info){
Napi::Env env = info.Env();
Napi::HandleScope scope(env);
Napi::String text = info[0].As<Napi::String>();
this->instance->setPlaceholderText(text.Utf8Value().c_str());
return env.Null();
}
Napi::Value QPlainTextEditWrap::setReadOnly(const Napi::CallbackInfo &info)
{
Napi::Env env = info.Env();
@ -110,4 +119,4 @@ Napi::Value QPlainTextEditWrap::lineWrapMode(const Napi::CallbackInfo &info){
Napi::HandleScope scope(env);
int value = static_cast<int>(this->instance->lineWrapMode());
return Napi::Number::From(env, value);
}
}

View File

@ -20,6 +20,7 @@ class QPlainTextEditWrap : public Napi::ObjectWrap<QPlainTextEditWrap>{
QABSTRACTSCROLLAREA_WRAPPED_METHODS_DECLARATION
Napi::Value setPlainText(const Napi::CallbackInfo& info);
Napi::Value setPlaceholderText(const Napi::CallbackInfo& info);
Napi::Value toPlainText(const Napi::CallbackInfo &info);
Napi::Value setReadOnly(const Napi::CallbackInfo &info);
Napi::Value clear(const Napi::CallbackInfo &info);

View File

@ -23,6 +23,7 @@ export enum LineWrapMode {
}
export class QPlainTextEdit extends QAbstractScrollArea {
native: NativeElement;
placeholderText?: string;
constructor(parent?: NodeWidget) {
let native;
if (parent) {
@ -35,6 +36,7 @@ export class QPlainTextEdit extends QAbstractScrollArea {
this.parent = parent;
// bind member functions
this.setPlainText.bind(this);
this.setPlaceholderText.bind(this);
this.toPlainText.bind(this);
this.setReadOnly.bind(this);
this.clear.bind(this);
@ -47,6 +49,10 @@ export class QPlainTextEdit extends QAbstractScrollArea {
// react:✓
this.native.setPlainText(`${text}`);
}
setPlaceholderText(text: string) {
this.placeholderText = text;
this.native.setPlaceholderText(text);
}
toPlainText(): string {
// react:✓
return this.native.toPlainText();