rute 0.0.6

UI library implemented on top of Qt
Documentation
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// This file is auto-generated by rute_gen. DO NOT EDIT
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

#include "../rute_base.h"
#include "../rute_manual.h"
#include <QToolButton>
#include "tool_button_ffi.h"

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

static uint32_t tool_button_tool_button_style(struct RUBase* self_c) {
    WRToolButton* qt_value = (WRToolButton*)self_c;
    auto ret_value = qt_value->toolButtonStyle();
    return (uint32_t)ret_value;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

static uint32_t tool_button_arrow_type(struct RUBase* self_c) {
    WRToolButton* qt_value = (WRToolButton*)self_c;
    auto ret_value = qt_value->arrowType();
    return (uint32_t)ret_value;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

static void tool_button_set_arrow_type(struct RUBase* self_c, uint32_t arrow_type) {
    WRToolButton* qt_value = (WRToolButton*)self_c;
    qt_value->setArrowType((Qt::ArrowType)arrow_type);
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

static void tool_button_set_popup_mode(struct RUBase* self_c, uint32_t mode) {
    WRToolButton* qt_value = (WRToolButton*)self_c;
    qt_value->setPopupMode((QToolButton::ToolButtonPopupMode)mode);
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

static uint32_t tool_button_popup_mode(struct RUBase* self_c) {
    WRToolButton* qt_value = (WRToolButton*)self_c;
    auto ret_value = qt_value->popupMode();
    return (uint32_t)ret_value;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

static bool tool_button_auto_raise(struct RUBase* self_c) {
    WRToolButton* qt_value = (WRToolButton*)self_c;
    auto ret_value = qt_value->autoRaise();
    return ret_value;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

static void tool_button_show_menu(struct RUBase* self_c) {
    WRToolButton* qt_value = (WRToolButton*)self_c;
    qt_value->showMenu();
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

static void tool_button_set_tool_button_style(struct RUBase* self_c, uint32_t style) {
    WRToolButton* qt_value = (WRToolButton*)self_c;
    qt_value->setToolButtonStyle((Qt::ToolButtonStyle)style);
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

static void set_tool_button_mouse_press_event(void* object, void* user_data, void* wrapped_func, void (*trampoline_func)(void*, void* self_c, struct RUBase* arg0)) {
    WRToolButton* qt_object = (WRToolButton*)object;
    qt_object->m_mouse_press_event = trampoline_func;
    qt_object->m_mouse_press_event_user_data = user_data;
    qt_object->m_mouse_press_event_wrapped_func = wrapped_func;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

static void remove_tool_button_mouse_press_event(void* object) {
    WRToolButton* qt_object = (WRToolButton*)object;
    qt_object->m_mouse_press_event = nullptr;
    qt_object->m_mouse_press_event_user_data = nullptr;
    qt_object->m_mouse_press_event_wrapped_func = nullptr;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

static void set_tool_button_mouse_release_event(void* object, void* user_data, void* wrapped_func, void (*trampoline_func)(void*, void* self_c, struct RUBase* arg0)) {
    WRToolButton* qt_object = (WRToolButton*)object;
    qt_object->m_mouse_release_event = trampoline_func;
    qt_object->m_mouse_release_event_user_data = user_data;
    qt_object->m_mouse_release_event_wrapped_func = wrapped_func;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

static void remove_tool_button_mouse_release_event(void* object) {
    WRToolButton* qt_object = (WRToolButton*)object;
    qt_object->m_mouse_release_event = nullptr;
    qt_object->m_mouse_release_event_user_data = nullptr;
    qt_object->m_mouse_release_event_wrapped_func = nullptr;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

static void set_tool_button_paint_event(void* object, void* user_data, void* wrapped_func, void (*trampoline_func)(void*, void* self_c, struct RUBase* arg0)) {
    WRToolButton* qt_object = (WRToolButton*)object;
    qt_object->m_paint_event = trampoline_func;
    qt_object->m_paint_event_user_data = user_data;
    qt_object->m_paint_event_wrapped_func = wrapped_func;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

static void remove_tool_button_paint_event(void* object) {
    WRToolButton* qt_object = (WRToolButton*)object;
    qt_object->m_paint_event = nullptr;
    qt_object->m_paint_event_user_data = nullptr;
    qt_object->m_paint_event_wrapped_func = nullptr;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

static void set_tool_button_enter_event(void* object, void* user_data, void* wrapped_func, void (*trampoline_func)(void*, void* self_c, struct RUBase* arg0)) {
    WRToolButton* qt_object = (WRToolButton*)object;
    qt_object->m_enter_event = trampoline_func;
    qt_object->m_enter_event_user_data = user_data;
    qt_object->m_enter_event_wrapped_func = wrapped_func;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

static void remove_tool_button_enter_event(void* object) {
    WRToolButton* qt_object = (WRToolButton*)object;
    qt_object->m_enter_event = nullptr;
    qt_object->m_enter_event_user_data = nullptr;
    qt_object->m_enter_event_wrapped_func = nullptr;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

static void set_tool_button_leave_event(void* object, void* user_data, void* wrapped_func, void (*trampoline_func)(void*, void* self_c, struct RUBase* arg0)) {
    WRToolButton* qt_object = (WRToolButton*)object;
    qt_object->m_leave_event = trampoline_func;
    qt_object->m_leave_event_user_data = user_data;
    qt_object->m_leave_event_wrapped_func = wrapped_func;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

static void remove_tool_button_leave_event(void* object) {
    WRToolButton* qt_object = (WRToolButton*)object;
    qt_object->m_leave_event = nullptr;
    qt_object->m_leave_event_user_data = nullptr;
    qt_object->m_leave_event_wrapped_func = nullptr;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

static void set_tool_button_change_event(void* object, void* user_data, void* wrapped_func, void (*trampoline_func)(void*, void* self_c, struct RUBase* arg0)) {
    WRToolButton* qt_object = (WRToolButton*)object;
    qt_object->m_change_event = trampoline_func;
    qt_object->m_change_event_user_data = user_data;
    qt_object->m_change_event_wrapped_func = wrapped_func;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

static void remove_tool_button_change_event(void* object) {
    WRToolButton* qt_object = (WRToolButton*)object;
    qt_object->m_change_event = nullptr;
    qt_object->m_change_event_user_data = nullptr;
    qt_object->m_change_event_wrapped_func = nullptr;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

static struct RUToolButton create_tool_button(
    struct RUBase* priv_data,
    RUDeleteCallback delete_callback,
    void* private_user_data)
{
    auto ctl = create_widget_func<struct RUToolButton, WRToolButton>(priv_data, delete_callback, private_user_data);
    ctl.all_funcs = &s_tool_button_all_funcs;
    return ctl;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

static void destroy_tool_button(struct RUBase* priv_data) {
    destroy_generic<WRToolButton>(priv_data);
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

struct RUToolButtonFuncs s_tool_button_funcs = {
    destroy_tool_button,
    tool_button_tool_button_style,
    tool_button_arrow_type,
    tool_button_set_arrow_type,
    tool_button_set_popup_mode,
    tool_button_popup_mode,
    tool_button_auto_raise,
    tool_button_show_menu,
    tool_button_set_tool_button_style,
    set_tool_button_mouse_press_event,
    remove_tool_button_mouse_press_event,
    set_tool_button_mouse_release_event,
    remove_tool_button_mouse_release_event,
    set_tool_button_paint_event,
    remove_tool_button_paint_event,
    set_tool_button_enter_event,
    remove_tool_button_enter_event,
    set_tool_button_leave_event,
    remove_tool_button_leave_event,
    set_tool_button_change_event,
    remove_tool_button_change_event,
};

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

struct RUToolButtonAllFuncs s_tool_button_all_funcs = {
    &s_object_funcs,
    &s_paint_device_funcs,
    &s_widget_funcs,
    &s_abstract_button_funcs,
    &s_tool_button_funcs,
};