nodeguy/src/cpp/include/nodegui/QtWidgets/QHeaderView/qheaderview_wrap.h

133 lines
6.2 KiB
C++

#pragma once
#include <napi.h>
#include <QPointer>
#include "Extras/Utils/nutils.h"
#include "QtWidgets/QAbstractItemView/qabstractitemview_macro.h"
#include "QtWidgets/QHeaderView/nheaderview.hpp"
class DLL_EXPORT QHeaderViewWrap : public Napi::ObjectWrap<QHeaderViewWrap> {
QABSTRACTITEMVIEW_WRAPPED_METHODS_DECLARATION_NO_QHEADERVIEW_PROTECTED
Napi::Value indexAt(const Napi::CallbackInfo& info) {
Napi::Env env = info.Env();
QPointWrap* pointWrap =
Napi::ObjectWrap<QPointWrap>::Unwrap(info[0].As<Napi::Object>());
QPoint* point = pointWrap->getInternalInstance();
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();
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();
}
Napi::Value visualRect(const Napi::CallbackInfo& info) {
Napi::Env env = info.Env();
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();
QRect ret = wrapper->_protected_visualRect(*index);
auto instance = QRectWrap::constructor.New(
{Napi::External<QRect>::New(env, new QRect(ret))});
return instance;
}
return env.Null();
}
private:
QPointer<QHeaderView> instance;
public:
static Napi::Object init(Napi::Env env, Napi::Object exports);
QHeaderViewWrap(const Napi::CallbackInfo& info);
~QHeaderViewWrap();
QHeaderView* getInternalInstance();
// class constructor
static Napi::FunctionReference constructor;
// wrapped methods
Napi::Value cascadingSectionResizes(const Napi::CallbackInfo& info);
Napi::Value count(const Napi::CallbackInfo& info);
Napi::Value defaultAlignment(const Napi::CallbackInfo& info);
Napi::Value defaultSectionSize(const Napi::CallbackInfo& info);
Napi::Value hiddenSectionCount(const Napi::CallbackInfo& info);
Napi::Value hideSection(const Napi::CallbackInfo& info);
Napi::Value highlightSections(const Napi::CallbackInfo& info);
Napi::Value isFirstSectionMovable(const Napi::CallbackInfo& info);
Napi::Value isSectionHidden(const Napi::CallbackInfo& info);
Napi::Value isSortIndicatorShown(const Napi::CallbackInfo& info);
Napi::Value length(const Napi::CallbackInfo& info);
Napi::Value logicalIndex(const Napi::CallbackInfo& info);
Napi::Value logicalIndexAt(const Napi::CallbackInfo& info);
Napi::Value logicalIndexAt_number_number(const Napi::CallbackInfo& info);
Napi::Value logicalIndexAt_qpoint(const Napi::CallbackInfo& info);
Napi::Value maximumSectionSize(const Napi::CallbackInfo& info);
Napi::Value minimumSectionSize(const Napi::CallbackInfo& info);
Napi::Value moveSection(const Napi::CallbackInfo& info);
Napi::Value offset(const Napi::CallbackInfo& info);
Napi::Value orientation(const Napi::CallbackInfo& info);
Napi::Value resetDefaultSectionSize(const Napi::CallbackInfo& info);
Napi::Value resizeContentsPrecision(const Napi::CallbackInfo& info);
Napi::Value resizeSection(const Napi::CallbackInfo& info);
Napi::Value resizeSections(const Napi::CallbackInfo& info);
Napi::Value sectionPosition(const Napi::CallbackInfo& info);
Napi::Value sectionResizeMode(const Napi::CallbackInfo& info);
Napi::Value sectionSize(const Napi::CallbackInfo& info);
Napi::Value sectionSizeHint(const Napi::CallbackInfo& info);
Napi::Value sectionViewportPosition(const Napi::CallbackInfo& info);
Napi::Value sectionsClickable(const Napi::CallbackInfo& info);
Napi::Value sectionsHidden(const Napi::CallbackInfo& info);
Napi::Value sectionsMovable(const Napi::CallbackInfo& info);
Napi::Value sectionsMoved(const Napi::CallbackInfo& info);
Napi::Value setCascadingSectionResizes(const Napi::CallbackInfo& info);
Napi::Value setDefaultAlignment(const Napi::CallbackInfo& info);
Napi::Value setDefaultSectionSize(const Napi::CallbackInfo& info);
Napi::Value setFirstSectionMovable(const Napi::CallbackInfo& info);
Napi::Value setHighlightSections(const Napi::CallbackInfo& info);
Napi::Value setMaximumSectionSize(const Napi::CallbackInfo& info);
Napi::Value setMinimumSectionSize(const Napi::CallbackInfo& info);
Napi::Value setResizeContentsPrecision(const Napi::CallbackInfo& info);
Napi::Value setSectionHidden(const Napi::CallbackInfo& info);
Napi::Value setSectionResizeMode_mode(const Napi::CallbackInfo& info);
Napi::Value setSectionResizeMode_number_mode(const Napi::CallbackInfo& info);
Napi::Value setSectionsClickable(const Napi::CallbackInfo& info);
Napi::Value setSectionsMovable(const Napi::CallbackInfo& info);
Napi::Value setSortIndicator(const Napi::CallbackInfo& info);
Napi::Value setSortIndicatorShown(const Napi::CallbackInfo& info);
Napi::Value showSection(const Napi::CallbackInfo& info);
Napi::Value sortIndicatorOrder(const Napi::CallbackInfo& info);
Napi::Value sortIndicatorSection(const Napi::CallbackInfo& info);
Napi::Value stretchSectionCount(const Napi::CallbackInfo& info);
Napi::Value swapSections(const Napi::CallbackInfo& info);
Napi::Value visualIndex(const Napi::CallbackInfo& info);
Napi::Value visualIndexAt(const Napi::CallbackInfo& info);
Napi::Value headerDataChanged(const Napi::CallbackInfo& info);
Napi::Value setOffset(const Napi::CallbackInfo& info);
Napi::Value setOffsetToLastSection(const Napi::CallbackInfo& info);
Napi::Value setOffsetToSectionPosition(const Napi::CallbackInfo& info);
};