#pragma once
#include <QtCore/QObject>
#include <QtWidgets/QTabWidget>
#include <QtWidgets/QWidget>
#include <QtCore/QString>
#include <string>
#include "signal.h"
inline QTabWidget *QTabWidget_new(QWidget *parent) {
return new QTabWidget(parent);
}
inline void QTabWidget_addTab(QTabWidget *tw, QWidget *page, const std::string &label) {
tw->addTab(page, QString::fromStdString(label));
}
inline int QTabWidget_currentIndex(QTabWidget *tw) {
return tw->currentIndex();
}
inline void QTabWidget_setCurrentIndex(QTabWidget *tw, int index) {
tw->setCurrentIndex(index);
}
inline void QTabWidget_delete(QTabWidget *tw) {
delete tw;
}
inline void QTabWidget_onCurrentChanged(QTabWidget *tw, uint64_t ctx) {
QObject::connect(tw, &QTabWidget::currentChanged,
[ctx](int index) {
if (g_hasIntTrampoline) g_intTrampoline(ctx, index);
});
}