// ============================================================ // vqt6/_bridge_widgets.cpp — QtWidgets C 桥接层实现 // ============================================================ #include "_bridge.h" #include "_bridge_widgets.h" #include "_bridge_gui.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include // ============================================================ // QApplication // ============================================================ extern "C" VQT6_API void* vqt6_qapplication_create(int argc, char** argv) { return new QApplication(argc, argv); } extern "C" VQT6_API void* vqt6_qapplication_instance(void) { return QApplication::instance(); } extern "C" VQT6_API int vqt6_qapplication_exec(void* app) { if (app == nullptr) return -1; return static_cast(app)->exec(); } extern "C" VQT6_API void vqt6_qapplication_quit(void* app) { if (app == nullptr) return; static_cast(app)->quit(); } extern "C" VQT6_API void vqt6_qapplication_exit(void* app, int exit_code) { if (app == nullptr) return; static_cast(app)->exit(exit_code); } extern "C" VQT6_API void vqt6_qapplication_process_events(void* app) { if (app == nullptr) return; static_cast(app)->processEvents(); } extern "C" VQT6_API int vqt6_qapplication_desktop_width(void* app) { if (app == nullptr) return 0; QScreen* screen = static_cast(app)->primaryScreen(); return screen != nullptr ? screen->size().width() : 0; } extern "C" VQT6_API int vqt6_qapplication_desktop_height(void* app) { if (app == nullptr) return 0; QScreen* screen = static_cast(app)->primaryScreen(); return screen != nullptr ? screen->size().height() : 0; } extern "C" VQT6_API void vqt6_qapplication_set_quit_on_last_window_closed(void* app, int quit) { if (app == nullptr) return; static_cast(app)->setQuitOnLastWindowClosed(quit != 0); } extern "C" VQT6_API int vqt6_qapplication_quit_on_last_window_closed(void* app) { if (app == nullptr) return 0; return QApplication::quitOnLastWindowClosed() ? 1 : 0; } // ============================================================ // QWidget // ============================================================ extern "C" VQT6_API void* vqt6_qwidget_create(void) { return new QWidget(); } extern "C" VQT6_API void* vqt6_qwidget_create_with_parent(void* parent) { if (parent == nullptr) return nullptr; return new QWidget(static_cast(parent)); } extern "C" VQT6_API void vqt6_qwidget_show(void* widget) { if (widget == nullptr) return; static_cast(widget)->show(); } extern "C" VQT6_API void vqt6_qwidget_hide(void* widget) { if (widget == nullptr) return; static_cast(widget)->hide(); } extern "C" VQT6_API int vqt6_qwidget_close(void* widget) { if (widget == nullptr) return 0; return static_cast(widget)->close() ? 1 : 0; } extern "C" VQT6_API int vqt6_qwidget_is_visible(void* widget) { if (widget == nullptr) return 0; return static_cast(widget)->isVisible() ? 1 : 0; } extern "C" VQT6_API void vqt6_qwidget_set_visible(void* widget, int visible) { if (widget == nullptr) return; static_cast(widget)->setVisible(visible != 0); } extern "C" VQT6_API void vqt6_qwidget_set_geometry(void* widget, int x, int y, int w, int h) { if (widget == nullptr) return; static_cast(widget)->setGeometry(x, y, w, h); } extern "C" VQT6_API void vqt6_qwidget_geometry(void* widget, int* x, int* y, int* w, int* h) { if (widget == nullptr) return; QRect r = static_cast(widget)->geometry(); if (x != nullptr) *x = r.x(); if (y != nullptr) *y = r.y(); if (w != nullptr) *w = r.width(); if (h != nullptr) *h = r.height(); } extern "C" VQT6_API void vqt6_qwidget_resize(void* widget, int w, int h) { if (widget == nullptr) return; static_cast(widget)->resize(w, h); } extern "C" VQT6_API void vqt6_qwidget_size(void* widget, int* w, int* h) { if (widget == nullptr) return; QSize s = static_cast(widget)->size(); if (w != nullptr) *w = s.width(); if (h != nullptr) *h = s.height(); } extern "C" VQT6_API void vqt6_qwidget_move(void* widget, int x, int y) { if (widget == nullptr) return; static_cast(widget)->move(x, y); } extern "C" VQT6_API void vqt6_qwidget_pos(void* widget, int* x, int* y) { if (widget == nullptr) return; QPoint p = static_cast(widget)->pos(); if (x != nullptr) *x = p.x(); if (y != nullptr) *y = p.y(); } extern "C" VQT6_API int vqt6_qwidget_width(void* widget) { if (widget == nullptr) return 0; return static_cast(widget)->width(); } extern "C" VQT6_API int vqt6_qwidget_height(void* widget) { if (widget == nullptr) return 0; return static_cast(widget)->height(); } extern "C" VQT6_API int vqt6_qwidget_x(void* widget) { if (widget == nullptr) return 0; return static_cast(widget)->x(); } extern "C" VQT6_API int vqt6_qwidget_y(void* widget) { if (widget == nullptr) return 0; return static_cast(widget)->y(); } extern "C" VQT6_API void vqt6_qwidget_set_window_title(void* widget, void* title) { if (widget == nullptr || title == nullptr) return; static_cast(widget)->setWindowTitle(*static_cast(title)); } extern "C" VQT6_API void* vqt6_qwidget_window_title(void* widget) { if (widget == nullptr) return nullptr; return new QString(static_cast(widget)->windowTitle()); } extern "C" VQT6_API void vqt6_qwidget_set_text(void* widget, void* text) { if (widget == nullptr || text == nullptr) return; static_cast(widget)->setWindowTitle(*static_cast(text)); } extern "C" VQT6_API void* vqt6_qwidget_text(void* widget) { if (widget == nullptr) return nullptr; return new QString(static_cast(widget)->windowTitle()); } extern "C" VQT6_API void vqt6_qwidget_set_enabled(void* widget, int enabled) { if (widget == nullptr) return; static_cast(widget)->setEnabled(enabled != 0); } extern "C" VQT6_API int vqt6_qwidget_is_enabled(void* widget) { if (widget == nullptr) return 0; return static_cast(widget)->isEnabled() ? 1 : 0; } extern "C" VQT6_API void vqt6_qwidget_set_parent(void* widget, void* parent) { if (widget == nullptr) return; static_cast(widget)->setParent(static_cast(parent)); } extern "C" VQT6_API void* vqt6_qwidget_parent_widget(void* widget) { if (widget == nullptr) return nullptr; return static_cast(widget)->parentWidget(); } extern "C" VQT6_API void vqt6_qwidget_set_focus(void* widget) { if (widget == nullptr) return; static_cast(widget)->setFocus(); } extern "C" VQT6_API void vqt6_qwidget_clear_focus(void* widget) { if (widget == nullptr) return; static_cast(widget)->clearFocus(); } extern "C" VQT6_API int vqt6_qwidget_has_focus(void* widget) { if (widget == nullptr) return 0; return static_cast(widget)->hasFocus() ? 1 : 0; } extern "C" VQT6_API void vqt6_qwidget_set_focus_policy(void* widget, int policy) { if (widget == nullptr) return; static_cast(widget)->setFocusPolicy(static_cast(policy)); } extern "C" VQT6_API void vqt6_qwidget_update(void* widget) { if (widget == nullptr) return; static_cast(widget)->update(); } extern "C" VQT6_API void vqt6_qwidget_repaint(void* widget) { if (widget == nullptr) return; static_cast(widget)->repaint(); } extern "C" VQT6_API void vqt6_qwidget_set_update_enabled(void* widget, int enabled) { if (widget == nullptr) return; static_cast(widget)->setUpdatesEnabled(enabled != 0); } extern "C" VQT6_API void vqt6_qwidget_set_window_flags(void* widget, int flags) { if (widget == nullptr) return; static_cast(widget)->setWindowFlags(static_cast(flags)); } extern "C" VQT6_API int vqt6_qwidget_window_flags(void* widget) { if (widget == nullptr) return 0; return static_cast(static_cast(widget)->windowFlags()); } extern "C" VQT6_API void vqt6_qwidget_set_cursor(void* widget, void* cursor) { if (widget == nullptr || cursor == nullptr) return; static_cast(widget)->setCursor(*static_cast(cursor)); } extern "C" VQT6_API void* vqt6_qwidget_cursor(void* widget) { if (widget == nullptr) return nullptr; return new QCursor(static_cast(widget)->cursor()); } extern "C" VQT6_API void vqt6_qwidget_unset_cursor(void* widget) { if (widget == nullptr) return; static_cast(widget)->unsetCursor(); } extern "C" VQT6_API void vqt6_qwidget_set_tool_tip(void* widget, void* tip) { if (widget == nullptr || tip == nullptr) return; static_cast(widget)->setToolTip(*static_cast(tip)); } extern "C" VQT6_API void* vqt6_qwidget_tool_tip(void* widget) { if (widget == nullptr) return nullptr; return new QString(static_cast(widget)->toolTip()); } extern "C" VQT6_API void vqt6_qwidget_set_status_tip(void* widget, void* tip) { if (widget == nullptr || tip == nullptr) return; static_cast(widget)->setStatusTip(*static_cast(tip)); } extern "C" VQT6_API void* vqt6_qwidget_status_tip(void* widget) { if (widget == nullptr) return nullptr; return new QString(static_cast(widget)->statusTip()); } extern "C" VQT6_API void vqt6_qwidget_set_minimum_size(void* widget, int w, int h) { if (widget == nullptr) return; static_cast(widget)->setMinimumSize(w, h); } extern "C" VQT6_API void vqt6_qwidget_set_maximum_size(void* widget, int w, int h) { if (widget == nullptr) return; static_cast(widget)->setMaximumSize(w, h); } extern "C" VQT6_API void vqt6_qwidget_set_fixed_size(void* widget, int w, int h) { if (widget == nullptr) return; static_cast(widget)->setFixedSize(w, h); } extern "C" VQT6_API void vqt6_qwidget_minimum_size(void* widget, int* w, int* h) { if (widget == nullptr) return; QSize s = static_cast(widget)->minimumSize(); if (w != nullptr) *w = s.width(); if (h != nullptr) *h = s.height(); } extern "C" VQT6_API void vqt6_qwidget_maximum_size(void* widget, int* w, int* h) { if (widget == nullptr) return; QSize s = static_cast(widget)->maximumSize(); if (w != nullptr) *w = s.width(); if (h != nullptr) *h = s.height(); } // ============================================================ // QDialog // ============================================================ extern "C" VQT6_API void* vqt6_qdialog_create(void) { return new QDialog(); } extern "C" VQT6_API void* vqt6_qdialog_create_with_parent(void* parent) { if (parent == nullptr) return nullptr; return new QDialog(static_cast(parent)); } extern "C" VQT6_API int vqt6_qdialog_exec(void* dialog) { if (dialog == nullptr) return -1; return static_cast(dialog)->exec(); } extern "C" VQT6_API void vqt6_qdialog_done(void* dialog, int result) { if (dialog == nullptr) return; static_cast(dialog)->done(result); } extern "C" VQT6_API void vqt6_qdialog_accept(void* dialog) { if (dialog == nullptr) return; static_cast(dialog)->accept(); } extern "C" VQT6_API void vqt6_qdialog_reject(void* dialog) { if (dialog == nullptr) return; static_cast(dialog)->reject(); } extern "C" VQT6_API void vqt6_qdialog_set_result(void* dialog, int result) { if (dialog == nullptr) return; static_cast(dialog)->setResult(result); } extern "C" VQT6_API int vqt6_qdialog_result(void* dialog) { if (dialog == nullptr) return 0; return static_cast(dialog)->result(); } extern "C" VQT6_API void vqt6_qdialog_set_modal(void* dialog, int modal) { if (dialog == nullptr) return; static_cast(dialog)->setModal(modal != 0); } extern "C" VQT6_API int vqt6_qdialog_is_modal(void* dialog) { if (dialog == nullptr) return 0; return static_cast(dialog)->isModal() ? 1 : 0; } // ============================================================ // QMainWindow // ============================================================ extern "C" VQT6_API void* vqt6_qmainwindow_create(void) { return new QMainWindow(); } extern "C" VQT6_API void* vqt6_qmainwindow_create_with_parent(void* parent) { if (parent == nullptr) return nullptr; return new QMainWindow(static_cast(parent)); } extern "C" VQT6_API void vqt6_qmainwindow_set_central_widget(void* mw, void* widget) { if (mw == nullptr) return; static_cast(mw)->setCentralWidget(static_cast(widget)); } extern "C" VQT6_API void* vqt6_qmainwindow_central_widget(void* mw) { if (mw == nullptr) return nullptr; return static_cast(mw)->centralWidget(); } extern "C" VQT6_API void* vqt6_qmainwindow_menu_bar(void* mw) { if (mw == nullptr) return nullptr; return static_cast(mw)->menuBar(); } extern "C" VQT6_API void vqt6_qmainwindow_set_menu_bar(void* mw, void* menubar) { if (mw == nullptr) return; static_cast(mw)->setMenuBar(static_cast(menubar)); } extern "C" VQT6_API void* vqt6_qmainwindow_status_bar(void* mw) { if (mw == nullptr) return nullptr; return static_cast(mw)->statusBar(); } extern "C" VQT6_API void vqt6_qmainwindow_set_status_bar(void* mw, void* statusbar) { if (mw == nullptr) return; static_cast(mw)->setStatusBar(static_cast(statusbar)); } extern "C" VQT6_API void vqt6_qmainwindow_add_tool_bar(void* mw, void* toolbar) { if (mw == nullptr) return; static_cast(mw)->addToolBar(static_cast(toolbar)); } extern "C" VQT6_API void vqt6_qmainwindow_add_tool_bar_break(void* mw) { if (mw == nullptr) return; static_cast(mw)->addToolBarBreak(); } // ============================================================ // QLabel // ============================================================ extern "C" VQT6_API void* vqt6_qlabel_create(void) { return new QLabel(); } extern "C" VQT6_API void* vqt6_qlabel_create_with_text(void* text) { if (text == nullptr) return nullptr; return new QLabel(*static_cast(text)); } extern "C" VQT6_API void* vqt6_qlabel_create_with_text_parent(void* text, void* parent) { if (text == nullptr || parent == nullptr) return nullptr; return new QLabel(*static_cast(text), static_cast(parent)); } extern "C" VQT6_API void vqt6_qlabel_set_text(void* label, void* text) { if (label == nullptr || text == nullptr) return; static_cast(label)->setText(*static_cast(text)); } extern "C" VQT6_API void* vqt6_qlabel_text(void* label) { if (label == nullptr) return nullptr; return new QString(static_cast(label)->text()); } extern "C" VQT6_API void vqt6_qlabel_set_alignment(void* label, int alignment) { if (label == nullptr) return; static_cast(label)->setAlignment(static_cast(alignment)); } extern "C" VQT6_API int vqt6_qlabel_alignment(void* label) { if (label == nullptr) return 0; return static_cast(static_cast(label)->alignment()); } extern "C" VQT6_API void vqt6_qlabel_set_pixmap(void* label, void* pixmap) { if (label == nullptr || pixmap == nullptr) return; static_cast(label)->setPixmap(*static_cast(pixmap)); } extern "C" VQT6_API void* vqt6_qlabel_pixmap(void* label) { if (label == nullptr) return nullptr; return new QPixmap(static_cast(label)->pixmap()); } extern "C" VQT6_API void vqt6_qlabel_set_indent(void* label, int indent) { if (label == nullptr) return; static_cast(label)->setIndent(indent); } extern "C" VQT6_API void vqt6_qlabel_set_margin(void* label, int margin) { if (label == nullptr) return; static_cast(label)->setMargin(margin); } extern "C" VQT6_API void vqt6_qlabel_set_word_wrap(void* label, int wrap) { if (label == nullptr) return; static_cast(label)->setWordWrap(wrap != 0); } extern "C" VQT6_API int vqt6_qlabel_word_wrap(void* label) { if (label == nullptr) return 0; return static_cast(label)->wordWrap() ? 1 : 0; } // ============================================================ // QPushButton // ============================================================ extern "C" VQT6_API void* vqt6_qpushbutton_create(void) { return new QPushButton(); } extern "C" VQT6_API void* vqt6_qpushbutton_create_with_text(void* text) { if (text == nullptr) return nullptr; return new QPushButton(*static_cast(text)); } extern "C" VQT6_API void* vqt6_qpushbutton_create_with_text_parent(void* text, void* parent) { if (text == nullptr || parent == nullptr) return nullptr; return new QPushButton(*static_cast(text), static_cast(parent)); } extern "C" VQT6_API void vqt6_qpushbutton_set_text(void* btn, void* text) { if (btn == nullptr || text == nullptr) return; static_cast(btn)->setText(*static_cast(text)); } extern "C" VQT6_API void* vqt6_qpushbutton_text(void* btn) { if (btn == nullptr) return nullptr; return new QString(static_cast(btn)->text()); } extern "C" VQT6_API void vqt6_qpushbutton_set_icon(void* btn, void* icon) { if (btn == nullptr || icon == nullptr) return; static_cast(btn)->setIcon(*static_cast(icon)); } extern "C" VQT6_API void* vqt6_qpushbutton_icon(void* btn) { if (btn == nullptr) return nullptr; return new QIcon(static_cast(btn)->icon()); } extern "C" VQT6_API void vqt6_qpushbutton_set_default(void* btn, int is_default) { if (btn == nullptr) return; static_cast(btn)->setDefault(is_default != 0); } extern "C" VQT6_API int vqt6_qpushbutton_is_default(void* btn) { if (btn == nullptr) return 0; return static_cast(btn)->isDefault() ? 1 : 0; } extern "C" VQT6_API void vqt6_qpushbutton_set_flat(void* btn, int flat) { if (btn == nullptr) return; static_cast(btn)->setFlat(flat != 0); } extern "C" VQT6_API int vqt6_qpushbutton_is_flat(void* btn) { if (btn == nullptr) return 0; return static_cast(btn)->isFlat() ? 1 : 0; } extern "C" VQT6_API void vqt6_qpushbutton_set_checkable(void* btn, int checkable) { if (btn == nullptr) return; static_cast(btn)->setCheckable(checkable != 0); } extern "C" VQT6_API int vqt6_qpushbutton_is_checkable(void* btn) { if (btn == nullptr) return 0; return static_cast(btn)->isCheckable() ? 1 : 0; } extern "C" VQT6_API void vqt6_qpushbutton_set_checked(void* btn, int checked) { if (btn == nullptr) return; static_cast(btn)->setChecked(checked != 0); } extern "C" VQT6_API int vqt6_qpushbutton_is_checked(void* btn) { if (btn == nullptr) return 0; return static_cast(btn)->isChecked() ? 1 : 0; } extern "C" VQT6_API void vqt6_qpushbutton_click(void* btn) { if (btn == nullptr) return; static_cast(btn)->click(); } // ============================================================ // QLineEdit // ============================================================ extern "C" VQT6_API void* vqt6_qlineedit_create(void) { return new QLineEdit(); } extern "C" VQT6_API void* vqt6_qlineedit_create_with_text(void* text) { if (text == nullptr) return nullptr; return new QLineEdit(*static_cast(text)); } extern "C" VQT6_API void* vqt6_qlineedit_create_with_text_parent(void* text, void* parent) { if (text == nullptr || parent == nullptr) return nullptr; return new QLineEdit(*static_cast(text), static_cast(parent)); } extern "C" VQT6_API void* vqt6_qlineedit_text(void* le) { if (le == nullptr) return nullptr; return new QString(static_cast(le)->text()); } extern "C" VQT6_API void vqt6_qlineedit_set_text(void* le, void* text) { if (le == nullptr || text == nullptr) return; static_cast(le)->setText(*static_cast(text)); } extern "C" VQT6_API void* vqt6_qlineedit_placeholder_text(void* le) { if (le == nullptr) return nullptr; return new QString(static_cast(le)->placeholderText()); } extern "C" VQT6_API void vqt6_qlineedit_set_placeholder_text(void* le, void* text) { if (le == nullptr || text == nullptr) return; static_cast(le)->setPlaceholderText(*static_cast(text)); } extern "C" VQT6_API void vqt6_qlineedit_set_max_length(void* le, int max) { if (le == nullptr) return; static_cast(le)->setMaxLength(max); } extern "C" VQT6_API int vqt6_qlineedit_max_length(void* le) { if (le == nullptr) return 0; return static_cast(le)->maxLength(); } extern "C" VQT6_API void vqt6_qlineedit_set_read_only(void* le, int ro) { if (le == nullptr) return; static_cast(le)->setReadOnly(ro != 0); } extern "C" VQT6_API int vqt6_qlineedit_is_read_only(void* le) { if (le == nullptr) return 0; return static_cast(le)->isReadOnly() ? 1 : 0; } extern "C" VQT6_API void vqt6_qlineedit_set_echo_mode(void* le, int mode) { if (le == nullptr) return; static_cast(le)->setEchoMode(static_cast(mode)); } extern "C" VQT6_API int vqt6_qlineedit_echo_mode(void* le) { if (le == nullptr) return 0; return static_cast(static_cast(le)->echoMode()); } extern "C" VQT6_API void vqt6_qlineedit_select_all(void* le) { if (le == nullptr) return; static_cast(le)->selectAll(); } extern "C" VQT6_API void vqt6_qlineedit_clear(void* le) { if (le == nullptr) return; static_cast(le)->clear(); } // ============================================================ // QTextEdit / QPlainTextEdit // ============================================================ extern "C" VQT6_API void* vqt6_qtextedit_create(void) { return new QTextEdit(); } extern "C" VQT6_API void* vqt6_qtextedit_create_with_parent(void* parent) { if (parent == nullptr) return nullptr; return new QTextEdit(static_cast(parent)); } extern "C" VQT6_API void* vqt6_qtextedit_to_plain_text(void* te) { if (te == nullptr) return nullptr; return new QString(static_cast(te)->toPlainText()); } extern "C" VQT6_API void vqt6_qtextedit_set_plain_text(void* te, void* text) { if (te == nullptr || text == nullptr) return; static_cast(te)->setPlainText(*static_cast(text)); } extern "C" VQT6_API void vqt6_qtextedit_set_html(void* te, void* html) { if (te == nullptr || html == nullptr) return; static_cast(te)->setHtml(*static_cast(html)); } extern "C" VQT6_API void* vqt6_qtextedit_to_html(void* te) { if (te == nullptr) return nullptr; return new QString(static_cast(te)->toHtml()); } extern "C" VQT6_API void vqt6_qtextedit_append(void* te, void* text) { if (te == nullptr || text == nullptr) return; static_cast(te)->append(*static_cast(text)); } extern "C" VQT6_API void vqt6_qtextedit_clear(void* te) { if (te == nullptr) return; static_cast(te)->clear(); } extern "C" VQT6_API void vqt6_qtextedit_set_read_only(void* te, int ro) { if (te == nullptr) return; static_cast(te)->setReadOnly(ro != 0); } extern "C" VQT6_API int vqt6_qtextedit_is_read_only(void* te) { if (te == nullptr) return 0; return static_cast(te)->isReadOnly() ? 1 : 0; } extern "C" VQT6_API void* vqt6_qplaintextedit_create(void) { return new QPlainTextEdit(); } extern "C" VQT6_API void* vqt6_qplaintextedit_create_with_parent(void* parent) { if (parent == nullptr) return nullptr; return new QPlainTextEdit(static_cast(parent)); } extern "C" VQT6_API void* vqt6_qplaintextedit_to_plain_text(void* pte) { if (pte == nullptr) return nullptr; return new QString(static_cast(pte)->toPlainText()); } extern "C" VQT6_API void vqt6_qplaintextedit_set_plain_text(void* pte, void* text) { if (pte == nullptr || text == nullptr) return; static_cast(pte)->setPlainText(*static_cast(text)); } extern "C" VQT6_API void vqt6_qplaintextedit_append(void* pte, void* text) { if (pte == nullptr || text == nullptr) return; static_cast(pte)->appendPlainText(*static_cast(text)); } extern "C" VQT6_API void vqt6_qplaintextedit_clear(void* pte) { if (pte == nullptr) return; static_cast(pte)->clear(); } extern "C" VQT6_API void vqt6_qplaintextedit_set_read_only(void* pte, int ro) { if (pte == nullptr) return; static_cast(pte)->setReadOnly(ro != 0); } extern "C" VQT6_API int vqt6_qplaintextedit_line_count(void* pte) { if (pte == nullptr) return 0; return static_cast(pte)->blockCount(); } // ============================================================ // QCheckBox / QRadioButton // ============================================================ extern "C" VQT6_API void* vqt6_qcheckbox_create(void) { return new QCheckBox(); } extern "C" VQT6_API void* vqt6_qcheckbox_create_with_text(void* text) { if (text == nullptr) return nullptr; return new QCheckBox(*static_cast(text)); } extern "C" VQT6_API void* vqt6_qcheckbox_create_with_text_parent(void* text, void* parent) { if (text == nullptr || parent == nullptr) return nullptr; return new QCheckBox(*static_cast(text), static_cast(parent)); } extern "C" VQT6_API void vqt6_qcheckbox_set_checked(void* cb, int checked) { if (cb == nullptr) return; static_cast(cb)->setChecked(checked != 0); } extern "C" VQT6_API int vqt6_qcheckbox_is_checked(void* cb) { if (cb == nullptr) return 0; return static_cast(cb)->isChecked() ? 1 : 0; } extern "C" VQT6_API void vqt6_qcheckbox_set_text(void* cb, void* text) { if (cb == nullptr || text == nullptr) return; static_cast(cb)->setText(*static_cast(text)); } extern "C" VQT6_API void* vqt6_qcheckbox_text(void* cb) { if (cb == nullptr) return nullptr; return new QString(static_cast(cb)->text()); } extern "C" VQT6_API void vqt6_qcheckbox_set_tristate(void* cb, int tristate) { if (cb == nullptr) return; static_cast(cb)->setTristate(tristate != 0); } extern "C" VQT6_API int vqt6_qcheckbox_is_tristate(void* cb) { if (cb == nullptr) return 0; return static_cast(cb)->isTristate() ? 1 : 0; } extern "C" VQT6_API void* vqt6_qradiobutton_create(void) { return new QRadioButton(); } extern "C" VQT6_API void* vqt6_qradiobutton_create_with_text(void* text) { if (text == nullptr) return nullptr; return new QRadioButton(*static_cast(text)); } extern "C" VQT6_API void* vqt6_qradiobutton_create_with_text_parent(void* text, void* parent) { if (text == nullptr || parent == nullptr) return nullptr; return new QRadioButton(*static_cast(text), static_cast(parent)); } extern "C" VQT6_API void vqt6_qradiobutton_set_checked(void* rb, int checked) { if (rb == nullptr) return; static_cast(rb)->setChecked(checked != 0); } extern "C" VQT6_API int vqt6_qradiobutton_is_checked(void* rb) { if (rb == nullptr) return 0; return static_cast(rb)->isChecked() ? 1 : 0; } extern "C" VQT6_API void vqt6_qradiobutton_set_text(void* rb, void* text) { if (rb == nullptr || text == nullptr) return; static_cast(rb)->setText(*static_cast(text)); } extern "C" VQT6_API void* vqt6_qradiobutton_text(void* rb) { if (rb == nullptr) return nullptr; return new QString(static_cast(rb)->text()); } // ============================================================ // QComboBox // ============================================================ extern "C" VQT6_API void* vqt6_qcombobox_create(void) { return new QComboBox(); } extern "C" VQT6_API void* vqt6_qcombobox_create_with_parent(void* parent) { if (parent == nullptr) return nullptr; return new QComboBox(static_cast(parent)); } extern "C" VQT6_API void vqt6_qcombobox_add_item(void* cb, void* text) { if (cb == nullptr || text == nullptr) return; static_cast(cb)->addItem(*static_cast(text)); } extern "C" VQT6_API void vqt6_qcombobox_add_items(void* cb, void* items) { if (cb == nullptr || items == nullptr) return; static_cast(cb)->addItems(*static_cast(items)); } extern "C" VQT6_API void vqt6_qcombobox_insert_item(void* cb, int index, void* text) { if (cb == nullptr || text == nullptr) return; static_cast(cb)->insertItem(index, *static_cast(text)); } extern "C" VQT6_API void vqt6_qcombobox_remove_item(void* cb, int index) { if (cb == nullptr) return; static_cast(cb)->removeItem(index); } extern "C" VQT6_API void vqt6_qcombobox_clear(void* cb) { if (cb == nullptr) return; static_cast(cb)->clear(); } extern "C" VQT6_API int vqt6_qcombobox_count(void* cb) { if (cb == nullptr) return 0; return static_cast(cb)->count(); } extern "C" VQT6_API int vqt6_qcombobox_current_index(void* cb) { if (cb == nullptr) return -1; return static_cast(cb)->currentIndex(); } extern "C" VQT6_API void vqt6_qcombobox_set_current_index(void* cb, int index) { if (cb == nullptr) return; static_cast(cb)->setCurrentIndex(index); } extern "C" VQT6_API void* vqt6_qcombobox_current_text(void* cb) { if (cb == nullptr) return nullptr; return new QString(static_cast(cb)->currentText()); } extern "C" VQT6_API void* vqt6_qcombobox_item_text(void* cb, int index) { if (cb == nullptr) return nullptr; return new QString(static_cast(cb)->itemText(index)); } extern "C" VQT6_API void vqt6_qcombobox_set_editable(void* cb, int editable) { if (cb == nullptr) return; static_cast(cb)->setEditable(editable != 0); } extern "C" VQT6_API int vqt6_qcombobox_is_editable(void* cb) { if (cb == nullptr) return 0; return static_cast(cb)->isEditable() ? 1 : 0; } // ============================================================ // QListWidget // ============================================================ extern "C" VQT6_API void* vqt6_qlistwidget_create(void) { return new QListWidget(); } extern "C" VQT6_API void* vqt6_qlistwidget_create_with_parent(void* parent) { if (parent == nullptr) return nullptr; return new QListWidget(static_cast(parent)); } extern "C" VQT6_API void vqt6_qlistwidget_add_item(void* lw, void* text) { if (lw == nullptr || text == nullptr) return; static_cast(lw)->addItem(*static_cast(text)); } extern "C" VQT6_API void vqt6_qlistwidget_add_items(void* lw, void* items) { if (lw == nullptr || items == nullptr) return; static_cast(lw)->addItems(*static_cast(items)); } extern "C" VQT6_API void vqt6_qlistwidget_insert_item(void* lw, int row, void* text) { if (lw == nullptr || text == nullptr) return; static_cast(lw)->insertItem(row, *static_cast(text)); } extern "C" VQT6_API void vqt6_qlistwidget_remove_item_widget(void* lw, int row) { if (lw == nullptr) return; static_cast(lw)->takeItem(row); } extern "C" VQT6_API void* vqt6_qlistwidget_take_item(void* lw, int row) { if (lw == nullptr) return nullptr; return static_cast(lw)->takeItem(row); } extern "C" VQT6_API void vqt6_qlistwidget_clear(void* lw) { if (lw == nullptr) return; static_cast(lw)->clear(); } extern "C" VQT6_API int vqt6_qlistwidget_count(void* lw) { if (lw == nullptr) return 0; return static_cast(lw)->count(); } extern "C" VQT6_API int vqt6_qlistwidget_current_row(void* lw) { if (lw == nullptr) return -1; return static_cast(lw)->currentRow(); } extern "C" VQT6_API void vqt6_qlistwidget_set_current_row(void* lw, int row) { if (lw == nullptr) return; static_cast(lw)->setCurrentRow(row); } extern "C" VQT6_API void* vqt6_qlistwidget_current_item_text(void* lw) { if (lw == nullptr) return nullptr; QListWidgetItem* it = static_cast(lw)->currentItem(); if (it == nullptr) return nullptr; return new QString(it->text()); } extern "C" VQT6_API void* vqt6_qlistwidget_item_text(void* lw, int row) { if (lw == nullptr) return nullptr; QListWidgetItem* it = static_cast(lw)->item(row); if (it == nullptr) return nullptr; return new QString(it->text()); } extern "C" VQT6_API void vqt6_qlistwidget_set_item_text(void* lw, int row, void* text) { if (lw == nullptr || text == nullptr) return; QListWidgetItem* it = static_cast(lw)->item(row); if (it != nullptr) it->setText(*static_cast(text)); } // ============================================================ // QProgressBar // ============================================================ extern "C" VQT6_API void* vqt6_qprogressbar_create(void) { return new QProgressBar(); } extern "C" VQT6_API void* vqt6_qprogressbar_create_with_parent(void* parent) { if (parent == nullptr) return nullptr; return new QProgressBar(static_cast(parent)); } extern "C" VQT6_API void vqt6_qprogressbar_set_value(void* pb, int value) { if (pb == nullptr) return; static_cast(pb)->setValue(value); } extern "C" VQT6_API int vqt6_qprogressbar_value(void* pb) { if (pb == nullptr) return 0; return static_cast(pb)->value(); } extern "C" VQT6_API void vqt6_qprogressbar_set_minimum(void* pb, int min) { if (pb == nullptr) return; static_cast(pb)->setMinimum(min); } extern "C" VQT6_API void vqt6_qprogressbar_set_maximum(void* pb, int max) { if (pb == nullptr) return; static_cast(pb)->setMaximum(max); } extern "C" VQT6_API void vqt6_qprogressbar_set_range(void* pb, int min, int max) { if (pb == nullptr) return; static_cast(pb)->setRange(min, max); } extern "C" VQT6_API int vqt6_qprogressbar_minimum(void* pb) { if (pb == nullptr) return 0; return static_cast(pb)->minimum(); } extern "C" VQT6_API int vqt6_qprogressbar_maximum(void* pb) { if (pb == nullptr) return 0; return static_cast(pb)->maximum(); } extern "C" VQT6_API void vqt6_qprogressbar_set_text_visible(void* pb, int visible) { if (pb == nullptr) return; static_cast(pb)->setTextVisible(visible != 0); } extern "C" VQT6_API void vqt6_qprogressbar_set_format(void* pb, void* format) { if (pb == nullptr || format == nullptr) return; static_cast(pb)->setFormat(*static_cast(format)); } extern "C" VQT6_API void vqt6_qprogressbar_reset(void* pb) { if (pb == nullptr) return; static_cast(pb)->reset(); } // ============================================================ // QSlider // ============================================================ extern "C" VQT6_API void* vqt6_qslider_create(void) { return new QSlider(); } extern "C" VQT6_API void* vqt6_qslider_create_with_orientation(int orientation) { return new QSlider(static_cast(orientation)); } extern "C" VQT6_API void* vqt6_qslider_create_with_orientation_parent(int orientation, void* parent) { if (parent == nullptr) return nullptr; return new QSlider(static_cast(orientation), static_cast(parent)); } extern "C" VQT6_API void vqt6_qslider_set_value(void* s, int value) { if (s == nullptr) return; static_cast(s)->setValue(value); } extern "C" VQT6_API int vqt6_qslider_value(void* s) { if (s == nullptr) return 0; return static_cast(s)->value(); } extern "C" VQT6_API void vqt6_qslider_set_minimum(void* s, int min) { if (s == nullptr) return; static_cast(s)->setMinimum(min); } extern "C" VQT6_API void vqt6_qslider_set_maximum(void* s, int max) { if (s == nullptr) return; static_cast(s)->setMaximum(max); } extern "C" VQT6_API void vqt6_qslider_set_range(void* s, int min, int max) { if (s == nullptr) return; static_cast(s)->setRange(min, max); } extern "C" VQT6_API void vqt6_qslider_set_orientation(void* s, int orientation) { if (s == nullptr) return; static_cast(s)->setOrientation(static_cast(orientation)); } extern "C" VQT6_API int vqt6_qslider_orientation(void* s) { if (s == nullptr) return 0; return static_cast(static_cast(s)->orientation()); } extern "C" VQT6_API void vqt6_qslider_set_single_step(void* s, int step) { if (s == nullptr) return; static_cast(s)->setSingleStep(step); } extern "C" VQT6_API void vqt6_qslider_set_page_step(void* s, int step) { if (s == nullptr) return; static_cast(s)->setPageStep(step); } // ============================================================ // QSpinBox // ============================================================ extern "C" VQT6_API void* vqt6_qspinbox_create(void) { return new QSpinBox(); } extern "C" VQT6_API void* vqt6_qspinbox_create_with_parent(void* parent) { if (parent == nullptr) return nullptr; return new QSpinBox(static_cast(parent)); } extern "C" VQT6_API int vqt6_qspinbox_value(void* sb) { if (sb == nullptr) return 0; return static_cast(sb)->value(); } extern "C" VQT6_API void vqt6_qspinbox_set_value(void* sb, int value) { if (sb == nullptr) return; static_cast(sb)->setValue(value); } extern "C" VQT6_API void vqt6_qspinbox_set_minimum(void* sb, int min) { if (sb == nullptr) return; static_cast(sb)->setMinimum(min); } extern "C" VQT6_API void vqt6_qspinbox_set_maximum(void* sb, int max) { if (sb == nullptr) return; static_cast(sb)->setMaximum(max); } extern "C" VQT6_API void vqt6_qspinbox_set_range(void* sb, int min, int max) { if (sb == nullptr) return; static_cast(sb)->setRange(min, max); } extern "C" VQT6_API int vqt6_qspinbox_minimum(void* sb) { if (sb == nullptr) return 0; return static_cast(sb)->minimum(); } extern "C" VQT6_API int vqt6_qspinbox_maximum(void* sb) { if (sb == nullptr) return 0; return static_cast(sb)->maximum(); } extern "C" VQT6_API void vqt6_qspinbox_set_single_step(void* sb, int step) { if (sb == nullptr) return; static_cast(sb)->setSingleStep(step); } extern "C" VQT6_API void vqt6_qspinbox_set_prefix(void* sb, void* prefix) { if (sb == nullptr || prefix == nullptr) return; static_cast(sb)->setPrefix(*static_cast(prefix)); } extern "C" VQT6_API void vqt6_qspinbox_set_suffix(void* sb, void* suffix) { if (sb == nullptr || suffix == nullptr) return; static_cast(sb)->setSuffix(*static_cast(suffix)); } extern "C" VQT6_API void* vqt6_qspinbox_prefix(void* sb) { if (sb == nullptr) return nullptr; return new QString(static_cast(sb)->prefix()); } extern "C" VQT6_API void* vqt6_qspinbox_suffix(void* sb) { if (sb == nullptr) return nullptr; return new QString(static_cast(sb)->suffix()); } // ============================================================ // Layouts // ============================================================ extern "C" VQT6_API void vqt6_qlayout_add_widget(void* layout, void* widget) { if (layout == nullptr || widget == nullptr) return; static_cast(layout)->addWidget(static_cast(widget)); } extern "C" VQT6_API void vqt6_qlayout_remove_widget(void* layout, void* widget) { if (layout == nullptr || widget == nullptr) return; static_cast(layout)->removeWidget(static_cast(widget)); } extern "C" VQT6_API int vqt6_qlayout_count(void* layout) { if (layout == nullptr) return 0; return static_cast(layout)->count(); } extern "C" VQT6_API void* vqt6_qlayout_item_at(void* layout, int index) { if (layout == nullptr) return nullptr; QLayoutItem* item = static_cast(layout)->itemAt(index); return item != nullptr ? item->widget() : nullptr; } extern "C" VQT6_API void vqt6_qlayout_set_contents_margins(void* layout, int left, int top, int right, int bottom) { if (layout == nullptr) return; static_cast(layout)->setContentsMargins(left, top, right, bottom); } extern "C" VQT6_API void vqt6_qlayout_set_spacing(void* layout, int spacing) { if (layout == nullptr) return; static_cast(layout)->setSpacing(spacing); } extern "C" VQT6_API int vqt6_qlayout_spacing(void* layout) { if (layout == nullptr) return 0; return static_cast(layout)->spacing(); } extern "C" VQT6_API void vqt6_qlayout_invalidate(void* layout) { if (layout == nullptr) return; static_cast(layout)->invalidate(); } extern "C" VQT6_API void* vqt6_qhboxlayout_create(void) { return new QHBoxLayout(); } extern "C" VQT6_API void* vqt6_qhboxlayout_create_with_parent(void* parent) { if (parent == nullptr) return nullptr; return new QHBoxLayout(static_cast(parent)); } extern "C" VQT6_API void vqt6_qhboxlayout_add_layout(void* layout, void* child) { if (layout == nullptr || child == nullptr) return; static_cast(layout)->addLayout(static_cast(child)); } extern "C" VQT6_API void vqt6_qhboxlayout_add_stretch(void* layout, int stretch) { if (layout == nullptr) return; static_cast(layout)->addStretch(stretch); } extern "C" VQT6_API void vqt6_qhboxlayout_add_spacing(void* layout, int size) { if (layout == nullptr) return; static_cast(layout)->addSpacing(size); } extern "C" VQT6_API void* vqt6_qvboxlayout_create(void) { return new QVBoxLayout(); } extern "C" VQT6_API void* vqt6_qvboxlayout_create_with_parent(void* parent) { if (parent == nullptr) return nullptr; return new QVBoxLayout(static_cast(parent)); } extern "C" VQT6_API void vqt6_qvboxlayout_add_layout(void* layout, void* child) { if (layout == nullptr || child == nullptr) return; static_cast(layout)->addLayout(static_cast(child)); } extern "C" VQT6_API void vqt6_qvboxlayout_add_stretch(void* layout, int stretch) { if (layout == nullptr) return; static_cast(layout)->addStretch(stretch); } extern "C" VQT6_API void vqt6_qvboxlayout_add_spacing(void* layout, int size) { if (layout == nullptr) return; static_cast(layout)->addSpacing(size); } extern "C" VQT6_API void* vqt6_qgridlayout_create(void) { return new QGridLayout(); } extern "C" VQT6_API void* vqt6_qgridlayout_create_with_parent(void* parent) { if (parent == nullptr) return nullptr; return new QGridLayout(static_cast(parent)); } extern "C" VQT6_API void vqt6_qgridlayout_add_widget(void* gl, void* w, int row, int col) { if (gl == nullptr || w == nullptr) return; static_cast(gl)->addWidget(static_cast(w), row, col); } extern "C" VQT6_API void vqt6_qgridlayout_add_widget_with_span(void* gl, void* w, int row, int col, int row_span, int col_span) { if (gl == nullptr || w == nullptr) return; static_cast(gl)->addWidget(static_cast(w), row, col, row_span, col_span); } extern "C" VQT6_API void* vqt6_qformlayout_create(void) { return new QFormLayout(); } extern "C" VQT6_API void* vqt6_qformlayout_create_with_parent(void* parent) { if (parent == nullptr) return nullptr; return new QFormLayout(static_cast(parent)); } extern "C" VQT6_API void vqt6_qformlayout_add_row(void* fl, void* label, void* field) { if (fl == nullptr || label == nullptr || field == nullptr) return; static_cast(fl)->addRow(*static_cast(label), static_cast(field)); } extern "C" VQT6_API void vqt6_qformlayout_add_row_widget_pair(void* fl, void* label, void* field) { if (fl == nullptr || label == nullptr || field == nullptr) return; static_cast(fl)->addRow(static_cast(label), static_cast(field)); } // ============================================================ // QStackedWidget / QTabWidget // ============================================================ extern "C" VQT6_API void* vqt6_qstackedwidget_create(void) { return new QStackedWidget(); } extern "C" VQT6_API void* vqt6_qstackedwidget_create_with_parent(void* parent) { if (parent == nullptr) return nullptr; return new QStackedWidget(static_cast(parent)); } extern "C" VQT6_API int vqt6_qstackedwidget_add_widget(void* sw, void* w) { if (sw == nullptr || w == nullptr) return -1; return static_cast(sw)->addWidget(static_cast(w)); } extern "C" VQT6_API void vqt6_qstackedwidget_remove_widget(void* sw, void* w) { if (sw == nullptr || w == nullptr) return; static_cast(sw)->removeWidget(static_cast(w)); } extern "C" VQT6_API int vqt6_qstackedwidget_count(void* sw) { if (sw == nullptr) return 0; return static_cast(sw)->count(); } extern "C" VQT6_API int vqt6_qstackedwidget_current_index(void* sw) { if (sw == nullptr) return -1; return static_cast(sw)->currentIndex(); } extern "C" VQT6_API void vqt6_qstackedwidget_set_current_index(void* sw, int index) { if (sw == nullptr) return; static_cast(sw)->setCurrentIndex(index); } extern "C" VQT6_API void* vqt6_qstackedwidget_current_widget(void* sw) { if (sw == nullptr) return nullptr; return static_cast(sw)->currentWidget(); } extern "C" VQT6_API void* vqt6_qstackedwidget_widget(void* sw, int index) { if (sw == nullptr) return nullptr; return static_cast(sw)->widget(index); } extern "C" VQT6_API void* vqt6_qtabwidget_create(void) { return new QTabWidget(); } extern "C" VQT6_API void* vqt6_qtabwidget_create_with_parent(void* parent) { if (parent == nullptr) return nullptr; return new QTabWidget(static_cast(parent)); } extern "C" VQT6_API int vqt6_qtabwidget_add_tab(void* tw, void* w, void* label) { if (tw == nullptr || w == nullptr || label == nullptr) return -1; return static_cast(tw)->addTab(static_cast(w), *static_cast(label)); } extern "C" VQT6_API int vqt6_qtabwidget_insert_tab(void* tw, int index, void* w, void* label) { if (tw == nullptr || w == nullptr || label == nullptr) return -1; return static_cast(tw)->insertTab(index, static_cast(w), *static_cast(label)); } extern "C" VQT6_API void vqt6_qtabwidget_remove_tab(void* tw, int index) { if (tw == nullptr) return; static_cast(tw)->removeTab(index); } extern "C" VQT6_API int vqt6_qtabwidget_count(void* tw) { if (tw == nullptr) return 0; return static_cast(tw)->count(); } extern "C" VQT6_API int vqt6_qtabwidget_current_index(void* tw) { if (tw == nullptr) return -1; return static_cast(tw)->currentIndex(); } extern "C" VQT6_API void vqt6_qtabwidget_set_current_index(void* tw, int index) { if (tw == nullptr) return; static_cast(tw)->setCurrentIndex(index); } extern "C" VQT6_API void* vqt6_qtabwidget_tab_text(void* tw, int index) { if (tw == nullptr) return nullptr; return new QString(static_cast(tw)->tabText(index)); } extern "C" VQT6_API void vqt6_qtabwidget_set_tab_text(void* tw, int index, void* text) { if (tw == nullptr || text == nullptr) return; static_cast(tw)->setTabText(index, *static_cast(text)); } extern "C" VQT6_API void vqt6_qtabwidget_set_tabs_closable(void* tw, int closable) { if (tw == nullptr) return; static_cast(tw)->setTabsClosable(closable != 0); } extern "C" VQT6_API int vqt6_qtabwidget_tabs_closable(void* tw) { if (tw == nullptr) return 0; return static_cast(tw)->tabsClosable() ? 1 : 0; } // ============================================================ // QMenuBar / QMenu / QAction // ============================================================ extern "C" VQT6_API void* vqt6_qmenubar_create(void) { return new QMenuBar(); } extern "C" VQT6_API void* vqt6_qmenubar_create_with_parent(void* parent) { if (parent == nullptr) return nullptr; return new QMenuBar(static_cast(parent)); } extern "C" VQT6_API void* vqt6_qmenubar_add_menu(void* mb, void* title) { if (mb == nullptr || title == nullptr) return nullptr; return static_cast(mb)->addMenu(*static_cast(title)); } extern "C" VQT6_API void vqt6_qmenubar_add_menu_with_menu(void* mb, void* menu) { if (mb == nullptr || menu == nullptr) return; static_cast(mb)->addMenu(static_cast(menu)); } extern "C" VQT6_API void vqt6_qmenubar_add_action(void* mb, void* action) { if (mb == nullptr || action == nullptr) return; static_cast(mb)->addAction(static_cast(action)); } extern "C" VQT6_API void vqt6_qmenubar_clear(void* mb) { if (mb == nullptr) return; static_cast(mb)->clear(); } extern "C" VQT6_API void* vqt6_qmenu_create(void) { return new QMenu(); } extern "C" VQT6_API void* vqt6_qmenu_create_with_title(void* title) { if (title == nullptr) return nullptr; return new QMenu(*static_cast(title)); } extern "C" VQT6_API void* vqt6_qmenu_create_with_title_parent(void* title, void* parent) { if (title == nullptr || parent == nullptr) return nullptr; return new QMenu(*static_cast(title), static_cast(parent)); } extern "C" VQT6_API void* vqt6_qmenu_add_menu(void* menu, void* title) { if (menu == nullptr || title == nullptr) return nullptr; return static_cast(menu)->addMenu(*static_cast(title)); } extern "C" VQT6_API void vqt6_qmenu_add_action(void* menu, void* action) { if (menu == nullptr || action == nullptr) return; static_cast(menu)->addAction(static_cast(action)); } extern "C" VQT6_API void vqt6_qmenu_add_separator(void* menu) { if (menu == nullptr) return; static_cast(menu)->addSeparator(); } extern "C" VQT6_API void vqt6_qmenu_clear(void* menu) { if (menu == nullptr) return; static_cast(menu)->clear(); } extern "C" VQT6_API void vqt6_qmenu_set_title(void* menu, void* title) { if (menu == nullptr || title == nullptr) return; static_cast(menu)->setTitle(*static_cast(title)); } extern "C" VQT6_API void* vqt6_qmenu_title(void* menu) { if (menu == nullptr) return nullptr; return new QString(static_cast(menu)->title()); } extern "C" VQT6_API void* vqt6_qmenu_add_action_with_text(void* menu, void* text) { if (menu == nullptr || text == nullptr) return nullptr; return static_cast(menu)->addAction(*static_cast(text)); } extern "C" VQT6_API void* vqt6_qaction_create(void) { return new QAction(); } extern "C" VQT6_API void* vqt6_qaction_create_with_text(void* text) { if (text == nullptr) return nullptr; return new QAction(*static_cast(text)); } extern "C" VQT6_API void* vqt6_qaction_create_with_text_parent(void* text, void* parent) { if (text == nullptr || parent == nullptr) return nullptr; return new QAction(*static_cast(text), static_cast(parent)); } extern "C" VQT6_API void vqt6_qaction_set_text(void* action, void* text) { if (action == nullptr || text == nullptr) return; static_cast(action)->setText(*static_cast(text)); } extern "C" VQT6_API void* vqt6_qaction_text(void* action) { if (action == nullptr) return nullptr; return new QString(static_cast(action)->text()); } extern "C" VQT6_API void vqt6_qaction_set_icon(void* action, void* icon) { if (action == nullptr || icon == nullptr) return; static_cast(action)->setIcon(*static_cast(icon)); } extern "C" VQT6_API void* vqt6_qaction_icon(void* action) { if (action == nullptr) return nullptr; return new QIcon(static_cast(action)->icon()); } extern "C" VQT6_API void vqt6_qaction_set_shortcut(void* action, void* key_sequence) { if (action == nullptr || key_sequence == nullptr) return; static_cast(action)->setShortcut(QKeySequence(*static_cast(key_sequence))); } extern "C" VQT6_API void* vqt6_qaction_shortcut(void* action) { if (action == nullptr) return nullptr; return new QString(static_cast(action)->shortcut().toString()); } extern "C" VQT6_API void vqt6_qaction_set_checkable(void* action, int checkable) { if (action == nullptr) return; static_cast(action)->setCheckable(checkable != 0); } extern "C" VQT6_API int vqt6_qaction_is_checkable(void* action) { if (action == nullptr) return 0; return static_cast(action)->isCheckable() ? 1 : 0; } extern "C" VQT6_API void vqt6_qaction_set_checked(void* action, int checked) { if (action == nullptr) return; static_cast(action)->setChecked(checked != 0); } extern "C" VQT6_API int vqt6_qaction_is_checked(void* action) { if (action == nullptr) return 0; return static_cast(action)->isChecked() ? 1 : 0; } extern "C" VQT6_API void vqt6_qaction_set_enabled(void* action, int enabled) { if (action == nullptr) return; static_cast(action)->setEnabled(enabled != 0); } extern "C" VQT6_API int vqt6_qaction_is_enabled(void* action) { if (action == nullptr) return 0; return static_cast(action)->isEnabled() ? 1 : 0; } extern "C" VQT6_API void vqt6_qaction_trigger(void* action) { if (action == nullptr) return; static_cast(action)->trigger(); } // ============================================================ // QStatusBar / QToolBar // ============================================================ extern "C" VQT6_API void* vqt6_qstatusbar_create(void) { return new QStatusBar(); } extern "C" VQT6_API void* vqt6_qstatusbar_create_with_parent(void* parent) { if (parent == nullptr) return nullptr; return new QStatusBar(static_cast(parent)); } extern "C" VQT6_API void vqt6_qstatusbar_show_message(void* sb, void* message, int timeout_ms) { if (sb == nullptr || message == nullptr) return; static_cast(sb)->showMessage(*static_cast(message), timeout_ms); } extern "C" VQT6_API void vqt6_qstatusbar_clear_message(void* sb) { if (sb == nullptr) return; static_cast(sb)->clearMessage(); } extern "C" VQT6_API void* vqt6_qstatusbar_current_message(void* sb) { if (sb == nullptr) return nullptr; return new QString(static_cast(sb)->currentMessage()); } extern "C" VQT6_API void vqt6_qstatusbar_add_widget(void* sb, void* w, int stretch) { if (sb == nullptr || w == nullptr) return; static_cast(sb)->addWidget(static_cast(w), stretch); } extern "C" VQT6_API void vqt6_qstatusbar_add_permanent_widget(void* sb, void* w, int stretch) { if (sb == nullptr || w == nullptr) return; static_cast(sb)->addPermanentWidget(static_cast(w), stretch); } extern "C" VQT6_API void* vqt6_qtoolbar_create(void) { return new QToolBar(); } extern "C" VQT6_API void* vqt6_qtoolbar_create_with_parent(void* parent) { if (parent == nullptr) return nullptr; return new QToolBar(static_cast(parent)); } extern "C" VQT6_API void* vqt6_qtoolbar_add_widget(void* tb, void* w) { if (tb == nullptr || w == nullptr) return nullptr; return static_cast(tb)->addWidget(static_cast(w)); } extern "C" VQT6_API void vqt6_qtoolbar_add_action(void* tb, void* action) { if (tb == nullptr || action == nullptr) return; static_cast(tb)->addAction(static_cast(action)); } extern "C" VQT6_API void vqt6_qtoolbar_add_separator(void* tb) { if (tb == nullptr) return; static_cast(tb)->addSeparator(); } extern "C" VQT6_API void vqt6_qtoolbar_set_icon_size(void* tb, int w, int h) { if (tb == nullptr) return; static_cast(tb)->setIconSize(QSize(w, h)); } extern "C" VQT6_API void vqt6_qtoolbar_set_orientation(void* tb, int orientation) { if (tb == nullptr) return; static_cast(tb)->setOrientation(static_cast(orientation)); } extern "C" VQT6_API int vqt6_qtoolbar_orientation(void* tb) { if (tb == nullptr) return 0; return static_cast(static_cast(tb)->orientation()); } // ============================================================ // QMessageBox // ============================================================ extern "C" VQT6_API int vqt6_qmessagebox_information(void* parent, void* title, void* text, int buttons) { if (title == nullptr || text == nullptr) return 0; QMessageBox mb(static_cast(0x0400), *static_cast(title), *static_cast(text), static_cast(buttons), static_cast(parent)); return mb.exec(); } extern "C" VQT6_API int vqt6_qmessagebox_warning(void* parent, void* title, void* text, int buttons) { if (title == nullptr || text == nullptr) return 0; QMessageBox mb(static_cast(0x0200), *static_cast(title), *static_cast(text), static_cast(buttons), static_cast(parent)); return mb.exec(); } extern "C" VQT6_API int vqt6_qmessagebox_critical(void* parent, void* title, void* text, int buttons) { if (title == nullptr || text == nullptr) return 0; QMessageBox mb(static_cast(0x0100), *static_cast(title), *static_cast(text), static_cast(buttons), static_cast(parent)); return mb.exec(); } extern "C" VQT6_API int vqt6_qmessagebox_question(void* parent, void* title, void* text, int buttons) { if (title == nullptr || text == nullptr) return 0; QMessageBox mb(static_cast(0x0200), *static_cast(title), *static_cast(text), static_cast(buttons), static_cast(parent)); return mb.exec(); } extern "C" VQT6_API void vqt6_qmessagebox_about(void* parent, void* title, void* text) { if (title == nullptr || text == nullptr) return; QMessageBox::about(static_cast(parent), *static_cast(title), *static_cast(text)); } extern "C" VQT6_API void vqt6_qmessagebox_about_qt(void* parent) { QMessageBox::aboutQt(static_cast(parent)); } // ============================================================ // QFileDialog // ============================================================ extern "C" VQT6_API void* vqt6_qfiledialog_get_open_file_name(void* parent, void* caption, void* dir, void* filter) { QString* result = new QString(QFileDialog::getOpenFileName( static_cast(parent), caption != nullptr ? *static_cast(caption) : QString(), dir != nullptr ? *static_cast(dir) : QString(), filter != nullptr ? *static_cast(filter) : QString() )); return result; } extern "C" VQT6_API void* vqt6_qfiledialog_get_save_file_name(void* parent, void* caption, void* dir, void* filter) { QString* result = new QString(QFileDialog::getSaveFileName( static_cast(parent), caption != nullptr ? *static_cast(caption) : QString(), dir != nullptr ? *static_cast(dir) : QString(), filter != nullptr ? *static_cast(filter) : QString() )); return result; } extern "C" VQT6_API void* vqt6_qfiledialog_get_existing_directory(void* parent, void* caption, void* dir) { QString* result = new QString(QFileDialog::getExistingDirectory( static_cast(parent), caption != nullptr ? *static_cast(caption) : QString(), dir != nullptr ? *static_cast(dir) : QString() )); return result; } extern "C" VQT6_API void* vqt6_qfiledialog_get_open_file_names(void* parent, void* caption, void* dir, void* filter) { return new QStringList(QFileDialog::getOpenFileNames( static_cast(parent), caption != nullptr ? *static_cast(caption) : QString(), dir != nullptr ? *static_cast(dir) : QString(), filter != nullptr ? *static_cast(filter) : QString() )); }