Fill in most of the QLineEdit methods
This commit is contained in:
parent
d805c7c66d
commit
34ce565bb8
@ -21,10 +21,27 @@ class DLL_EXPORT QLineEditWrap : public Napi::ObjectWrap<QLineEditWrap> {
|
||||
// class constructor
|
||||
static Napi::FunctionReference constructor;
|
||||
// wrapped methods
|
||||
Napi::Value setText(const Napi::CallbackInfo& info);
|
||||
Napi::Value text(const Napi::CallbackInfo& info);
|
||||
Napi::Value setPlaceholderText(const Napi::CallbackInfo& info);
|
||||
Napi::Value setReadOnly(const Napi::CallbackInfo& info);
|
||||
Napi::Value backspace(const Napi::CallbackInfo& info);
|
||||
Napi::Value cursorBackward(const Napi::CallbackInfo& info);
|
||||
Napi::Value cursorForward(const Napi::CallbackInfo& info);
|
||||
Napi::Value cursorPositionAt(const Napi::CallbackInfo& info);
|
||||
Napi::Value cursorWordBackward(const Napi::CallbackInfo& info);
|
||||
Napi::Value cursorWordForward(const Napi::CallbackInfo& info);
|
||||
Napi::Value del(const Napi::CallbackInfo& info);
|
||||
Napi::Value deselect(const Napi::CallbackInfo& info);
|
||||
Napi::Value end(const Napi::CallbackInfo& info);
|
||||
Napi::Value home(const Napi::CallbackInfo& info);
|
||||
Napi::Value insert(const Napi::CallbackInfo& info);
|
||||
Napi::Value selectionEnd(const Napi::CallbackInfo& info);
|
||||
Napi::Value selectionLength(const Napi::CallbackInfo& info);
|
||||
Napi::Value selectionStart(const Napi::CallbackInfo& info);
|
||||
Napi::Value setSelection(const Napi::CallbackInfo& info);
|
||||
Napi::Value setTextMargins(const Napi::CallbackInfo& info);
|
||||
Napi::Value clear(const Napi::CallbackInfo& info);
|
||||
Napi::Value setEchoMode(const Napi::CallbackInfo& info);
|
||||
Napi::Value copy(const Napi::CallbackInfo& info);
|
||||
Napi::Value cut(const Napi::CallbackInfo& info);
|
||||
Napi::Value paste(const Napi::CallbackInfo& info);
|
||||
Napi::Value redo(const Napi::CallbackInfo& info);
|
||||
Napi::Value selectAll(const Napi::CallbackInfo& info);
|
||||
Napi::Value undo(const Napi::CallbackInfo& info);
|
||||
};
|
||||
|
||||
@ -13,12 +13,30 @@ Napi::Object QLineEditWrap::init(Napi::Env env, Napi::Object exports) {
|
||||
char CLASSNAME[] = "QLineEdit";
|
||||
Napi::Function func = DefineClass(
|
||||
env, CLASSNAME,
|
||||
{InstanceMethod("setPlaceholderText", &QLineEditWrap::setPlaceholderText),
|
||||
InstanceMethod("setText", &QLineEditWrap::setText),
|
||||
InstanceMethod("text", &QLineEditWrap::text),
|
||||
InstanceMethod("setReadOnly", &QLineEditWrap::setReadOnly),
|
||||
{InstanceMethod("backspace", &QLineEditWrap::backspace),
|
||||
InstanceMethod("cursorBackward", &QLineEditWrap::cursorBackward),
|
||||
InstanceMethod("cursorForward", &QLineEditWrap::cursorForward),
|
||||
InstanceMethod("cursorPositionAt", &QLineEditWrap::cursorPositionAt),
|
||||
InstanceMethod("cursorWordBackward", &QLineEditWrap::cursorWordBackward),
|
||||
InstanceMethod("cursorWordForward", &QLineEditWrap::cursorWordForward),
|
||||
InstanceMethod("del", &QLineEditWrap::del),
|
||||
InstanceMethod("deselect", &QLineEditWrap::deselect),
|
||||
InstanceMethod("end", &QLineEditWrap::end),
|
||||
InstanceMethod("home", &QLineEditWrap::home),
|
||||
InstanceMethod("insert", &QLineEditWrap::insert),
|
||||
InstanceMethod("selectionEnd", &QLineEditWrap::selectionEnd),
|
||||
InstanceMethod("selectionLength", &QLineEditWrap::selectionLength),
|
||||
InstanceMethod("selectionStart", &QLineEditWrap::selectionStart),
|
||||
InstanceMethod("setSelection", &QLineEditWrap::setSelection),
|
||||
InstanceMethod("setTextMargins", &QLineEditWrap::setTextMargins),
|
||||
InstanceMethod("clear", &QLineEditWrap::clear),
|
||||
InstanceMethod("setEchoMode", &QLineEditWrap::setEchoMode),
|
||||
InstanceMethod("copy", &QLineEditWrap::copy),
|
||||
InstanceMethod("cut", &QLineEditWrap::cut),
|
||||
InstanceMethod("paste", &QLineEditWrap::paste),
|
||||
InstanceMethod("redo", &QLineEditWrap::redo),
|
||||
InstanceMethod("selectAll", &QLineEditWrap::selectAll),
|
||||
InstanceMethod("undo", &QLineEditWrap::undo),
|
||||
|
||||
QWIDGET_WRAPPED_METHODS_EXPORT_DEFINE(QLineEditWrap)});
|
||||
constructor = Napi::Persistent(func);
|
||||
exports.Set(CLASSNAME, func);
|
||||
@ -48,43 +66,153 @@ QLineEditWrap::QLineEditWrap(const Napi::CallbackInfo& info)
|
||||
|
||||
QLineEditWrap::~QLineEditWrap() { extrautils::safeDelete(this->instance); }
|
||||
|
||||
Napi::Value QLineEditWrap::setText(const Napi::CallbackInfo& info) {
|
||||
Napi::Value QLineEditWrap::backspace(const Napi::CallbackInfo& info) {
|
||||
Napi::Env env = info.Env();
|
||||
Napi::String text = info[0].As<Napi::String>();
|
||||
this->instance->setText(text.Utf8Value().c_str());
|
||||
this->instance->backspace();
|
||||
return env.Null();
|
||||
}
|
||||
|
||||
Napi::Value QLineEditWrap::setReadOnly(const Napi::CallbackInfo& info) {
|
||||
Napi::Value QLineEditWrap::cursorBackward(const Napi::CallbackInfo& info) {
|
||||
Napi::Env env = info.Env();
|
||||
Napi::Boolean isReadOnly = info[0].As<Napi::Boolean>();
|
||||
this->instance->setReadOnly(isReadOnly.Value());
|
||||
bool mark = info[0].As<Napi::Boolean>().Value();
|
||||
int steps = info[1].As<Napi::Number>().Int32Value();
|
||||
this->instance->cursorBackward(mark, steps);
|
||||
return env.Null();
|
||||
}
|
||||
|
||||
Napi::Value QLineEditWrap::text(const Napi::CallbackInfo& info) {
|
||||
Napi::Value QLineEditWrap::cursorForward(const Napi::CallbackInfo& info) {
|
||||
Napi::Env env = info.Env();
|
||||
QString text = this->instance->text();
|
||||
return Napi::String::New(env, text.toStdString().c_str());
|
||||
}
|
||||
|
||||
Napi::Value QLineEditWrap::setPlaceholderText(const Napi::CallbackInfo& info) {
|
||||
Napi::Env env = info.Env();
|
||||
Napi::String text = info[0].As<Napi::String>();
|
||||
this->instance->setPlaceholderText(text.Utf8Value().c_str());
|
||||
bool mark = info[0].As<Napi::Boolean>().Value();
|
||||
int steps = info[1].As<Napi::Number>().Int32Value();
|
||||
this->instance->cursorForward(mark, steps);
|
||||
return env.Null();
|
||||
}
|
||||
|
||||
Napi::Value QLineEditWrap::cursorPositionAt(const Napi::CallbackInfo& info) {
|
||||
Napi::Env env = info.Env();
|
||||
QPointWrap* posWrap =
|
||||
Napi::ObjectWrap<QPointWrap>::Unwrap(info[0].As<Napi::Object>());
|
||||
QPoint* pos = posWrap->getInternalInstance();
|
||||
int result = this->instance->cursorPositionAt(*pos);
|
||||
return Napi::Number::New(env, result);
|
||||
}
|
||||
|
||||
Napi::Value QLineEditWrap::cursorWordBackward(const Napi::CallbackInfo& info) {
|
||||
Napi::Env env = info.Env();
|
||||
bool mark = info[0].As<Napi::Boolean>().Value();
|
||||
this->instance->cursorWordBackward(mark);
|
||||
return env.Null();
|
||||
}
|
||||
|
||||
Napi::Value QLineEditWrap::cursorWordForward(const Napi::CallbackInfo& info) {
|
||||
Napi::Env env = info.Env();
|
||||
bool mark = info[0].As<Napi::Boolean>().Value();
|
||||
this->instance->cursorWordForward(mark);
|
||||
return env.Null();
|
||||
}
|
||||
|
||||
Napi::Value QLineEditWrap::del(const Napi::CallbackInfo& info) {
|
||||
Napi::Env env = info.Env();
|
||||
this->instance->del();
|
||||
return env.Null();
|
||||
}
|
||||
|
||||
Napi::Value QLineEditWrap::deselect(const Napi::CallbackInfo& info) {
|
||||
Napi::Env env = info.Env();
|
||||
this->instance->deselect();
|
||||
return env.Null();
|
||||
}
|
||||
Napi::Value QLineEditWrap::end(const Napi::CallbackInfo& info) {
|
||||
Napi::Env env = info.Env();
|
||||
bool mark = info[0].As<Napi::Boolean>().Value();
|
||||
this->instance->end(mark);
|
||||
return env.Null();
|
||||
}
|
||||
Napi::Value QLineEditWrap::home(const Napi::CallbackInfo& info) {
|
||||
Napi::Env env = info.Env();
|
||||
bool mark = info[0].As<Napi::Boolean>().Value();
|
||||
this->instance->home(mark);
|
||||
return env.Null();
|
||||
}
|
||||
|
||||
Napi::Value QLineEditWrap::insert(const Napi::CallbackInfo& info) {
|
||||
Napi::Env env = info.Env();
|
||||
std::string newTextNapiText = info[0].As<Napi::String>().Utf8Value();
|
||||
QString newText = QString::fromUtf8(newTextNapiText.c_str());
|
||||
this->instance->insert(newText);
|
||||
return env.Null();
|
||||
}
|
||||
Napi::Value QLineEditWrap::selectionEnd(const Napi::CallbackInfo& info) {
|
||||
Napi::Env env = info.Env();
|
||||
int result = this->instance->selectionEnd();
|
||||
return Napi::Number::New(env, result);
|
||||
}
|
||||
|
||||
Napi::Value QLineEditWrap::selectionLength(const Napi::CallbackInfo& info) {
|
||||
Napi::Env env = info.Env();
|
||||
int result = this->instance->selectionLength();
|
||||
return Napi::Number::New(env, result);
|
||||
}
|
||||
|
||||
Napi::Value QLineEditWrap::selectionStart(const Napi::CallbackInfo& info) {
|
||||
Napi::Env env = info.Env();
|
||||
int result = this->instance->selectionStart();
|
||||
return Napi::Number::New(env, result);
|
||||
}
|
||||
Napi::Value QLineEditWrap::setSelection(const Napi::CallbackInfo& info) {
|
||||
Napi::Env env = info.Env();
|
||||
int start = info[0].As<Napi::Number>().Int32Value();
|
||||
int length = info[1].As<Napi::Number>().Int32Value();
|
||||
this->instance->setSelection(start, length);
|
||||
return env.Null();
|
||||
}
|
||||
|
||||
Napi::Value QLineEditWrap::setTextMargins(const Napi::CallbackInfo& info) {
|
||||
Napi::Env env = info.Env();
|
||||
int left = info[0].As<Napi::Number>().Int32Value();
|
||||
int top = info[1].As<Napi::Number>().Int32Value();
|
||||
int right = info[2].As<Napi::Number>().Int32Value();
|
||||
int bottom = info[3].As<Napi::Number>().Int32Value();
|
||||
this->instance->setTextMargins(left, top, right, bottom);
|
||||
return env.Null();
|
||||
}
|
||||
Napi::Value QLineEditWrap::clear(const Napi::CallbackInfo& info) {
|
||||
Napi::Env env = info.Env();
|
||||
this->instance->clear();
|
||||
return env.Null();
|
||||
}
|
||||
|
||||
Napi::Value QLineEditWrap::setEchoMode(const Napi::CallbackInfo& info) {
|
||||
Napi::Value QLineEditWrap::copy(const Napi::CallbackInfo& info) {
|
||||
Napi::Env env = info.Env();
|
||||
Napi::Number mode = info[0].As<Napi::Number>();
|
||||
this->instance->setEchoMode(
|
||||
static_cast<QLineEdit::EchoMode>(mode.Int32Value()));
|
||||
this->instance->copy();
|
||||
return env.Null();
|
||||
}
|
||||
}
|
||||
|
||||
Napi::Value QLineEditWrap::cut(const Napi::CallbackInfo& info) {
|
||||
Napi::Env env = info.Env();
|
||||
this->instance->cut();
|
||||
return env.Null();
|
||||
}
|
||||
|
||||
Napi::Value QLineEditWrap::paste(const Napi::CallbackInfo& info) {
|
||||
Napi::Env env = info.Env();
|
||||
this->instance->paste();
|
||||
return env.Null();
|
||||
}
|
||||
|
||||
Napi::Value QLineEditWrap::redo(const Napi::CallbackInfo& info) {
|
||||
Napi::Env env = info.Env();
|
||||
this->instance->redo();
|
||||
return env.Null();
|
||||
}
|
||||
|
||||
Napi::Value QLineEditWrap::selectAll(const Napi::CallbackInfo& info) {
|
||||
Napi::Env env = info.Env();
|
||||
this->instance->selectAll();
|
||||
return env.Null();
|
||||
}
|
||||
Napi::Value QLineEditWrap::undo(const Napi::CallbackInfo& info) {
|
||||
Napi::Env env = info.Env();
|
||||
this->instance->undo();
|
||||
return env.Null();
|
||||
}
|
||||
|
||||
@ -1,6 +1,9 @@
|
||||
import addon from '../utils/addon';
|
||||
import { NodeWidget, QWidgetSignals } from './QWidget';
|
||||
import { NativeElement } from '../core/Component';
|
||||
import { AlignmentFlag } from '../QtEnums/AlignmentFlag';
|
||||
import { CursorMoveStyle } from '../QtEnums/CursorMoveStyle';
|
||||
import { QPoint } from '../QtCore/QPoint';
|
||||
|
||||
/**
|
||||
|
||||
@ -34,32 +37,181 @@ export class QLineEdit extends NodeWidget<QLineEditSignals> {
|
||||
this.native = native;
|
||||
this.setNodeParent(parent);
|
||||
}
|
||||
setText(text: string): void {
|
||||
if (text == null) {
|
||||
return;
|
||||
}
|
||||
this.native.setText(text);
|
||||
// TODO: void addAction(QAction *action, QLineEdit::ActionPosition position)
|
||||
// TODO: QAction * addAction(const QIcon &icon, QLineEdit::ActionPosition position)
|
||||
alignment(): AlignmentFlag {
|
||||
return this.property('alignment').toInt();
|
||||
}
|
||||
text(): string {
|
||||
return this.native.text();
|
||||
backspace(): void {
|
||||
this.native.backspace();
|
||||
}
|
||||
setPlaceholderText(text: string): void {
|
||||
this.native.setPlaceholderText(text);
|
||||
// TODO: QCompleter * completer() const
|
||||
// TODO: QMenu * createStandardContextMenu()
|
||||
cursorBackward(mark: boolean, steps = 1): void {
|
||||
this.native.cursorBackward(mark, steps);
|
||||
}
|
||||
cursorForward(mark: boolean, steps = 1): void {
|
||||
this.native.cursorForward(mark, steps);
|
||||
}
|
||||
cursorMoveStyle(): CursorMoveStyle {
|
||||
return this.property('cursorMoveStyle').toInt();
|
||||
}
|
||||
cursorPosition(): number {
|
||||
return this.property('cursorPosition').toInt();
|
||||
}
|
||||
cursorPositionAt(pos: QPoint): number {
|
||||
return this.native.cursorPositionAt(pos);
|
||||
}
|
||||
cursorWordBackward(mark: boolean): void {
|
||||
this.native.cursorWordBackward(mark);
|
||||
}
|
||||
cursorWordForward(mark: boolean): void {
|
||||
this.native.cursorWordForward(mark);
|
||||
}
|
||||
del(): void {
|
||||
this.native.del();
|
||||
}
|
||||
deselect(): void {
|
||||
this.native.deselect();
|
||||
}
|
||||
displayText(): string {
|
||||
return this.property('displayText').toString();
|
||||
}
|
||||
dragEnabled(): boolean {
|
||||
return this.property('dragEnabled').toBool();
|
||||
}
|
||||
echoMode(): EchoMode {
|
||||
return this.property('echoMode').toInt();
|
||||
}
|
||||
end(mark: boolean): void {
|
||||
this.native.end(mark);
|
||||
}
|
||||
hasAcceptableInput(): boolean {
|
||||
return this.property('hasAcceptableInput').toBool();
|
||||
}
|
||||
hasFrame(): boolean {
|
||||
return this.property('hasFrame').toBool();
|
||||
}
|
||||
hasSelectedText(): boolean {
|
||||
return this.property('hasSelectedText').toBool();
|
||||
}
|
||||
home(mark: boolean): void {
|
||||
this.native.home(mark);
|
||||
}
|
||||
inputMask(): string {
|
||||
return this.property('inputMask').toString();
|
||||
}
|
||||
insert(newText: string): void {
|
||||
this.native.insert(newText);
|
||||
}
|
||||
isClearButtonEnabled(): boolean {
|
||||
return this.property('isClearButtonEnabled').toBool();
|
||||
}
|
||||
isModified(): boolean {
|
||||
return this.property('isModified').toBool();
|
||||
}
|
||||
isReadOnly(): boolean {
|
||||
return this.property('isReadOnly').toBool();
|
||||
}
|
||||
isRedoAvailable(): boolean {
|
||||
return this.property('isRedoAvailable').toBool();
|
||||
}
|
||||
isUndoAvailable(): boolean {
|
||||
return this.property('isUndoAvailable').toBool();
|
||||
}
|
||||
maxLength(): number {
|
||||
return this.property('maxLength').toInt();
|
||||
}
|
||||
placeholderText(): string {
|
||||
return this.property('placeholderText').toString();
|
||||
}
|
||||
selectedText(): string {
|
||||
return this.property('selectedText').toString();
|
||||
}
|
||||
selectionEnd(): number {
|
||||
return this.native.selectionEnd();
|
||||
}
|
||||
selectionLength(): number {
|
||||
return this.native.selectionLength();
|
||||
}
|
||||
selectionStart(): number {
|
||||
return this.native.selectionStart();
|
||||
}
|
||||
setAlignment(alignment: AlignmentFlag): void {
|
||||
this.setProperty('alignment', alignment);
|
||||
}
|
||||
setClearButtonEnabled(enable: boolean): void {
|
||||
this.setProperty('clearButtonEnabled', enable);
|
||||
}
|
||||
// TODO: void setCompleter(QCompleter *c)
|
||||
setCursorMoveStyle(style: CursorMoveStyle): void {
|
||||
this.setProperty('cursorMoveStyle', style);
|
||||
}
|
||||
setCursorPosition(pos: number): void {
|
||||
this.setProperty('cursorPosition', pos);
|
||||
}
|
||||
setDragEnabled(b: boolean): void {
|
||||
this.setProperty('dragEnabled', b);
|
||||
}
|
||||
setEchoMode(echoMode: EchoMode): void {
|
||||
this.setProperty('echoMode', echoMode);
|
||||
}
|
||||
setFrame(useFrame: boolean): void {
|
||||
this.setProperty('frame', useFrame);
|
||||
}
|
||||
setInputMask(inputMask: string): void {
|
||||
this.setProperty('inputMask', inputMask);
|
||||
}
|
||||
setMaxLength(maxLength: number): void {
|
||||
this.setProperty('maxLength', maxLength);
|
||||
}
|
||||
setModified(isModified: boolean): void {
|
||||
this.setProperty('modified', isModified);
|
||||
}
|
||||
setPlaceholderText(text: string): void {
|
||||
this.setProperty('placeholderText', text);
|
||||
}
|
||||
setReadOnly(isReadOnly: boolean): void {
|
||||
this.native.setReadOnly(isReadOnly);
|
||||
this.setProperty('readOnly', isReadOnly);
|
||||
}
|
||||
isReadOnly(): boolean {
|
||||
return this.property('readOnly').toBool();
|
||||
setSelection(start: number, length: number): void {
|
||||
this.native.setSelection(start, length);
|
||||
}
|
||||
setTextMargins(left: number, top: number, right: number, bottom: number): void {
|
||||
this.native.setTextMargins(left, top, right, bottom);
|
||||
}
|
||||
// TODO: void setTextMargins(const QMargins &margins)
|
||||
// TODO: void setValidator(const QValidator *v)
|
||||
text(): string {
|
||||
return this.property('text').toString();
|
||||
}
|
||||
// TODO: QMargins textMargins() const
|
||||
// TODO: const QValidator * validator() const
|
||||
|
||||
// *** Public Slots ***
|
||||
clear(): void {
|
||||
this.native.clear();
|
||||
}
|
||||
setEchoMode(mode: EchoMode): void {
|
||||
this.native.setEchoMode(mode);
|
||||
copy(): void {
|
||||
this.native.copy();
|
||||
}
|
||||
cut(): void {
|
||||
this.native.cut();
|
||||
}
|
||||
paste(): void {
|
||||
this.native.paste();
|
||||
}
|
||||
redo(): void {
|
||||
this.native.redo();
|
||||
}
|
||||
selectAll(): void {
|
||||
this.native.selectAll();
|
||||
}
|
||||
setText(text: string): void {
|
||||
this.setProperty('text', text);
|
||||
}
|
||||
undo(): void {
|
||||
this.native.undo();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user