diff --git a/src/cpp/include/nodegui/QtWidgets/QTableWidgetItem/qtablewidgetitem_wrap.h b/src/cpp/include/nodegui/QtWidgets/QTableWidgetItem/qtablewidgetitem_wrap.h index 06a22db24..d189a0a8b 100644 --- a/src/cpp/include/nodegui/QtWidgets/QTableWidgetItem/qtablewidgetitem_wrap.h +++ b/src/cpp/include/nodegui/QtWidgets/QTableWidgetItem/qtablewidgetitem_wrap.h @@ -21,10 +21,35 @@ class DLL_EXPORT QTableWidgetItemWrap // class constructor static Napi::FunctionReference constructor; // wrapped methods + Napi::Value row(const Napi::CallbackInfo& info); + Napi::Value column(const Napi::CallbackInfo& info); + Napi::Value setBackground(const Napi::CallbackInfo& info); + Napi::Value background(const Napi::CallbackInfo& info); + Napi::Value setCheckState(const Napi::CallbackInfo& info); + Napi::Value checkState(const Napi::CallbackInfo& info); + Napi::Value setData(const Napi::CallbackInfo& info); + Napi::Value data(const Napi::CallbackInfo& info); + Napi::Value setFlags(const Napi::CallbackInfo& info); + Napi::Value flags(const Napi::CallbackInfo& info); + Napi::Value setFont(const Napi::CallbackInfo& info); + Napi::Value font(const Napi::CallbackInfo& info); + Napi::Value setForeground(const Napi::CallbackInfo& info); + Napi::Value foreground(const Napi::CallbackInfo& info); + Napi::Value setIcon(const Napi::CallbackInfo& info); + Napi::Value icon(const Napi::CallbackInfo& info); + Napi::Value setSelected(const Napi::CallbackInfo& info); + Napi::Value isSelected(const Napi::CallbackInfo& info); + Napi::Value setSizeHint(const Napi::CallbackInfo& info); + Napi::Value sizeHint(const Napi::CallbackInfo& info); + Napi::Value setStatusTip(const Napi::CallbackInfo& info); + Napi::Value statusTip(const Napi::CallbackInfo& info); Napi::Value setText(const Napi::CallbackInfo& info); - Napi::Value setToolTip(const Napi::CallbackInfo& info); + Napi::Value text(const Napi::CallbackInfo& info); Napi::Value setTextAlignment(const Napi::CallbackInfo& info); Napi::Value textAlignment(const Napi::CallbackInfo& info); - Napi::Value text(const Napi::CallbackInfo& info); + Napi::Value setToolTip(const Napi::CallbackInfo& info); Napi::Value toolTip(const Napi::CallbackInfo& info); + Napi::Value setWhatsThis(const Napi::CallbackInfo& info); + Napi::Value whatsThis(const Napi::CallbackInfo& info); + Napi::Value type(const Napi::CallbackInfo& info); }; diff --git a/src/cpp/lib/QtWidgets/QTableWidgetItem/qtablewidgetitem_wrap.cpp b/src/cpp/lib/QtWidgets/QTableWidgetItem/qtablewidgetitem_wrap.cpp index 8563a7943..493b70f27 100644 --- a/src/cpp/lib/QtWidgets/QTableWidgetItem/qtablewidgetitem_wrap.cpp +++ b/src/cpp/lib/QtWidgets/QTableWidgetItem/qtablewidgetitem_wrap.cpp @@ -1,6 +1,10 @@ #include "QtWidgets/QTableWidgetItem/qtablewidgetitem_wrap.h" #include "Extras/Utils/nutils.h" +#include "QtCore/QSize/qsize_wrap.h" +#include "QtCore/QVariant/qvariant_wrap.h" +#include "QtGui/QBrush/qbrush_wrap.h" +#include "QtGui/QFont/qfont_wrap.h" #include "QtGui/QIcon/qicon_wrap.h" #include "core/Component/component_wrap.h" @@ -11,14 +15,38 @@ Napi::Object QTableWidgetItemWrap::init(Napi::Env env, Napi::Object exports) { char CLASSNAME[] = "QTableWidgetItem"; Napi::Function func = DefineClass( env, CLASSNAME, - {InstanceMethod("setText", &QTableWidgetItemWrap::setText), - InstanceMethod("setToolTip", &QTableWidgetItemWrap::setToolTip), + {InstanceMethod("row", &QTableWidgetItemWrap::row), + InstanceMethod("column", &QTableWidgetItemWrap::column), + InstanceMethod("setBackground", &QTableWidgetItemWrap::setBackground), + InstanceMethod("background", &QTableWidgetItemWrap::background), + InstanceMethod("setCheckState", &QTableWidgetItemWrap::setCheckState), + InstanceMethod("checkState", &QTableWidgetItemWrap::checkState), + InstanceMethod("setData", &QTableWidgetItemWrap::setData), + InstanceMethod("data", &QTableWidgetItemWrap::data), + InstanceMethod("setFlags", &QTableWidgetItemWrap::setFlags), + InstanceMethod("flags", &QTableWidgetItemWrap::flags), + InstanceMethod("setFont", &QTableWidgetItemWrap::setFont), + InstanceMethod("font", &QTableWidgetItemWrap::font), + InstanceMethod("setForeground", &QTableWidgetItemWrap::setForeground), + InstanceMethod("foreground", &QTableWidgetItemWrap::foreground), + InstanceMethod("setIcon", &QTableWidgetItemWrap::setIcon), + InstanceMethod("icon", &QTableWidgetItemWrap::icon), + InstanceMethod("setSelected", &QTableWidgetItemWrap::setSelected), + InstanceMethod("isSelected", &QTableWidgetItemWrap::isSelected), + InstanceMethod("setSizeHint", &QTableWidgetItemWrap::setSizeHint), + InstanceMethod("sizeHint", &QTableWidgetItemWrap::sizeHint), + InstanceMethod("setStatusTip", &QTableWidgetItemWrap::setStatusTip), + InstanceMethod("statusTip", &QTableWidgetItemWrap::statusTip), + InstanceMethod("setText", &QTableWidgetItemWrap::setText), + InstanceMethod("text", &QTableWidgetItemWrap::text), InstanceMethod("setTextAlignment", &QTableWidgetItemWrap::setTextAlignment), InstanceMethod("textAlignment", &QTableWidgetItemWrap::textAlignment), - InstanceMethod("text", &QTableWidgetItemWrap::text), + InstanceMethod("setToolTip", &QTableWidgetItemWrap::setToolTip), InstanceMethod("toolTip", &QTableWidgetItemWrap::toolTip), - + InstanceMethod("setWhatsThis", &QTableWidgetItemWrap::setWhatsThis), + InstanceMethod("whatsThis", &QTableWidgetItemWrap::whatsThis), + InstanceMethod("type$", &QTableWidgetItemWrap::type), COMPONENT_WRAPPED_METHODS_EXPORT_DEFINE(QTableWidgetItemWrap)}); constructor = Napi::Persistent(func); exports.Set(CLASSNAME, func); @@ -47,51 +75,285 @@ QTableWidgetItemWrap::QTableWidgetItemWrap(const Napi::CallbackInfo& info) } this->rawData = extrautils::configureComponent(this->getInternalInstance()); } + +Napi::Value QTableWidgetItemWrap::row(const Napi::CallbackInfo& info) { + Napi::Env env = info.Env(); + Napi::HandleScope scope(env); + + int state = static_cast(this->instance->row()); + return Napi::Number::New(env, state); +} + +Napi::Value QTableWidgetItemWrap::column(const Napi::CallbackInfo& info) { + Napi::Env env = info.Env(); + Napi::HandleScope scope(env); + + int state = static_cast(this->instance->column()); + return Napi::Number::New(env, state); +} + +Napi::Value QTableWidgetItemWrap::setBackground(const Napi::CallbackInfo& info) { + Napi::Env env = info.Env(); + Napi::HandleScope scope(env); + + Napi::Object brushObject = info[0].As(); + QBrushWrap* brushWrap = Napi::ObjectWrap::Unwrap(brushObject); + this->instance->setBackground(*brushWrap->getInternalInstance()); + return env.Null(); +} + +Napi::Value QTableWidgetItemWrap::background(const Napi::CallbackInfo& info) { + Napi::Env env = info.Env(); + Napi::HandleScope scope(env); + + QBrush brush = this->instance->background(); + auto instance = QBrushWrap::constructor.New( + {Napi::External::New(env, new QBrush(brush))}); + return instance; +} + +Napi::Value QTableWidgetItemWrap::setCheckState(const Napi::CallbackInfo& info) { + Napi::Env env = info.Env(); + Napi::HandleScope scope(env); + + int state = info[0].As().Int32Value(); + this->instance->setCheckState(static_cast(state)); + return env.Null(); +} + +Napi::Value QTableWidgetItemWrap::checkState(const Napi::CallbackInfo& info) { + Napi::Env env = info.Env(); + Napi::HandleScope scope(env); + + int state = static_cast(this->instance->checkState()); + return Napi::Number::New(env, state); +} + +Napi::Value QTableWidgetItemWrap::setData(const Napi::CallbackInfo& info) { + Napi::Env env = info.Env(); + Napi::HandleScope scope(env); + + int role = info[0].As().Int32Value(); + Napi::Object variantObject = info[1].As(); + QVariantWrap* variantWrap = + Napi::ObjectWrap::Unwrap(variantObject); + this->instance->setData(role, *variantWrap->getInternalInstance()); + return env.Null(); +} + +Napi::Value QTableWidgetItemWrap::data(const Napi::CallbackInfo& info) { + Napi::Env env = info.Env(); + Napi::HandleScope scope(env); + + int role = info[0].As().Int32Value(); + QVariant data = this->instance->data(role); + auto instance = QVariantWrap::constructor.New( + {Napi::External::New(env, new QVariant(data))}); + return instance; +} + +Napi::Value QTableWidgetItemWrap::setFlags(const Napi::CallbackInfo& info) { + Napi::Env env = info.Env(); + Napi::HandleScope scope(env); + + int flags = info[0].As().Int32Value(); + this->instance->setFlags(static_cast(flags)); + return env.Null(); +} + +Napi::Value QTableWidgetItemWrap::flags(const Napi::CallbackInfo& info) { + Napi::Env env = info.Env(); + Napi::HandleScope scope(env); + + int flags = static_cast(this->instance->flags()); + return Napi::Number::New(env, flags); +} + +Napi::Value QTableWidgetItemWrap::setFont(const Napi::CallbackInfo& info) { + Napi::Env env = info.Env(); + Napi::HandleScope scope(env); + + Napi::Object fontObject = info[0].As(); + QFontWrap* fontWrap = Napi::ObjectWrap::Unwrap(fontObject); + this->instance->setFont(*fontWrap->getInternalInstance()); + return env.Null(); +} + +Napi::Value QTableWidgetItemWrap::font(const Napi::CallbackInfo& info) { + Napi::Env env = info.Env(); + Napi::HandleScope scope(env); + + QFont font = this->instance->font(); + auto instance = QFontWrap::constructor.New( + {Napi::External::New(env, new QFont(font))}); + return instance; +} + +Napi::Value QTableWidgetItemWrap::setForeground(const Napi::CallbackInfo& info) { + Napi::Env env = info.Env(); + Napi::HandleScope scope(env); + + Napi::Object brushObject = info[0].As(); + QBrushWrap* brushWrap = Napi::ObjectWrap::Unwrap(brushObject); + this->instance->setForeground(*brushWrap->getInternalInstance()); + return env.Null(); +} + +Napi::Value QTableWidgetItemWrap::foreground(const Napi::CallbackInfo& info) { + Napi::Env env = info.Env(); + Napi::HandleScope scope(env); + + QBrush brush = this->instance->foreground(); + auto instance = QBrushWrap::constructor.New( + {Napi::External::New(env, new QBrush(brush))}); + return instance; +} + +Napi::Value QTableWidgetItemWrap::setIcon(const Napi::CallbackInfo& info) { + Napi::Env env = info.Env(); + Napi::HandleScope scope(env); + + Napi::Object iconObject = info[0].As(); + QIconWrap* iconWrap = Napi::ObjectWrap::Unwrap(iconObject); + this->instance->setIcon(*iconWrap->getInternalInstance()); + return env.Null(); +} + +Napi::Value QTableWidgetItemWrap::icon(const Napi::CallbackInfo& info) { + Napi::Env env = info.Env(); + Napi::HandleScope scope(env); + + QIcon icon = this->instance->icon(); + auto instance = QIconWrap::constructor.New( + {Napi::External::New(env, new QIcon(icon))}); + return instance; +} + +Napi::Value QTableWidgetItemWrap::setSelected(const Napi::CallbackInfo& info) { + Napi::Env env = info.Env(); + Napi::HandleScope scope(env); + + bool select = info[0].As().Value(); + this->instance->setSelected(select); + return env.Null(); +} + +Napi::Value QTableWidgetItemWrap::isSelected(const Napi::CallbackInfo& info) { + Napi::Env env = info.Env(); + Napi::HandleScope scope(env); + + return Napi::Boolean::New(env, this->instance->isSelected()); +} + +Napi::Value QTableWidgetItemWrap::setSizeHint(const Napi::CallbackInfo& info) { + Napi::Env env = info.Env(); + Napi::HandleScope scope(env); + + Napi::Object sizeObject = info[0].As(); + QSizeWrap* sizeWrap = Napi::ObjectWrap::Unwrap(sizeObject); + this->instance->setSizeHint(*sizeWrap->getInternalInstance()); + return env.Null(); +} + +Napi::Value QTableWidgetItemWrap::sizeHint(const Napi::CallbackInfo& info) { + Napi::Env env = info.Env(); + Napi::HandleScope scope(env); + + QSize size = this->instance->sizeHint(); + auto instance = QSizeWrap::constructor.New({Napi::External::New( + env, new QSize(size.width(), size.height()))}); + return instance; +} + +Napi::Value QTableWidgetItemWrap::setStatusTip(const Napi::CallbackInfo& info) { + Napi::Env env = info.Env(); + Napi::HandleScope scope(env); + + std::string statusTip = info[0].As().Utf8Value(); + this->instance->setStatusTip(QString::fromUtf8(statusTip.c_str())); + return env.Null(); +} + +Napi::Value QTableWidgetItemWrap::statusTip(const Napi::CallbackInfo& info) { + Napi::Env env = info.Env(); + Napi::HandleScope scope(env); + + std::string statusTip = this->instance->text().toStdString(); + return Napi::String::New(env, statusTip); +} + Napi::Value QTableWidgetItemWrap::setText(const Napi::CallbackInfo& info) { Napi::Env env = info.Env(); Napi::HandleScope scope(env); - Napi::String napiText = info[0].As(); - std::string text = napiText.Utf8Value(); + std::string text = info[0].As().Utf8Value(); this->instance->setText(QString::fromUtf8(text.c_str())); return env.Null(); } -Napi::Value QTableWidgetItemWrap::setToolTip(const Napi::CallbackInfo& info) { + +Napi::Value QTableWidgetItemWrap::text(const Napi::CallbackInfo& info) { Napi::Env env = info.Env(); Napi::HandleScope scope(env); - Napi::String napiText = info[0].As(); - std::string tollTip = napiText.Utf8Value(); - this->instance->setToolTip(QString::fromUtf8(tollTip.c_str())); - return env.Null(); + std::string text = this->instance->text().toStdString(); + return Napi::String::New(env, text); } + Napi::Value QTableWidgetItemWrap::setTextAlignment( const Napi::CallbackInfo& info) { Napi::Env env = info.Env(); Napi::HandleScope scope(env); + int alignment = info[0].As().Int32Value(); this->instance->setTextAlignment(alignment); return env.Null(); } -Napi::Value QTableWidgetItemWrap::textAlignment( - const Napi::CallbackInfo& info) { + +Napi::Value QTableWidgetItemWrap::textAlignment(const Napi::CallbackInfo& info) { Napi::Env env = info.Env(); Napi::HandleScope scope(env); + int alignment = this->instance->textAlignment(); return Napi::Number::New(env, alignment); - return env.Null(); } -Napi::Value QTableWidgetItemWrap::text(const Napi::CallbackInfo& info) { + +Napi::Value QTableWidgetItemWrap::setToolTip(const Napi::CallbackInfo& info) { Napi::Env env = info.Env(); Napi::HandleScope scope(env); - std::string text = this->instance->text().toStdString(); - return Napi::String::New(env, text); + + std::string toolTip = info[0].As().Utf8Value(); + this->instance->setToolTip(QString::fromUtf8(toolTip.c_str())); return env.Null(); } + Napi::Value QTableWidgetItemWrap::toolTip(const Napi::CallbackInfo& info) { Napi::Env env = info.Env(); Napi::HandleScope scope(env); + std::string toolTip = this->instance->toolTip().toStdString(); return Napi::String::New(env, toolTip); +} + +Napi::Value QTableWidgetItemWrap::setWhatsThis(const Napi::CallbackInfo& info) { + Napi::Env env = info.Env(); + Napi::HandleScope scope(env); + + std::string whatsThis = info[0].As().Utf8Value(); + this->instance->setWhatsThis(QString::fromUtf8(whatsThis.c_str())); return env.Null(); -} \ No newline at end of file +} + +Napi::Value QTableWidgetItemWrap::whatsThis(const Napi::CallbackInfo& info) { + Napi::Env env = info.Env(); + Napi::HandleScope scope(env); + + std::string whatsThis = this->instance->whatsThis().toStdString(); + return Napi::String::New(env, whatsThis); +} + +Napi::Value QTableWidgetItemWrap::type(const Napi::CallbackInfo& info) { + Napi::Env env = info.Env(); + Napi::HandleScope scope(env); + + return Napi::Number::New(env, this->instance->type()); +} diff --git a/src/lib/QtWidgets/QTableWidgetItem.ts b/src/lib/QtWidgets/QTableWidgetItem.ts index 90ae39732..5260b697b 100644 --- a/src/lib/QtWidgets/QTableWidgetItem.ts +++ b/src/lib/QtWidgets/QTableWidgetItem.ts @@ -1,6 +1,11 @@ import addon from '../utils/addon'; import { NativeElement, Component } from '../core/Component'; -import { AlignmentFlag } from '../QtEnums'; +import { AlignmentFlag, CheckState, ItemFlag } from '../QtEnums'; +import { QBrush } from '../QtGui/QBrush'; +import { QVariant } from '../QtCore/QVariant'; +import { QFont } from '../QtGui/QFont'; +import { QIcon } from '../QtGui/QIcon'; +import { QSize } from '../QtCore/QSize'; /** @@ -48,11 +53,77 @@ export class QTableWidgetItem extends Component { super(); this.native = native; } + setBackground(brush: QBrush): void { + this.native.setBackground(brush.native); + } + row(): number { + return this.native.row(); + } + column(): number { + return this.native.column(); + } + background(): QBrush { + return new QBrush(this.native.background()); + } + setCheckState(state: CheckState): void { + this.native.setCheckState(state); + } + checkState(): CheckState { + return this.native.checkState(); + } + setData(role: number, value: QVariant): void { + this.native.setData(role, value.native); + } + data(role: number): QVariant { + return new QVariant(this.native.data(role)); + } + setFlags(flags: ItemFlag): void { + this.native.setFlags(flags); + } + flags(): ItemFlag { + return this.native.flags(); + } + setFont(font: QFont): void { + this.native.setFont(font.native); + } + font(): QFont { + return new QFont(this.native.font()); + } + setForeground(brush: QBrush): void { + this.native.setForeground(brush.native); + } + foreground(): QBrush { + return new QBrush(this.native.foreground()); + } + setIcon(icon: QIcon): void { + this.native.setIcon(icon.native); + } + icon(): QIcon { + return new QIcon(this.native.icon()); + } + setSelected(select: boolean): void { + this.native.setSelected(select); + } + isSelected(): boolean { + return this.native.isSelected(); + } + setSizeHint(size: QSize): void { + this.native.setSizeHint(size.native); + } + sizeHint(): QSize { + return new QSize(this.native.sizeHint()); + } + setStatusTip(statusTip: string): void { + this.native.setStatusTip(statusTip); + } + statusTip(): string { + return this.native.statusTip(); + } setText(text: string): void { this.native.setText(text); } - setToolTip(text: string): void { - this.native.setToolTip(text); + text(): string { + return this.native.text(); } setTextAlignment(alignment: AlignmentFlag): void { this.native.setTextAlignment(alignment); @@ -60,10 +131,19 @@ export class QTableWidgetItem extends Component { textAlignment(): AlignmentFlag { return this.native.textAlignment(); } - text(): string { - return this.native.text(); + setToolTip(toolTip: string): void { + this.native.setToolTip(toolTip); } toolTip(): string { return this.native.toolTip(); } + setWhatsThis(whatsThis: string): void { + this.native.setWhatsThis(whatsThis); + } + whatsThis(): string { + return this.native.whatsThis(); + } + type(): number { + return this.native.type$(); + } }