#pragma once
#include <QtGui/QAction>
#include <QtWidgets/QMenu>
#include <QtWidgets/QMenuBar>
#include <QtCore/QObject>
#include <QtCore/QString>
#include <string>
#include "signal.h"
inline QMenu *QMenu_new(const std::string &title, QWidget *parent) {
return new QMenu(QString::fromStdString(title), parent);
}
inline void QMenu_addAction(QMenu *menu, const std::string &text, uint64_t ctx) {
QAction *action = menu->addAction(QString::fromStdString(text));
QObject::connect(action, &QAction::triggered, [ctx]() {
if (g_hasVoidTrampoline) g_voidTrampoline(ctx);
});
}
inline void QMenu_delete(QMenu *menu) {
delete menu;
}
inline QMenuBar *QMenuBar_new(QWidget *parent) {
return new QMenuBar(parent);
}
inline void QMenuBar_addMenu(QMenuBar *mb, QMenu *menu) {
mb->addMenu(menu);
}
inline void QMenuBar_delete(QMenuBar *mb) {
delete mb;
}