Fix up QHeaderView failing on the default nodejs MS compiler
This commit is contained in:
parent
391971f80b
commit
87af1db2bc
@ -12,5 +12,13 @@ class DLL_EXPORT NHeaderView : public QHeaderView, public NodeWidget {
|
||||
public:
|
||||
using QHeaderView::QHeaderView;
|
||||
|
||||
virtual void connectSignalsToEventEmitter() { QABSTRACTITEMVIEW_SIGNALS }
|
||||
virtual void connectSignalsToEventEmitter(){QABSTRACTITEMVIEW_SIGNALS}
|
||||
|
||||
QModelIndex _protected_indexAt(const QPoint &p) const {
|
||||
return indexAt(p);
|
||||
}
|
||||
|
||||
void _protected_scrollTo(const QModelIndex &index, ScrollHint hint) {
|
||||
scrollTo(index, hint);
|
||||
}
|
||||
};
|
||||
|
||||
@ -17,22 +17,32 @@ class DLL_EXPORT QHeaderViewWrap : public Napi::ObjectWrap<QHeaderViewWrap> {
|
||||
QPointWrap* pointWrap =
|
||||
Napi::ObjectWrap<QPointWrap>::Unwrap(info[0].As<Napi::Object>());
|
||||
QPoint* point = pointWrap->getInternalInstance();
|
||||
QModelIndex result = this->instance->QAbstractItemView::indexAt(*point);
|
||||
auto resultInstance = QModelIndexWrap::constructor.New(
|
||||
{Napi::External<QModelIndex>::New(env, new QModelIndex(result))});
|
||||
return resultInstance;
|
||||
|
||||
NHeaderView* wrapper = dynamic_cast<NHeaderView*>(this->instance.data());
|
||||
if (wrapper) {
|
||||
QModelIndex result = wrapper->_protected_indexAt(*point);
|
||||
auto resultInstance = QModelIndexWrap::constructor.New(
|
||||
{Napi::External<QModelIndex>::New(env, new QModelIndex(result))});
|
||||
return resultInstance;
|
||||
} else {
|
||||
return env.Null();
|
||||
}
|
||||
}
|
||||
|
||||
Napi::Value scrollTo(const Napi::CallbackInfo& info) {
|
||||
Napi::Env env = info.Env();
|
||||
Napi::HandleScope scope(env);
|
||||
QModelIndexWrap* indexWrap =
|
||||
Napi::ObjectWrap<QModelIndexWrap>::Unwrap(info[0].As<Napi::Object>());
|
||||
QModelIndex* index = indexWrap->getInternalInstance();
|
||||
QAbstractItemView::ScrollHint hint =
|
||||
static_cast<QAbstractItemView::ScrollHint>(
|
||||
info[1].As<Napi::Number>().Int32Value());
|
||||
this->instance->QAbstractItemView::scrollTo(*index, hint);
|
||||
|
||||
NHeaderView* wrapper = dynamic_cast<NHeaderView*>(this->instance.data());
|
||||
if (wrapper) {
|
||||
QModelIndexWrap* indexWrap =
|
||||
Napi::ObjectWrap<QModelIndexWrap>::Unwrap(info[0].As<Napi::Object>());
|
||||
QModelIndex* index = indexWrap->getInternalInstance();
|
||||
QAbstractItemView::ScrollHint hint =
|
||||
static_cast<QAbstractItemView::ScrollHint>(
|
||||
info[1].As<Napi::Number>().Int32Value());
|
||||
wrapper->_protected_scrollTo(*index, hint);
|
||||
}
|
||||
return env.Null();
|
||||
}
|
||||
|
||||
|
||||
@ -28,7 +28,7 @@ QHeaderViewWrap::QHeaderViewWrap(const Napi::CallbackInfo& info)
|
||||
Napi::Env env = info.Env();
|
||||
Napi::HandleScope scope(env);
|
||||
|
||||
int len = info.Length();
|
||||
size_t len = info.Length();
|
||||
|
||||
this->disableDeletion = false;
|
||||
if (len == 1) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user