#include "gen_qtoolbox.h" #include "qtoolbox.h" #include #include #include #include #include extern "C" { extern void miqt_exec_callback(void* cb, int argc, void* argv); } QMetaObject* QToolBox_MetaObject(QToolBox* self) { return (QMetaObject*) self->metaObject(); } void QToolBox_Tr(char* s, char** _out, int* _out_Strlen) { QString ret = QToolBox::tr(s); // Convert QString from UTF-16 in C++ RAII memory to UTF-8 in manually-managed C memory QByteArray b = ret.toUtf8(); *_out = static_cast(malloc(b.length())); memcpy(*_out, b.data(), b.length()); *_out_Strlen = b.length(); } void QToolBox_TrUtf8(char* s, char** _out, int* _out_Strlen) { QString ret = QToolBox::trUtf8(s); // Convert QString from UTF-16 in C++ RAII memory to UTF-8 in manually-managed C memory QByteArray b = ret.toUtf8(); *_out = static_cast(malloc(b.length())); memcpy(*_out, b.data(), b.length()); *_out_Strlen = b.length(); } int QToolBox_AddItem(QToolBox* self, QWidget* widget, const char* text, size_t text_Strlen) { QString text_QString = QString::fromUtf8(text, text_Strlen); return self->addItem(widget, text_QString); } int QToolBox_AddItem2(QToolBox* self, QWidget* widget, QIcon* icon, const char* text, size_t text_Strlen) { QString text_QString = QString::fromUtf8(text, text_Strlen); return self->addItem(widget, *icon, text_QString); } int QToolBox_InsertItem(QToolBox* self, int index, QWidget* widget, const char* text, size_t text_Strlen) { QString text_QString = QString::fromUtf8(text, text_Strlen); return self->insertItem(static_cast(index), widget, text_QString); } int QToolBox_InsertItem2(QToolBox* self, int index, QWidget* widget, QIcon* icon, const char* text, size_t text_Strlen) { QString text_QString = QString::fromUtf8(text, text_Strlen); return self->insertItem(static_cast(index), widget, *icon, text_QString); } void QToolBox_RemoveItem(QToolBox* self, int index) { self->removeItem(static_cast(index)); } void QToolBox_SetItemEnabled(QToolBox* self, int index, bool enabled) { self->setItemEnabled(static_cast(index), enabled); } bool QToolBox_IsItemEnabled(QToolBox* self, int index) { return self->isItemEnabled(static_cast(index)); } void QToolBox_SetItemText(QToolBox* self, int index, const char* text, size_t text_Strlen) { QString text_QString = QString::fromUtf8(text, text_Strlen); self->setItemText(static_cast(index), text_QString); } void QToolBox_ItemText(QToolBox* self, int index, char** _out, int* _out_Strlen) { QString ret = self->itemText(static_cast(index)); // Convert QString from UTF-16 in C++ RAII memory to UTF-8 in manually-managed C memory QByteArray b = ret.toUtf8(); *_out = static_cast(malloc(b.length())); memcpy(*_out, b.data(), b.length()); *_out_Strlen = b.length(); } void QToolBox_SetItemIcon(QToolBox* self, int index, QIcon* icon) { self->setItemIcon(static_cast(index), *icon); } QIcon* QToolBox_ItemIcon(QToolBox* self, int index) { QIcon ret = self->itemIcon(static_cast(index)); // Copy-construct value returned type into heap-allocated copy return static_cast(new QIcon(ret)); } void QToolBox_SetItemToolTip(QToolBox* self, int index, const char* toolTip, size_t toolTip_Strlen) { QString toolTip_QString = QString::fromUtf8(toolTip, toolTip_Strlen); self->setItemToolTip(static_cast(index), toolTip_QString); } void QToolBox_ItemToolTip(QToolBox* self, int index, char** _out, int* _out_Strlen) { QString ret = self->itemToolTip(static_cast(index)); // Convert QString from UTF-16 in C++ RAII memory to UTF-8 in manually-managed C memory QByteArray b = ret.toUtf8(); *_out = static_cast(malloc(b.length())); memcpy(*_out, b.data(), b.length()); *_out_Strlen = b.length(); } int QToolBox_CurrentIndex(QToolBox* self) { return self->currentIndex(); } QWidget* QToolBox_CurrentWidget(QToolBox* self) { return self->currentWidget(); } QWidget* QToolBox_Widget(QToolBox* self, int index) { return self->widget(static_cast(index)); } int QToolBox_IndexOf(QToolBox* self, QWidget* widget) { return self->indexOf(widget); } int QToolBox_Count(QToolBox* self) { return self->count(); } void QToolBox_SetCurrentIndex(QToolBox* self, int index) { self->setCurrentIndex(static_cast(index)); } void QToolBox_SetCurrentWidget(QToolBox* self, QWidget* widget) { self->setCurrentWidget(widget); } void QToolBox_CurrentChanged(QToolBox* self, int index) { self->currentChanged(static_cast(index)); } void QToolBox_connect_CurrentChanged(QToolBox* self, void* slot) { QToolBox::connect(self, static_cast(&QToolBox::currentChanged), self, [=](int index) { miqt_exec_callback(slot, 0, nullptr); }); } void QToolBox_Tr2(char* s, char* c, char** _out, int* _out_Strlen) { QString ret = QToolBox::tr(s, c); // Convert QString from UTF-16 in C++ RAII memory to UTF-8 in manually-managed C memory QByteArray b = ret.toUtf8(); *_out = static_cast(malloc(b.length())); memcpy(*_out, b.data(), b.length()); *_out_Strlen = b.length(); } void QToolBox_Tr3(char* s, char* c, int n, char** _out, int* _out_Strlen) { QString ret = QToolBox::tr(s, c, static_cast(n)); // Convert QString from UTF-16 in C++ RAII memory to UTF-8 in manually-managed C memory QByteArray b = ret.toUtf8(); *_out = static_cast(malloc(b.length())); memcpy(*_out, b.data(), b.length()); *_out_Strlen = b.length(); } void QToolBox_TrUtf82(char* s, char* c, char** _out, int* _out_Strlen) { QString ret = QToolBox::trUtf8(s, c); // Convert QString from UTF-16 in C++ RAII memory to UTF-8 in manually-managed C memory QByteArray b = ret.toUtf8(); *_out = static_cast(malloc(b.length())); memcpy(*_out, b.data(), b.length()); *_out_Strlen = b.length(); } void QToolBox_TrUtf83(char* s, char* c, int n, char** _out, int* _out_Strlen) { QString ret = QToolBox::trUtf8(s, c, static_cast(n)); // Convert QString from UTF-16 in C++ RAII memory to UTF-8 in manually-managed C memory QByteArray b = ret.toUtf8(); *_out = static_cast(malloc(b.length())); memcpy(*_out, b.data(), b.length()); *_out_Strlen = b.length(); } void QToolBox_Delete(QToolBox* self) { delete self; }