#pragma once
#include <QtWidgets/QSplitter>
#include <string>
#include <vector>
#include <cstdint>
#include "rust/cxx.h"
#include "signal.h"
inline QSplitter *QSplitter_new(int orientation, QWidget *parent = nullptr) {
return new QSplitter(static_cast<Qt::Orientation>(orientation), parent);
}
inline void QSplitter_delete(QSplitter *w) { delete w; }
inline void QSplitter_addWidget(QSplitter *w, QWidget *widget) {
w->addWidget(widget);
}
inline void QSplitter_insertWidget(QSplitter *w, int index, QWidget *widget) {
w->insertWidget(index, widget);
}
inline void QSplitter_setStretchFactor(QSplitter *w, int index, int stretch) {
w->setStretchFactor(index, stretch);
}
inline void QSplitter_setSizes(QSplitter *w, rust::Vec<int32_t> sizes) {
QList<int> list;
for (int s : sizes) {
list.append(s);
}
w->setSizes(list);
}
inline rust::Vec<int32_t> QSplitter_sizes(QSplitter *w) {
QList<int> s = w->sizes();
rust::Vec<int32_t> result;
for (int val : s) {
result.push_back(val);
}
return result;
}
inline void QSplitter_setOrientation(QSplitter *w, int orientation) {
w->setOrientation(static_cast<Qt::Orientation>(orientation));
}
inline int QSplitter_count(QSplitter *w) {
return w->count();
}
inline void QSplitter_setHandleWidth(QSplitter *w, int width) {
w->setHandleWidth(width);
}
inline void QSplitter_setChildrenCollapsible(QSplitter *w, bool collapsible) {
w->setChildrenCollapsible(collapsible);
}
inline QWidget *toQWidget_QSplitter(QSplitter *w) {
return static_cast<QWidget *>(w);
}