Add the missing QTableWidgetItem properties and functions. (#756)

This commit is contained in:
Nathanael Anderson 2020-12-10 12:30:15 -06:00 committed by GitHub
parent 2e0bcc158f
commit 9b96a443ce
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 392 additions and 25 deletions

View File

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

View File

@ -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<int>(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<int>(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<Napi::Object>();
QBrushWrap* brushWrap = Napi::ObjectWrap<QBrushWrap>::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<QBrush>::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<Napi::Number>().Int32Value();
this->instance->setCheckState(static_cast<Qt::CheckState>(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<int>(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<Napi::Number>().Int32Value();
Napi::Object variantObject = info[1].As<Napi::Object>();
QVariantWrap* variantWrap =
Napi::ObjectWrap<QVariantWrap>::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<Napi::Number>().Int32Value();
QVariant data = this->instance->data(role);
auto instance = QVariantWrap::constructor.New(
{Napi::External<QVariant>::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<Napi::Number>().Int32Value();
this->instance->setFlags(static_cast<Qt::ItemFlags>(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<int>(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<Napi::Object>();
QFontWrap* fontWrap = Napi::ObjectWrap<QFontWrap>::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<QFont>::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<Napi::Object>();
QBrushWrap* brushWrap = Napi::ObjectWrap<QBrushWrap>::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<QBrush>::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<Napi::Object>();
QIconWrap* iconWrap = Napi::ObjectWrap<QIconWrap>::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<QIcon>::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<Napi::Boolean>().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<Napi::Object>();
QSizeWrap* sizeWrap = Napi::ObjectWrap<QSizeWrap>::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<QSize>::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<Napi::String>().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<Napi::String>();
std::string text = napiText.Utf8Value();
std::string text = info[0].As<Napi::String>().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<Napi::String>();
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<Napi::Number>().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<Napi::String>().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<Napi::String>().Utf8Value();
this->instance->setWhatsThis(QString::fromUtf8(whatsThis.c_str()));
return env.Null();
}
}
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());
}

View File

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