quote
$(Expr(:toplevel, quote
    function AccessibleList_new_from_array(_accessibles)
        _accessibles_arr = convert(Vector{Ptr{GObject}}, _accessibles)
        _n_accessibles = length(_accessibles)
        ret = ccall(("gtk_accessible_list_new_from_array", libgtk4), Ptr{GtkAccessibleList}, (Ptr{Ptr{GObject}}, UInt64), _accessibles_arr, _n_accessibles)
        ret2 = convert(GtkAccessibleList, ret, true)
        ret2
    end
    function AccessibleList_new_from_list(_list::GLib.LList{GLib._GList{Ptr{GObject}}})
        ret = ccall(("gtk_accessible_list_new_from_list", libgtk4), Ptr{GtkAccessibleList}, (Ptr{GLib._GList{Ptr{GObject}}},), _list)
        ret2 = convert(GtkAccessibleList, ret, true)
        ret2
    end
    function get_objects(instance::GtkAccessibleList)
        ret = ccall(("gtk_accessible_list_get_objects", libgtk4), Ptr{GLib._GList{Ptr{GObject}}}, (Ptr{GtkAccessibleList},), instance)
        ret2 = GLib.GList(ret, false)
        ret2
    end
    function Border_new()
        ret = ccall(("gtk_border_new", libgtk4), Ptr{_GtkBorder}, ())
        ret2 = convert(Union{GtkBorder, Ref{_GtkBorder}}, ret, true)
        ret2
    end
    function copy(instance::Union{GtkBorder, Ref{_GtkBorder}})
        ret = ccall(("gtk_border_copy", libgtk4), Ptr{_GtkBorder}, (Ptr{_GtkBorder},), instance)
        ret2 = convert(Union{GtkBorder, Ref{_GtkBorder}}, ret, true)
        ret2
    end
    function free(instance::Union{GtkBorder, Ref{_GtkBorder}})
        ret = ccall(("gtk_border_free", libgtk4), Nothing, (Ptr{_GtkBorder},), instance)
        nothing
    end
    function evaluate(instance::GtkExpressionWatch, _value::Union{GValue, Ref{_GValue}})
        ret = ccall(("gtk_expression_watch_evaluate", libgtk4), Cint, (Ptr{GtkExpressionWatch}, Ptr{_GValue}), instance, _value)
        ret2 = convert(Bool, ret)
        ret2
    end
    function ref(instance::GtkExpressionWatch)
        ret = ccall(("gtk_expression_watch_ref", libgtk4), Ptr{GtkExpressionWatch}, (Ptr{GtkExpressionWatch},), instance)
        ret2 = convert(GtkExpressionWatch, ret, true)
        ret2
    end
    function unref(instance::GtkExpressionWatch)
        ret = ccall(("gtk_expression_watch_unref", libgtk4), Nothing, (Ptr{GtkExpressionWatch},), instance)
        nothing
    end
    function unwatch(instance::GtkExpressionWatch)
        ret = ccall(("gtk_expression_watch_unwatch", libgtk4), Nothing, (Ptr{GtkExpressionWatch},), instance)
        nothing
    end
    function PaperSize_new(_name::Maybe(Union{AbstractString, Symbol}))
        _name_maybe = nothing_to_null(_name)
        ret = ccall(("gtk_paper_size_new", libgtk4), Ptr{GtkPaperSize}, (Cstring,), _name_maybe)
        ret2 = convert(GtkPaperSize, ret, true)
        ret2
    end
    function PaperSize_new_custom(_name::Union{AbstractString, Symbol}, _display_name::Union{AbstractString, Symbol}, _width::Real, _height::Real, _unit)
        ret = ccall(("gtk_paper_size_new_custom", libgtk4), Ptr{GtkPaperSize}, (Cstring, Cstring, Float64, Float64, UInt32), _name, _display_name, _width, _height, _unit)
        ret2 = convert(GtkPaperSize, ret, true)
        ret2
    end
    function PaperSize_new_from_gvariant(_variant::GVariant)
        ret = ccall(("gtk_paper_size_new_from_gvariant", libgtk4), Ptr{GtkPaperSize}, (Ptr{GVariant},), _variant)
        ret2 = convert(GtkPaperSize, ret, true)
        ret2
    end
    function PaperSize_new_from_ipp(_ipp_name::Union{AbstractString, Symbol}, _width::Real, _height::Real)
        ret = ccall(("gtk_paper_size_new_from_ipp", libgtk4), Ptr{GtkPaperSize}, (Cstring, Float64, Float64), _ipp_name, _width, _height)
        ret2 = convert(GtkPaperSize, ret, true)
        ret2
    end
    function PaperSize_new_from_key_file(_key_file::GKeyFile, _group_name::Maybe(Union{AbstractString, Symbol}))
        _group_name_maybe = nothing_to_null(_group_name)
        err = err_buf()
        ret = ccall(("gtk_paper_size_new_from_key_file", libgtk4), Ptr{GtkPaperSize}, (Ptr{GKeyFile}, Cstring, Ptr{Ptr{GError}}), _key_file, _group_name_maybe, err)
        check_err(err)
        ret2 = convert(GtkPaperSize, ret, true)
        ret2
    end
    function PaperSize_new_from_ppd(_ppd_name::Union{AbstractString, Symbol}, _ppd_display_name::Union{AbstractString, Symbol}, _width::Real, _height::Real)
        ret = ccall(("gtk_paper_size_new_from_ppd", libgtk4), Ptr{GtkPaperSize}, (Cstring, Cstring, Float64, Float64), _ppd_name, _ppd_display_name, _width, _height)
        ret2 = convert(GtkPaperSize, ret, true)
        ret2
    end
    function copy(instance::GtkPaperSize)
        ret = ccall(("gtk_paper_size_copy", libgtk4), Ptr{GtkPaperSize}, (Ptr{GtkPaperSize},), instance)
        ret2 = convert(GtkPaperSize, ret, true)
        ret2
    end
    function free(instance::GtkPaperSize)
        ret = ccall(("gtk_paper_size_free", libgtk4), Nothing, (Ptr{GtkPaperSize},), instance)
        nothing
    end
    function get_default_bottom_margin(instance::GtkPaperSize, _unit)
        ret = ccall(("gtk_paper_size_get_default_bottom_margin", libgtk4), Float64, (Ptr{GtkPaperSize}, UInt32), instance, _unit)
        ret
    end
    function get_default_left_margin(instance::GtkPaperSize, _unit)
        ret = ccall(("gtk_paper_size_get_default_left_margin", libgtk4), Float64, (Ptr{GtkPaperSize}, UInt32), instance, _unit)
        ret
    end
    function get_default_right_margin(instance::GtkPaperSize, _unit)
        ret = ccall(("gtk_paper_size_get_default_right_margin", libgtk4), Float64, (Ptr{GtkPaperSize}, UInt32), instance, _unit)
        ret
    end
    function get_default_top_margin(instance::GtkPaperSize, _unit)
        ret = ccall(("gtk_paper_size_get_default_top_margin", libgtk4), Float64, (Ptr{GtkPaperSize}, UInt32), instance, _unit)
        ret
    end
    function get_display_name(instance::GtkPaperSize)
        ret = ccall(("gtk_paper_size_get_display_name", libgtk4), Cstring, (Ptr{GtkPaperSize},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_height(instance::GtkPaperSize, _unit)
        ret = ccall(("gtk_paper_size_get_height", libgtk4), Float64, (Ptr{GtkPaperSize}, UInt32), instance, _unit)
        ret
    end
    function get_name(instance::GtkPaperSize)
        ret = ccall(("gtk_paper_size_get_name", libgtk4), Cstring, (Ptr{GtkPaperSize},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_ppd_name(instance::GtkPaperSize)
        ret = ccall(("gtk_paper_size_get_ppd_name", libgtk4), Cstring, (Ptr{GtkPaperSize},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_width(instance::GtkPaperSize, _unit)
        ret = ccall(("gtk_paper_size_get_width", libgtk4), Float64, (Ptr{GtkPaperSize}, UInt32), instance, _unit)
        ret
    end
    function is_custom(instance::GtkPaperSize)
        ret = ccall(("gtk_paper_size_is_custom", libgtk4), Cint, (Ptr{GtkPaperSize},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function is_equal(instance::GtkPaperSize, _size2::GtkPaperSize)
        ret = ccall(("gtk_paper_size_is_equal", libgtk4), Cint, (Ptr{GtkPaperSize}, Ptr{GtkPaperSize}), instance, _size2)
        ret2 = convert(Bool, ret)
        ret2
    end
    function is_ipp(instance::GtkPaperSize)
        ret = ccall(("gtk_paper_size_is_ipp", libgtk4), Cint, (Ptr{GtkPaperSize},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_size(instance::GtkPaperSize, _width::Real, _height::Real, _unit)
        ret = ccall(("gtk_paper_size_set_size", libgtk4), Nothing, (Ptr{GtkPaperSize}, Float64, Float64, UInt32), instance, _width, _height, _unit)
        nothing
    end
    function to_gvariant(instance::GtkPaperSize)
        ret = ccall(("gtk_paper_size_to_gvariant", libgtk4), Ptr{GVariant}, (Ptr{GtkPaperSize},), instance)
        ret2 = convert(GVariant, ret)
        ret2
    end
    function to_key_file(instance::GtkPaperSize, _key_file::GKeyFile, _group_name::Union{AbstractString, Symbol})
        ret = ccall(("gtk_paper_size_to_key_file", libgtk4), Nothing, (Ptr{GtkPaperSize}, Ptr{GKeyFile}, Cstring), instance, _key_file, _group_name)
        nothing
    end
    function get_page_setup(instance::GtkPrintSetup)
        ret = ccall(("gtk_print_setup_get_page_setup", libgtk4), Ptr{GObject}, (Ptr{GtkPrintSetup},), instance)
        ret2 = convert_if_not_null(GtkPageSetup, ret, false)
        ret2
    end
    function get_print_settings(instance::GtkPrintSetup)
        ret = ccall(("gtk_print_setup_get_print_settings", libgtk4), Ptr{GObject}, (Ptr{GtkPrintSetup},), instance)
        ret2 = convert_if_not_null(GtkPrintSettings, ret, false)
        ret2
    end
    function ref(instance::GtkPrintSetup)
        ret = ccall(("gtk_print_setup_ref", libgtk4), Ptr{GtkPrintSetup}, (Ptr{GtkPrintSetup},), instance)
        ret2 = convert(GtkPrintSetup, ret, true)
        ret2
    end
    function unref(instance::GtkPrintSetup)
        ret = ccall(("gtk_print_setup_unref", libgtk4), Nothing, (Ptr{GtkPrintSetup},), instance)
        nothing
    end
    function create_app_info(instance::GtkRecentInfo, _app_name::Maybe(Union{AbstractString, Symbol}))
        _app_name_maybe = nothing_to_null(_app_name)
        err = err_buf()
        ret = ccall(("gtk_recent_info_create_app_info", libgtk4), Ptr{GObject}, (Ptr{GtkRecentInfo}, Cstring, Ptr{Ptr{GError}}), instance, _app_name_maybe, err)
        check_err(err)
        ret2 = GLib.find_leaf_type_if_not_null(ret, true)
        ret2
    end
    function exists(instance::GtkRecentInfo)
        ret = ccall(("gtk_recent_info_exists", libgtk4), Cint, (Ptr{GtkRecentInfo},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_added(instance::GtkRecentInfo)
        ret = ccall(("gtk_recent_info_get_added", libgtk4), Ptr{GDateTime}, (Ptr{GtkRecentInfo},), instance)
        ret2 = convert(GDateTime, ret, false)
        ret2
    end
    function get_age(instance::GtkRecentInfo)
        ret = ccall(("gtk_recent_info_get_age", libgtk4), Int32, (Ptr{GtkRecentInfo},), instance)
        ret
    end
    function get_application_info(instance::GtkRecentInfo, _app_name::Union{AbstractString, Symbol})
        m_app_exec = Ref{Cstring}()
        m_count = Ref{UInt32}()
        m_stamp = Ref{Ptr{GDateTime}}()
        ret = ccall(("gtk_recent_info_get_application_info", libgtk4), Cint, (Ptr{GtkRecentInfo}, Cstring, Ptr{Cstring}, Ptr{UInt32}, Ptr{Ptr{GDateTime}}), instance, _app_name, m_app_exec, m_count, m_stamp)
        ret2 = convert(Bool, ret)
        _app_exec = m_app_exec[]
        _app_exec = string_or_nothing(_app_exec, false)
        _count = m_count[]
        _stamp = m_stamp[]
        _stamp = convert(GDateTime, _stamp, false)
        (ret2, _app_exec, _count, _stamp)
    end
    function get_applications(instance::GtkRecentInfo)
        m_length = Ref{UInt64}()
        ret = ccall(("gtk_recent_info_get_applications", libgtk4), Ptr{Cstring}, (Ptr{GtkRecentInfo}, Ptr{UInt64}), instance, m_length)
        ret2 = begin
                _len = length_zt(ret)
                arrtemp = bytestring.(unsafe_wrap(Vector{Cstring}, ret, _len))
                GLib.g_strfreev(ret)
                arrtemp
            end
        _length = m_length[]
        ret2
    end
    function get_description(instance::GtkRecentInfo)
        ret = ccall(("gtk_recent_info_get_description", libgtk4), Cstring, (Ptr{GtkRecentInfo},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_display_name(instance::GtkRecentInfo)
        ret = ccall(("gtk_recent_info_get_display_name", libgtk4), Cstring, (Ptr{GtkRecentInfo},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_gicon(instance::GtkRecentInfo)
        ret = ccall(("gtk_recent_info_get_gicon", libgtk4), Ptr{GObject}, (Ptr{GtkRecentInfo},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, true)
        ret2
    end
    function get_groups(instance::GtkRecentInfo)
        m_length = Ref{UInt64}()
        ret = ccall(("gtk_recent_info_get_groups", libgtk4), Ptr{Cstring}, (Ptr{GtkRecentInfo}, Ptr{UInt64}), instance, m_length)
        ret2 = begin
                _len = length_zt(ret)
                arrtemp = bytestring.(unsafe_wrap(Vector{Cstring}, ret, _len))
                GLib.g_strfreev(ret)
                arrtemp
            end
        _length = m_length[]
        ret2
    end
    function get_mime_type(instance::GtkRecentInfo)
        ret = ccall(("gtk_recent_info_get_mime_type", libgtk4), Cstring, (Ptr{GtkRecentInfo},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_modified(instance::GtkRecentInfo)
        ret = ccall(("gtk_recent_info_get_modified", libgtk4), Ptr{GDateTime}, (Ptr{GtkRecentInfo},), instance)
        ret2 = convert(GDateTime, ret, false)
        ret2
    end
    function get_private_hint(instance::GtkRecentInfo)
        ret = ccall(("gtk_recent_info_get_private_hint", libgtk4), Cint, (Ptr{GtkRecentInfo},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_short_name(instance::GtkRecentInfo)
        ret = ccall(("gtk_recent_info_get_short_name", libgtk4), Cstring, (Ptr{GtkRecentInfo},), instance)
        ret2 = string_or_nothing(ret, true)
        ret2
    end
    function get_uri(instance::GtkRecentInfo)
        ret = ccall(("gtk_recent_info_get_uri", libgtk4), Cstring, (Ptr{GtkRecentInfo},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_uri_display(instance::GtkRecentInfo)
        ret = ccall(("gtk_recent_info_get_uri_display", libgtk4), Cstring, (Ptr{GtkRecentInfo},), instance)
        ret2 = string_or_nothing(ret, true)
        ret2
    end
    function get_visited(instance::GtkRecentInfo)
        ret = ccall(("gtk_recent_info_get_visited", libgtk4), Ptr{GDateTime}, (Ptr{GtkRecentInfo},), instance)
        ret2 = convert(GDateTime, ret, false)
        ret2
    end
    function has_application(instance::GtkRecentInfo, _app_name::Union{AbstractString, Symbol})
        ret = ccall(("gtk_recent_info_has_application", libgtk4), Cint, (Ptr{GtkRecentInfo}, Cstring), instance, _app_name)
        ret2 = convert(Bool, ret)
        ret2
    end
    function has_group(instance::GtkRecentInfo, _group_name::Union{AbstractString, Symbol})
        ret = ccall(("gtk_recent_info_has_group", libgtk4), Cint, (Ptr{GtkRecentInfo}, Cstring), instance, _group_name)
        ret2 = convert(Bool, ret)
        ret2
    end
    function is_local(instance::GtkRecentInfo)
        ret = ccall(("gtk_recent_info_is_local", libgtk4), Cint, (Ptr{GtkRecentInfo},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function last_application(instance::GtkRecentInfo)
        ret = ccall(("gtk_recent_info_last_application", libgtk4), Cstring, (Ptr{GtkRecentInfo},), instance)
        ret2 = string_or_nothing(ret, true)
        ret2
    end
    function match(instance::GtkRecentInfo, _info_b::GtkRecentInfo)
        ret = ccall(("gtk_recent_info_match", libgtk4), Cint, (Ptr{GtkRecentInfo}, Ptr{GtkRecentInfo}), instance, _info_b)
        ret2 = convert(Bool, ret)
        ret2
    end
    function ref(instance::GtkRecentInfo)
        ret = ccall(("gtk_recent_info_ref", libgtk4), Ptr{GtkRecentInfo}, (Ptr{GtkRecentInfo},), instance)
        ret2 = convert(GtkRecentInfo, ret, true)
        ret2
    end
    function unref(instance::GtkRecentInfo)
        ret = ccall(("gtk_recent_info_unref", libgtk4), Nothing, (Ptr{GtkRecentInfo},), instance)
        nothing
    end
    function Requisition_new()
        ret = ccall(("gtk_requisition_new", libgtk4), Ptr{_GtkRequisition}, ())
        ret2 = convert(Union{GtkRequisition, Ref{_GtkRequisition}}, ret, true)
        ret2
    end
    function copy(instance::Union{GtkRequisition, Ref{_GtkRequisition}})
        ret = ccall(("gtk_requisition_copy", libgtk4), Ptr{_GtkRequisition}, (Ptr{_GtkRequisition},), instance)
        ret2 = convert(Union{GtkRequisition, Ref{_GtkRequisition}}, ret, true)
        ret2
    end
    function free(instance::Union{GtkRequisition, Ref{_GtkRequisition}})
        ret = ccall(("gtk_requisition_free", libgtk4), Nothing, (Ptr{_GtkRequisition},), instance)
        nothing
    end
    function ScrollInfo_new()
        ret = ccall(("gtk_scroll_info_new", libgtk4), Ptr{GtkScrollInfo}, ())
        ret2 = convert(GtkScrollInfo, ret, true)
        ret2
    end
    function get_enable_horizontal(instance::GtkScrollInfo)
        ret = ccall(("gtk_scroll_info_get_enable_horizontal", libgtk4), Cint, (Ptr{GtkScrollInfo},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_enable_vertical(instance::GtkScrollInfo)
        ret = ccall(("gtk_scroll_info_get_enable_vertical", libgtk4), Cint, (Ptr{GtkScrollInfo},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function ref(instance::GtkScrollInfo)
        ret = ccall(("gtk_scroll_info_ref", libgtk4), Ptr{GtkScrollInfo}, (Ptr{GtkScrollInfo},), instance)
        ret2 = convert(GtkScrollInfo, ret, true)
        ret2
    end
    function set_enable_horizontal(instance::GtkScrollInfo, _horizontal::Bool)
        ret = ccall(("gtk_scroll_info_set_enable_horizontal", libgtk4), Nothing, (Ptr{GtkScrollInfo}, Cint), instance, _horizontal)
        nothing
    end
    function set_enable_vertical(instance::GtkScrollInfo, _vertical::Bool)
        ret = ccall(("gtk_scroll_info_set_enable_vertical", libgtk4), Nothing, (Ptr{GtkScrollInfo}, Cint), instance, _vertical)
        nothing
    end
    function unref(instance::GtkScrollInfo)
        ret = ccall(("gtk_scroll_info_unref", libgtk4), Nothing, (Ptr{GtkScrollInfo},), instance)
        nothing
    end
    function copy(instance::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        ret = ccall(("gtk_tree_iter_copy", libgtk4), Ptr{_GtkTreeIter}, (Ptr{_GtkTreeIter},), instance)
        ret2 = convert(Union{GtkTreeIter, Ref{_GtkTreeIter}}, ret, true)
        ret2
    end
    function free(instance::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        ret = ccall(("gtk_tree_iter_free", libgtk4), Nothing, (Ptr{_GtkTreeIter},), instance)
        nothing
    end
    function TreePath_new()
        ret = ccall(("gtk_tree_path_new", libgtk4), Ptr{GtkTreePath}, ())
        ret2 = convert(GtkTreePath, ret, true)
        ret2
    end
    function TreePath_new_first()
        ret = ccall(("gtk_tree_path_new_first", libgtk4), Ptr{GtkTreePath}, ())
        ret2 = convert(GtkTreePath, ret, true)
        ret2
    end
    function TreePath_new_from_indices(_indices)
        _indices_arr = convert(Vector{Int32}, _indices)
        _length = length(_indices)
        ret = ccall(("gtk_tree_path_new_from_indicesv", libgtk4), Ptr{GtkTreePath}, (Ptr{Int32}, UInt64), _indices_arr, _length)
        ret2 = convert(GtkTreePath, ret, true)
        ret2
    end
    function TreePath_new_from_string(_path::Union{AbstractString, Symbol})
        ret = ccall(("gtk_tree_path_new_from_string", libgtk4), Ptr{GtkTreePath}, (Cstring,), _path)
        ret2 = convert_if_not_null(GtkTreePath, ret, true)
        ret2
    end
    function append_index(instance::GtkTreePath, _index_::Integer)
        ret = ccall(("gtk_tree_path_append_index", libgtk4), Nothing, (Ptr{GtkTreePath}, Int32), instance, _index_)
        nothing
    end
    function compare(instance::GtkTreePath, _b::GtkTreePath)
        ret = ccall(("gtk_tree_path_compare", libgtk4), Int32, (Ptr{GtkTreePath}, Ptr{GtkTreePath}), instance, _b)
        ret
    end
    function copy(instance::GtkTreePath)
        ret = ccall(("gtk_tree_path_copy", libgtk4), Ptr{GtkTreePath}, (Ptr{GtkTreePath},), instance)
        ret2 = convert(GtkTreePath, ret, true)
        ret2
    end
    function down(instance::GtkTreePath)
        ret = ccall(("gtk_tree_path_down", libgtk4), Nothing, (Ptr{GtkTreePath},), instance)
        nothing
    end
    function free(instance::GtkTreePath)
        ret = ccall(("gtk_tree_path_free", libgtk4), Nothing, (Ptr{GtkTreePath},), instance)
        nothing
    end
    function get_depth(instance::GtkTreePath)
        ret = ccall(("gtk_tree_path_get_depth", libgtk4), Int32, (Ptr{GtkTreePath},), instance)
        ret
    end
    function get_indices(instance::GtkTreePath)
        m_depth = Ref{Int32}()
        ret = ccall(("gtk_tree_path_get_indices_with_depth", libgtk4), Ptr{Int32}, (Ptr{GtkTreePath}, Ptr{Int32}), instance, m_depth)
        ret2 = collect(unsafe_wrap(Vector{Int32}, ret, m_depth[]))
        _depth = m_depth[]
        ret2
    end
    function is_ancestor(instance::GtkTreePath, _descendant::GtkTreePath)
        ret = ccall(("gtk_tree_path_is_ancestor", libgtk4), Cint, (Ptr{GtkTreePath}, Ptr{GtkTreePath}), instance, _descendant)
        ret2 = convert(Bool, ret)
        ret2
    end
    function is_descendant(instance::GtkTreePath, _ancestor::GtkTreePath)
        ret = ccall(("gtk_tree_path_is_descendant", libgtk4), Cint, (Ptr{GtkTreePath}, Ptr{GtkTreePath}), instance, _ancestor)
        ret2 = convert(Bool, ret)
        ret2
    end
    function next(instance::GtkTreePath)
        ret = ccall(("gtk_tree_path_next", libgtk4), Nothing, (Ptr{GtkTreePath},), instance)
        nothing
    end
    function prepend_index(instance::GtkTreePath, _index_::Integer)
        ret = ccall(("gtk_tree_path_prepend_index", libgtk4), Nothing, (Ptr{GtkTreePath}, Int32), instance, _index_)
        nothing
    end
    function prev(instance::GtkTreePath)
        ret = ccall(("gtk_tree_path_prev", libgtk4), Cint, (Ptr{GtkTreePath},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function to_string(instance::GtkTreePath)
        ret = ccall(("gtk_tree_path_to_string", libgtk4), Cstring, (Ptr{GtkTreePath},), instance)
        ret2 = string_or_nothing(ret, true)
        ret2
    end
    function up(instance::GtkTreePath)
        ret = ccall(("gtk_tree_path_up", libgtk4), Cint, (Ptr{GtkTreePath},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function ATContext_create(_accessible_role, _accessible::GtkAccessible, _display::GdkDisplay)
        ret = ccall(("gtk_at_context_create", libgtk4), Ptr{GObject}, (UInt32, Ptr{GObject}, Ptr{GObject}), _accessible_role, _accessible, _display)
        ret2 = convert_if_not_null(GtkATContext, ret, true)
        ret2
    end
    function get_accessible(instance::GtkATContext)
        ret = ccall(("gtk_at_context_get_accessible", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = begin
                leaftype = GLib.find_leaf_type(ret)
                convert(leaftype, ret, false)
            end
        ret2
    end
    function get_accessible_role(instance::GtkATContext)
        ret = ccall(("gtk_at_context_get_accessible_role", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = AccessibleRole(ret)
        ret2
    end
    function AboutDialog_new()
        ret = ccall(("gtk_about_dialog_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkAboutDialogLeaf(ret, false)
        ret2
    end
    function add_credit_section(instance::GtkAboutDialog, _section_name::Union{AbstractString, Symbol}, _people)
        ret = ccall(("gtk_about_dialog_add_credit_section", libgtk4), Nothing, (Ptr{GObject}, Cstring, Ptr{Cstring}), instance, _section_name, _people)
        nothing
    end
    function get_artists(instance::GtkAboutDialog)
        ret = ccall(("gtk_about_dialog_get_artists", libgtk4), Ptr{Cstring}, (Ptr{GObject},), instance)
        ret2 = begin
                _len = length_zt(ret)
                arrtemp = bytestring.(unsafe_wrap(Vector{Cstring}, ret, _len))
                arrtemp
            end
        ret2
    end
    function get_authors(instance::GtkAboutDialog)
        ret = ccall(("gtk_about_dialog_get_authors", libgtk4), Ptr{Cstring}, (Ptr{GObject},), instance)
        ret2 = begin
                _len = length_zt(ret)
                arrtemp = bytestring.(unsafe_wrap(Vector{Cstring}, ret, _len))
                arrtemp
            end
        ret2
    end
    function get_comments(instance::GtkAboutDialog)
        ret = ccall(("gtk_about_dialog_get_comments", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_copyright(instance::GtkAboutDialog)
        ret = ccall(("gtk_about_dialog_get_copyright", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_documenters(instance::GtkAboutDialog)
        ret = ccall(("gtk_about_dialog_get_documenters", libgtk4), Ptr{Cstring}, (Ptr{GObject},), instance)
        ret2 = begin
                _len = length_zt(ret)
                arrtemp = bytestring.(unsafe_wrap(Vector{Cstring}, ret, _len))
                arrtemp
            end
        ret2
    end
    function get_license(instance::GtkAboutDialog)
        ret = ccall(("gtk_about_dialog_get_license", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_license_type(instance::GtkAboutDialog)
        ret = ccall(("gtk_about_dialog_get_license_type", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = License(ret)
        ret2
    end
    function get_logo(instance::GtkAboutDialog)
        ret = ccall(("gtk_about_dialog_get_logo", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, false)
        ret2
    end
    function get_logo_icon_name(instance::GtkAboutDialog)
        ret = ccall(("gtk_about_dialog_get_logo_icon_name", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_program_name(instance::GtkAboutDialog)
        ret = ccall(("gtk_about_dialog_get_program_name", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_system_information(instance::GtkAboutDialog)
        ret = ccall(("gtk_about_dialog_get_system_information", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_translator_credits(instance::GtkAboutDialog)
        ret = ccall(("gtk_about_dialog_get_translator_credits", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_version(instance::GtkAboutDialog)
        ret = ccall(("gtk_about_dialog_get_version", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_website(instance::GtkAboutDialog)
        ret = ccall(("gtk_about_dialog_get_website", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_website_label(instance::GtkAboutDialog)
        ret = ccall(("gtk_about_dialog_get_website_label", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_wrap_license(instance::GtkAboutDialog)
        ret = ccall(("gtk_about_dialog_get_wrap_license", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_artists(instance::GtkAboutDialog, _artists)
        ret = ccall(("gtk_about_dialog_set_artists", libgtk4), Nothing, (Ptr{GObject}, Ptr{Cstring}), instance, _artists)
        nothing
    end
    function set_authors(instance::GtkAboutDialog, _authors)
        ret = ccall(("gtk_about_dialog_set_authors", libgtk4), Nothing, (Ptr{GObject}, Ptr{Cstring}), instance, _authors)
        nothing
    end
    function set_comments(instance::GtkAboutDialog, _comments::Maybe(Union{AbstractString, Symbol}))
        _comments_maybe = nothing_to_null(_comments)
        ret = ccall(("gtk_about_dialog_set_comments", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _comments_maybe)
        nothing
    end
    function set_copyright(instance::GtkAboutDialog, _copyright::Maybe(Union{AbstractString, Symbol}))
        _copyright_maybe = nothing_to_null(_copyright)
        ret = ccall(("gtk_about_dialog_set_copyright", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _copyright_maybe)
        nothing
    end
    function set_documenters(instance::GtkAboutDialog, _documenters)
        ret = ccall(("gtk_about_dialog_set_documenters", libgtk4), Nothing, (Ptr{GObject}, Ptr{Cstring}), instance, _documenters)
        nothing
    end
    function set_license(instance::GtkAboutDialog, _license::Maybe(Union{AbstractString, Symbol}))
        _license_maybe = nothing_to_null(_license)
        ret = ccall(("gtk_about_dialog_set_license", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _license_maybe)
        nothing
    end
    function set_license_type(instance::GtkAboutDialog, _license_type)
        ret = ccall(("gtk_about_dialog_set_license_type", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _license_type)
        nothing
    end
    function set_logo(instance::GtkAboutDialog, _logo::Maybe(GdkPaintable))
        _logo_maybe = nothing_to_null(_logo)
        ret = ccall(("gtk_about_dialog_set_logo", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _logo_maybe)
        nothing
    end
    function set_logo_icon_name(instance::GtkAboutDialog, _icon_name::Maybe(Union{AbstractString, Symbol}))
        _icon_name_maybe = nothing_to_null(_icon_name)
        ret = ccall(("gtk_about_dialog_set_logo_icon_name", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _icon_name_maybe)
        nothing
    end
    function set_program_name(instance::GtkAboutDialog, _name::Maybe(Union{AbstractString, Symbol}))
        _name_maybe = nothing_to_null(_name)
        ret = ccall(("gtk_about_dialog_set_program_name", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _name_maybe)
        nothing
    end
    function set_system_information(instance::GtkAboutDialog, _system_information::Maybe(Union{AbstractString, Symbol}))
        _system_information_maybe = nothing_to_null(_system_information)
        ret = ccall(("gtk_about_dialog_set_system_information", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _system_information_maybe)
        nothing
    end
    function set_translator_credits(instance::GtkAboutDialog, _translator_credits::Maybe(Union{AbstractString, Symbol}))
        _translator_credits_maybe = nothing_to_null(_translator_credits)
        ret = ccall(("gtk_about_dialog_set_translator_credits", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _translator_credits_maybe)
        nothing
    end
    function set_version(instance::GtkAboutDialog, _version::Maybe(Union{AbstractString, Symbol}))
        _version_maybe = nothing_to_null(_version)
        ret = ccall(("gtk_about_dialog_set_version", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _version_maybe)
        nothing
    end
    function set_website(instance::GtkAboutDialog, _website::Maybe(Union{AbstractString, Symbol}))
        _website_maybe = nothing_to_null(_website)
        ret = ccall(("gtk_about_dialog_set_website", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _website_maybe)
        nothing
    end
    function set_website_label(instance::GtkAboutDialog, _website_label::Union{AbstractString, Symbol})
        ret = ccall(("gtk_about_dialog_set_website_label", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _website_label)
        nothing
    end
    function set_wrap_license(instance::GtkAboutDialog, _wrap_license::Bool)
        ret = ccall(("gtk_about_dialog_set_wrap_license", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _wrap_license)
        nothing
    end
    function announce(instance::GtkAboutDialog, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkAboutDialog)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkAboutDialog)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkAboutDialog)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkAboutDialog)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkAboutDialog)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkAboutDialog)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkAboutDialog, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkAboutDialog, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkAboutDialog, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkAboutDialog, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkAboutDialog, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkAboutDialog, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkAboutDialog, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkAboutDialog, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkAboutDialog, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkAboutDialog)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_renderer(instance::GtkAboutDialog)
        get_renderer(GtkNative(instance))
    end
    function get_surface(instance::GtkAboutDialog)
        get_surface(GtkNative(instance))
    end
    function get_surface_transform(instance::GtkAboutDialog)
        get_surface_transform(GtkNative(instance))
    end
    function realize(instance::GtkAboutDialog)
        realize(GtkNative(instance))
    end
    function unrealize(instance::GtkAboutDialog)
        unrealize(GtkNative(instance))
    end
    function get_display(instance::GtkAboutDialog)
        get_display(GtkRoot(instance))
    end
    function get_focus(instance::GtkAboutDialog)
        get_focus(GtkRoot(instance))
    end
    function set_focus(instance::GtkAboutDialog, _focus::Maybe(GtkWidget))
        set_focus(GtkRoot(instance), _focus)
    end
    function ActionBar_new()
        ret = ccall(("gtk_action_bar_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkActionBarLeaf(ret, false)
        ret2
    end
    function get_center_widget(instance::GtkActionBar)
        ret = ccall(("gtk_action_bar_get_center_widget", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_revealed(instance::GtkActionBar)
        ret = ccall(("gtk_action_bar_get_revealed", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function pack_end(instance::GtkActionBar, _child::GtkWidget)
        ret = ccall(("gtk_action_bar_pack_end", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child)
        nothing
    end
    function pack_start(instance::GtkActionBar, _child::GtkWidget)
        ret = ccall(("gtk_action_bar_pack_start", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child)
        nothing
    end
    function remove(instance::GtkActionBar, _child::GtkWidget)
        ret = ccall(("gtk_action_bar_remove", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child)
        nothing
    end
    function set_center_widget(instance::GtkActionBar, _center_widget::Maybe(GtkWidget))
        _center_widget_maybe = nothing_to_null(_center_widget)
        ret = ccall(("gtk_action_bar_set_center_widget", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _center_widget_maybe)
        nothing
    end
    function set_revealed(instance::GtkActionBar, _revealed::Bool)
        ret = ccall(("gtk_action_bar_set_revealed", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _revealed)
        nothing
    end
    function announce(instance::GtkActionBar, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkActionBar)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkActionBar)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkActionBar)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkActionBar)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkActionBar)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkActionBar)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkActionBar, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkActionBar, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkActionBar, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkActionBar, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkActionBar, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkActionBar, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkActionBar, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkActionBar, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkActionBar, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkActionBar)
        get_buildable_id(GtkBuildable(instance))
    end
    function Adjustment_new(_value::Real, _lower::Real, _upper::Real, _step_increment::Real, _page_increment::Real, _page_size::Real)
        ret = ccall(("gtk_adjustment_new", libgtk4), Ptr{GObject}, (Float64, Float64, Float64, Float64, Float64, Float64), _value, _lower, _upper, _step_increment, _page_increment, _page_size)
        ret2 = GtkAdjustmentLeaf(ret, false)
        ret2
    end
    function clamp_page(instance::GtkAdjustment, _lower::Real, _upper::Real)
        ret = ccall(("gtk_adjustment_clamp_page", libgtk4), Nothing, (Ptr{GObject}, Float64, Float64), instance, _lower, _upper)
        nothing
    end
    function configure(instance::GtkAdjustment, _value::Real, _lower::Real, _upper::Real, _step_increment::Real, _page_increment::Real, _page_size::Real)
        ret = ccall(("gtk_adjustment_configure", libgtk4), Nothing, (Ptr{GObject}, Float64, Float64, Float64, Float64, Float64, Float64), instance, _value, _lower, _upper, _step_increment, _page_increment, _page_size)
        nothing
    end
    function get_lower(instance::GtkAdjustment)
        ret = ccall(("gtk_adjustment_get_lower", libgtk4), Float64, (Ptr{GObject},), instance)
        ret
    end
    function get_minimum_increment(instance::GtkAdjustment)
        ret = ccall(("gtk_adjustment_get_minimum_increment", libgtk4), Float64, (Ptr{GObject},), instance)
        ret
    end
    function get_page_increment(instance::GtkAdjustment)
        ret = ccall(("gtk_adjustment_get_page_increment", libgtk4), Float64, (Ptr{GObject},), instance)
        ret
    end
    function get_page_size(instance::GtkAdjustment)
        ret = ccall(("gtk_adjustment_get_page_size", libgtk4), Float64, (Ptr{GObject},), instance)
        ret
    end
    function get_step_increment(instance::GtkAdjustment)
        ret = ccall(("gtk_adjustment_get_step_increment", libgtk4), Float64, (Ptr{GObject},), instance)
        ret
    end
    function get_upper(instance::GtkAdjustment)
        ret = ccall(("gtk_adjustment_get_upper", libgtk4), Float64, (Ptr{GObject},), instance)
        ret
    end
    function get_value(instance::GtkAdjustment)
        ret = ccall(("gtk_adjustment_get_value", libgtk4), Float64, (Ptr{GObject},), instance)
        ret
    end
    function set_lower(instance::GtkAdjustment, _lower::Real)
        ret = ccall(("gtk_adjustment_set_lower", libgtk4), Nothing, (Ptr{GObject}, Float64), instance, _lower)
        nothing
    end
    function set_page_increment(instance::GtkAdjustment, _page_increment::Real)
        ret = ccall(("gtk_adjustment_set_page_increment", libgtk4), Nothing, (Ptr{GObject}, Float64), instance, _page_increment)
        nothing
    end
    function set_page_size(instance::GtkAdjustment, _page_size::Real)
        ret = ccall(("gtk_adjustment_set_page_size", libgtk4), Nothing, (Ptr{GObject}, Float64), instance, _page_size)
        nothing
    end
    function set_step_increment(instance::GtkAdjustment, _step_increment::Real)
        ret = ccall(("gtk_adjustment_set_step_increment", libgtk4), Nothing, (Ptr{GObject}, Float64), instance, _step_increment)
        nothing
    end
    function set_upper(instance::GtkAdjustment, _upper::Real)
        ret = ccall(("gtk_adjustment_set_upper", libgtk4), Nothing, (Ptr{GObject}, Float64), instance, _upper)
        nothing
    end
    function set_value(instance::GtkAdjustment, _value::Real)
        ret = ccall(("gtk_adjustment_set_value", libgtk4), Nothing, (Ptr{GObject}, Float64), instance, _value)
        nothing
    end
    function choose(instance::GtkAlertDialog, _parent::Maybe(GtkWindow), _cancellable::Maybe(GCancellable), _callback::Maybe(Function))
        _parent_maybe = nothing_to_null(_parent)
        _cancellable_maybe = nothing_to_null(_cancellable)
        if _callback === nothing
            _callback_cfunc = C_NULL
            _callback_closure = C_NULL
        else
            _callback_cfunc = @cfunction(GAsyncReadyCallback, Nothing, (Ptr{GObject}, Ptr{GObject}, Ref{Function}))
            _callback_closure = GLib.gc_ref(_callback)
        end
        ret = ccall(("gtk_alert_dialog_choose", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{GObject}, Ptr{Cvoid}, Ptr{Nothing}), instance, _parent_maybe, _cancellable_maybe, _callback_cfunc, _callback_closure)
        nothing
    end
    function choose_finish(instance::GtkAlertDialog, _result::GAsyncResult)
        err = err_buf()
        ret = ccall(("gtk_alert_dialog_choose_finish", libgtk4), Int32, (Ptr{GObject}, Ptr{GObject}, Ptr{Ptr{GError}}), instance, _result, err)
        check_err(err)
        ret
    end
    function get_buttons(instance::GtkAlertDialog)
        ret = ccall(("gtk_alert_dialog_get_buttons", libgtk4), Ptr{Cstring}, (Ptr{GObject},), instance)
        ret2 = begin
                _len = length_zt(ret)
                arrtemp = bytestring.(unsafe_wrap(Vector{Cstring}, ret, _len))
                arrtemp
            end
        ret2
    end
    function get_cancel_button(instance::GtkAlertDialog)
        ret = ccall(("gtk_alert_dialog_get_cancel_button", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_default_button(instance::GtkAlertDialog)
        ret = ccall(("gtk_alert_dialog_get_default_button", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_detail(instance::GtkAlertDialog)
        ret = ccall(("gtk_alert_dialog_get_detail", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_message(instance::GtkAlertDialog)
        ret = ccall(("gtk_alert_dialog_get_message", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_modal(instance::GtkAlertDialog)
        ret = ccall(("gtk_alert_dialog_get_modal", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_buttons(instance::GtkAlertDialog, _labels)
        ret = ccall(("gtk_alert_dialog_set_buttons", libgtk4), Nothing, (Ptr{GObject}, Ptr{Cstring}), instance, _labels)
        nothing
    end
    function set_cancel_button(instance::GtkAlertDialog, _button::Integer)
        ret = ccall(("gtk_alert_dialog_set_cancel_button", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _button)
        nothing
    end
    function set_default_button(instance::GtkAlertDialog, _button::Integer)
        ret = ccall(("gtk_alert_dialog_set_default_button", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _button)
        nothing
    end
    function set_detail(instance::GtkAlertDialog, _detail::Union{AbstractString, Symbol})
        ret = ccall(("gtk_alert_dialog_set_detail", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _detail)
        nothing
    end
    function set_message(instance::GtkAlertDialog, _message::Union{AbstractString, Symbol})
        ret = ccall(("gtk_alert_dialog_set_message", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _message)
        nothing
    end
    function set_modal(instance::GtkAlertDialog, _modal::Bool)
        ret = ccall(("gtk_alert_dialog_set_modal", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _modal)
        nothing
    end
    function show(instance::GtkAlertDialog, _parent::Maybe(GtkWindow))
        _parent_maybe = nothing_to_null(_parent)
        ret = ccall(("gtk_alert_dialog_show", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _parent_maybe)
        nothing
    end
    function AlternativeTrigger_new(_first::GtkShortcutTrigger, _second::GtkShortcutTrigger)
        _first = GLib.glib_ref(_first)
        _second = GLib.glib_ref(_second)
        ret = ccall(("gtk_alternative_trigger_new", libgtk4), Ptr{GObject}, (Ptr{GObject}, Ptr{GObject}), _first, _second)
        ret2 = GtkAlternativeTriggerLeaf(ret, true)
        ret2
    end
    function get_first(instance::GtkAlternativeTrigger)
        ret = ccall(("gtk_alternative_trigger_get_first", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GtkShortcutTrigger, ret, false)
        ret2
    end
    function get_second(instance::GtkAlternativeTrigger)
        ret = ccall(("gtk_alternative_trigger_get_second", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GtkShortcutTrigger, ret, false)
        ret2
    end
    function AnyFilter_new()
        ret = ccall(("gtk_any_filter_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkAnyFilterLeaf(ret, true)
        ret2
    end
    function get_item_type(instance::GtkAnyFilter)
        get_item_type(GListModel(instance))
    end
    function get_n_items(instance::GtkAnyFilter)
        get_n_items(GListModel(instance))
    end
    function get_item(instance::GtkAnyFilter, _position::Integer)
        get_item(GListModel(instance), _position)
    end
    function items_changed(instance::GtkAnyFilter, _position::Integer, _removed::Integer, _added::Integer)
        items_changed(GListModel(instance), _position, _removed, _added)
    end
    function get_buildable_id(instance::GtkAnyFilter)
        get_buildable_id(GtkBuildable(instance))
    end
    function AppChooserButton_new(_content_type::Union{AbstractString, Symbol})
        ret = ccall(("gtk_app_chooser_button_new", libgtk4), Ptr{GObject}, (Cstring,), _content_type)
        ret2 = GtkAppChooserButtonLeaf(ret, false)
        ret2
    end
    function append_custom_item(instance::GtkAppChooserButton, _name::Union{AbstractString, Symbol}, _label::Union{AbstractString, Symbol}, _icon::GIcon)
        ret = ccall(("gtk_app_chooser_button_append_custom_item", libgtk4), Nothing, (Ptr{GObject}, Cstring, Cstring, Ptr{GObject}), instance, _name, _label, _icon)
        nothing
    end
    function append_separator(instance::GtkAppChooserButton)
        ret = ccall(("gtk_app_chooser_button_append_separator", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function get_heading(instance::GtkAppChooserButton)
        ret = ccall(("gtk_app_chooser_button_get_heading", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_modal(instance::GtkAppChooserButton)
        ret = ccall(("gtk_app_chooser_button_get_modal", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_show_default_item(instance::GtkAppChooserButton)
        ret = ccall(("gtk_app_chooser_button_get_show_default_item", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_show_dialog_item(instance::GtkAppChooserButton)
        ret = ccall(("gtk_app_chooser_button_get_show_dialog_item", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_active_custom_item(instance::GtkAppChooserButton, _name::Union{AbstractString, Symbol})
        ret = ccall(("gtk_app_chooser_button_set_active_custom_item", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _name)
        nothing
    end
    function set_heading(instance::GtkAppChooserButton, _heading::Union{AbstractString, Symbol})
        ret = ccall(("gtk_app_chooser_button_set_heading", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _heading)
        nothing
    end
    function set_modal(instance::GtkAppChooserButton, _modal::Bool)
        ret = ccall(("gtk_app_chooser_button_set_modal", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _modal)
        nothing
    end
    function set_show_default_item(instance::GtkAppChooserButton, _setting::Bool)
        ret = ccall(("gtk_app_chooser_button_set_show_default_item", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _setting)
        nothing
    end
    function set_show_dialog_item(instance::GtkAppChooserButton, _setting::Bool)
        ret = ccall(("gtk_app_chooser_button_set_show_dialog_item", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _setting)
        nothing
    end
    function announce(instance::GtkAppChooserButton, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkAppChooserButton)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkAppChooserButton)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkAppChooserButton)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkAppChooserButton)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkAppChooserButton)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkAppChooserButton)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkAppChooserButton, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkAppChooserButton, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkAppChooserButton, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkAppChooserButton, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkAppChooserButton, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkAppChooserButton, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkAppChooserButton, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkAppChooserButton, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkAppChooserButton, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_app_info(instance::GtkAppChooserButton)
        get_app_info(GtkAppChooser(instance))
    end
    function get_content_type(instance::GtkAppChooserButton)
        get_content_type(GtkAppChooser(instance))
    end
    function refresh(instance::GtkAppChooserButton)
        refresh(GtkAppChooser(instance))
    end
    function get_buildable_id(instance::GtkAppChooserButton)
        get_buildable_id(GtkBuildable(instance))
    end
    function AppChooserDialog_new(_parent::Maybe(GtkWindow), _flags, _file::GFile)
        _parent_maybe = nothing_to_null(_parent)
        ret = ccall(("gtk_app_chooser_dialog_new", libgtk4), Ptr{GObject}, (Ptr{GObject}, UInt32, Ptr{GObject}), _parent_maybe, _flags, _file)
        ret2 = GtkAppChooserDialogLeaf(ret, false)
        ret2
    end
    function AppChooserDialog_new_for_content_type(_parent::Maybe(GtkWindow), _flags, _content_type::Union{AbstractString, Symbol})
        _parent_maybe = nothing_to_null(_parent)
        ret = ccall(("gtk_app_chooser_dialog_new_for_content_type", libgtk4), Ptr{GObject}, (Ptr{GObject}, UInt32, Cstring), _parent_maybe, _flags, _content_type)
        ret2 = GtkAppChooserDialogLeaf(ret, false)
        ret2
    end
    function get_heading(instance::GtkAppChooserDialog)
        ret = ccall(("gtk_app_chooser_dialog_get_heading", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_widget(instance::GtkAppChooserDialog)
        ret = ccall(("gtk_app_chooser_dialog_get_widget", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GtkWidget, ret, false)
        ret2
    end
    function set_heading(instance::GtkAppChooserDialog, _heading::Union{AbstractString, Symbol})
        ret = ccall(("gtk_app_chooser_dialog_set_heading", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _heading)
        nothing
    end
    function announce(instance::GtkAppChooserDialog, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkAppChooserDialog)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkAppChooserDialog)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkAppChooserDialog)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkAppChooserDialog)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkAppChooserDialog)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkAppChooserDialog)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkAppChooserDialog, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkAppChooserDialog, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkAppChooserDialog, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkAppChooserDialog, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkAppChooserDialog, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkAppChooserDialog, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkAppChooserDialog, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkAppChooserDialog, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkAppChooserDialog, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_app_info(instance::GtkAppChooserDialog)
        get_app_info(GtkAppChooser(instance))
    end
    function get_content_type(instance::GtkAppChooserDialog)
        get_content_type(GtkAppChooser(instance))
    end
    function refresh(instance::GtkAppChooserDialog)
        refresh(GtkAppChooser(instance))
    end
    function get_buildable_id(instance::GtkAppChooserDialog)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_renderer(instance::GtkAppChooserDialog)
        get_renderer(GtkNative(instance))
    end
    function get_surface(instance::GtkAppChooserDialog)
        get_surface(GtkNative(instance))
    end
    function get_surface_transform(instance::GtkAppChooserDialog)
        get_surface_transform(GtkNative(instance))
    end
    function realize(instance::GtkAppChooserDialog)
        realize(GtkNative(instance))
    end
    function unrealize(instance::GtkAppChooserDialog)
        unrealize(GtkNative(instance))
    end
    function get_display(instance::GtkAppChooserDialog)
        get_display(GtkRoot(instance))
    end
    function get_focus(instance::GtkAppChooserDialog)
        get_focus(GtkRoot(instance))
    end
    function set_focus(instance::GtkAppChooserDialog, _focus::Maybe(GtkWidget))
        set_focus(GtkRoot(instance), _focus)
    end
    function AppChooserWidget_new(_content_type::Union{AbstractString, Symbol})
        ret = ccall(("gtk_app_chooser_widget_new", libgtk4), Ptr{GObject}, (Cstring,), _content_type)
        ret2 = GtkAppChooserWidgetLeaf(ret, false)
        ret2
    end
    function get_default_text(instance::GtkAppChooserWidget)
        ret = ccall(("gtk_app_chooser_widget_get_default_text", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_show_all(instance::GtkAppChooserWidget)
        ret = ccall(("gtk_app_chooser_widget_get_show_all", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_show_default(instance::GtkAppChooserWidget)
        ret = ccall(("gtk_app_chooser_widget_get_show_default", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_show_fallback(instance::GtkAppChooserWidget)
        ret = ccall(("gtk_app_chooser_widget_get_show_fallback", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_show_other(instance::GtkAppChooserWidget)
        ret = ccall(("gtk_app_chooser_widget_get_show_other", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_show_recommended(instance::GtkAppChooserWidget)
        ret = ccall(("gtk_app_chooser_widget_get_show_recommended", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_default_text(instance::GtkAppChooserWidget, _text::Union{AbstractString, Symbol})
        ret = ccall(("gtk_app_chooser_widget_set_default_text", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _text)
        nothing
    end
    function set_show_all(instance::GtkAppChooserWidget, _setting::Bool)
        ret = ccall(("gtk_app_chooser_widget_set_show_all", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _setting)
        nothing
    end
    function set_show_default(instance::GtkAppChooserWidget, _setting::Bool)
        ret = ccall(("gtk_app_chooser_widget_set_show_default", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _setting)
        nothing
    end
    function set_show_fallback(instance::GtkAppChooserWidget, _setting::Bool)
        ret = ccall(("gtk_app_chooser_widget_set_show_fallback", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _setting)
        nothing
    end
    function set_show_other(instance::GtkAppChooserWidget, _setting::Bool)
        ret = ccall(("gtk_app_chooser_widget_set_show_other", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _setting)
        nothing
    end
    function set_show_recommended(instance::GtkAppChooserWidget, _setting::Bool)
        ret = ccall(("gtk_app_chooser_widget_set_show_recommended", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _setting)
        nothing
    end
    function announce(instance::GtkAppChooserWidget, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkAppChooserWidget)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkAppChooserWidget)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkAppChooserWidget)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkAppChooserWidget)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkAppChooserWidget)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkAppChooserWidget)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkAppChooserWidget, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkAppChooserWidget, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkAppChooserWidget, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkAppChooserWidget, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkAppChooserWidget, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkAppChooserWidget, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkAppChooserWidget, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkAppChooserWidget, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkAppChooserWidget, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_app_info(instance::GtkAppChooserWidget)
        get_app_info(GtkAppChooser(instance))
    end
    function get_content_type(instance::GtkAppChooserWidget)
        get_content_type(GtkAppChooser(instance))
    end
    function refresh(instance::GtkAppChooserWidget)
        refresh(GtkAppChooser(instance))
    end
    function get_buildable_id(instance::GtkAppChooserWidget)
        get_buildable_id(GtkBuildable(instance))
    end
    function Application_new(_application_id::Maybe(Union{AbstractString, Symbol}), _flags)
        _application_id_maybe = nothing_to_null(_application_id)
        ret = ccall(("gtk_application_new", libgtk4), Ptr{GObject}, (Cstring, UInt32), _application_id_maybe, _flags)
        ret2 = GtkApplicationLeaf(ret, true)
        ret2
    end
    function add_window(instance::GtkApplication, _window::GtkWindow)
        ret = ccall(("gtk_application_add_window", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _window)
        nothing
    end
    function get_accels_for_action(instance::GtkApplication, _detailed_action_name::Union{AbstractString, Symbol})
        ret = ccall(("gtk_application_get_accels_for_action", libgtk4), Ptr{Cstring}, (Ptr{GObject}, Cstring), instance, _detailed_action_name)
        ret2 = begin
                _len = length_zt(ret)
                arrtemp = bytestring.(unsafe_wrap(Vector{Cstring}, ret, _len))
                GLib.g_strfreev(ret)
                arrtemp
            end
        ret2
    end
    function get_actions_for_accel(instance::GtkApplication, _accel::Union{AbstractString, Symbol})
        ret = ccall(("gtk_application_get_actions_for_accel", libgtk4), Ptr{Cstring}, (Ptr{GObject}, Cstring), instance, _accel)
        ret2 = begin
                _len = length_zt(ret)
                arrtemp = bytestring.(unsafe_wrap(Vector{Cstring}, ret, _len))
                GLib.g_strfreev(ret)
                arrtemp
            end
        ret2
    end
    function get_active_window(instance::GtkApplication)
        ret = ccall(("gtk_application_get_active_window", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWindow, ret, false)
        ret2
    end
    function get_menu_by_id(instance::GtkApplication, _id::Union{AbstractString, Symbol})
        ret = ccall(("gtk_application_get_menu_by_id", libgtk4), Ptr{GObject}, (Ptr{GObject}, Cstring), instance, _id)
        ret2 = convert_if_not_null(GMenu, ret, false)
        ret2
    end
    function get_menubar(instance::GtkApplication)
        ret = ccall(("gtk_application_get_menubar", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GMenuModel, ret, false)
        ret2
    end
    function get_window_by_id(instance::GtkApplication, _id::Integer)
        ret = ccall(("gtk_application_get_window_by_id", libgtk4), Ptr{GObject}, (Ptr{GObject}, UInt32), instance, _id)
        ret2 = convert_if_not_null(GtkWindow, ret, false)
        ret2
    end
    function get_windows(instance::GtkApplication)
        ret = ccall(("gtk_application_get_windows", libgtk4), Ptr{GLib._GList{Ptr{GObject}}}, (Ptr{GObject},), instance)
        ret2 = GLib.GList(ret, false, false)
        ret2
    end
    function inhibit(instance::GtkApplication, _window::Maybe(GtkWindow), _flags, _reason::Maybe(Union{AbstractString, Symbol}))
        _window_maybe = nothing_to_null(_window)
        _reason_maybe = nothing_to_null(_reason)
        ret = ccall(("gtk_application_inhibit", libgtk4), UInt32, (Ptr{GObject}, Ptr{GObject}, UInt32, Cstring), instance, _window_maybe, _flags, _reason_maybe)
        ret
    end
    function list_action_descriptions(instance::GtkApplication)
        ret = ccall(("gtk_application_list_action_descriptions", libgtk4), Ptr{Cstring}, (Ptr{GObject},), instance)
        ret2 = begin
                _len = length_zt(ret)
                arrtemp = bytestring.(unsafe_wrap(Vector{Cstring}, ret, _len))
                GLib.g_strfreev(ret)
                arrtemp
            end
        ret2
    end
    function remove_window(instance::GtkApplication, _window::GtkWindow)
        ret = ccall(("gtk_application_remove_window", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _window)
        nothing
    end
    function set_accels_for_action(instance::GtkApplication, _detailed_action_name::Union{AbstractString, Symbol}, _accels)
        ret = ccall(("gtk_application_set_accels_for_action", libgtk4), Nothing, (Ptr{GObject}, Cstring, Ptr{Cstring}), instance, _detailed_action_name, _accels)
        nothing
    end
    function set_menubar(instance::GtkApplication, _menubar::Maybe(GMenuModel))
        _menubar_maybe = nothing_to_null(_menubar)
        ret = ccall(("gtk_application_set_menubar", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _menubar_maybe)
        nothing
    end
    function uninhibit(instance::GtkApplication, _cookie::Integer)
        ret = ccall(("gtk_application_uninhibit", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _cookie)
        nothing
    end
    function action_added(instance::GtkApplication, _action_name::Union{AbstractString, Symbol})
        action_added(GActionGroup(instance), _action_name)
    end
    function action_enabled_changed(instance::GtkApplication, _action_name::Union{AbstractString, Symbol}, _enabled::Bool)
        action_enabled_changed(GActionGroup(instance), _action_name, _enabled)
    end
    function action_removed(instance::GtkApplication, _action_name::Union{AbstractString, Symbol})
        action_removed(GActionGroup(instance), _action_name)
    end
    function action_state_changed(instance::GtkApplication, _action_name::Union{AbstractString, Symbol}, _state::GVariant)
        action_state_changed(GActionGroup(instance), _action_name, _state)
    end
    function activate_action(instance::GtkApplication, _action_name::Union{AbstractString, Symbol}, _parameter::Maybe(GVariant))
        activate_action(GActionGroup(instance), _action_name, _parameter)
    end
    function change_action_state(instance::GtkApplication, _action_name::Union{AbstractString, Symbol}, _value::GVariant)
        change_action_state(GActionGroup(instance), _action_name, _value)
    end
    function get_action_enabled(instance::GtkApplication, _action_name::Union{AbstractString, Symbol})
        get_action_enabled(GActionGroup(instance), _action_name)
    end
    function get_action_parameter_type(instance::GtkApplication, _action_name::Union{AbstractString, Symbol})
        get_action_parameter_type(GActionGroup(instance), _action_name)
    end
    function get_action_state(instance::GtkApplication, _action_name::Union{AbstractString, Symbol})
        get_action_state(GActionGroup(instance), _action_name)
    end
    function get_action_state_hint(instance::GtkApplication, _action_name::Union{AbstractString, Symbol})
        get_action_state_hint(GActionGroup(instance), _action_name)
    end
    function get_action_state_type(instance::GtkApplication, _action_name::Union{AbstractString, Symbol})
        get_action_state_type(GActionGroup(instance), _action_name)
    end
    function has_action(instance::GtkApplication, _action_name::Union{AbstractString, Symbol})
        has_action(GActionGroup(instance), _action_name)
    end
    function list_actions(instance::GtkApplication)
        list_actions(GActionGroup(instance))
    end
    function query_action(instance::GtkApplication, _action_name::Union{AbstractString, Symbol})
        query_action(GActionGroup(instance), _action_name)
    end
    function add_action(instance::GtkApplication, _action::GAction)
        add_action(GActionMap(instance), _action)
    end
    function add_action_entries(instance::GtkApplication, _entries, _user_data::Maybe(Nothing))
        add_action_entries(GActionMap(instance), _entries, _user_data)
    end
    function lookup_action(instance::GtkApplication, _action_name::Union{AbstractString, Symbol})
        lookup_action(GActionMap(instance), _action_name)
    end
    function remove_action(instance::GtkApplication, _action_name::Union{AbstractString, Symbol})
        remove_action(GActionMap(instance), _action_name)
    end
    function remove_action_entries(instance::GtkApplication, _entries)
        remove_action_entries(GActionMap(instance), _entries)
    end
    function ApplicationWindow_new(_application::GtkApplication)
        ret = ccall(("gtk_application_window_new", libgtk4), Ptr{GObject}, (Ptr{GObject},), _application)
        ret2 = GtkApplicationWindowLeaf(ret, false)
        ret2
    end
    function get_help_overlay(instance::GtkApplicationWindow)
        ret = ccall(("gtk_application_window_get_help_overlay", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkShortcutsWindow, ret, false)
        ret2
    end
    function get_id(instance::GtkApplicationWindow)
        ret = ccall(("gtk_application_window_get_id", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function get_show_menubar(instance::GtkApplicationWindow)
        ret = ccall(("gtk_application_window_get_show_menubar", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_help_overlay(instance::GtkApplicationWindow, _help_overlay::Maybe(GtkShortcutsWindow))
        _help_overlay_maybe = nothing_to_null(_help_overlay)
        ret = ccall(("gtk_application_window_set_help_overlay", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _help_overlay_maybe)
        nothing
    end
    function set_show_menubar(instance::GtkApplicationWindow, _show_menubar::Bool)
        ret = ccall(("gtk_application_window_set_show_menubar", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _show_menubar)
        nothing
    end
    function action_added(instance::GtkApplicationWindow, _action_name::Union{AbstractString, Symbol})
        action_added(GActionGroup(instance), _action_name)
    end
    function action_enabled_changed(instance::GtkApplicationWindow, _action_name::Union{AbstractString, Symbol}, _enabled::Bool)
        action_enabled_changed(GActionGroup(instance), _action_name, _enabled)
    end
    function action_removed(instance::GtkApplicationWindow, _action_name::Union{AbstractString, Symbol})
        action_removed(GActionGroup(instance), _action_name)
    end
    function action_state_changed(instance::GtkApplicationWindow, _action_name::Union{AbstractString, Symbol}, _state::GVariant)
        action_state_changed(GActionGroup(instance), _action_name, _state)
    end
    function activate_action(instance::GtkApplicationWindow, _action_name::Union{AbstractString, Symbol}, _parameter::Maybe(GVariant))
        activate_action(GActionGroup(instance), _action_name, _parameter)
    end
    function change_action_state(instance::GtkApplicationWindow, _action_name::Union{AbstractString, Symbol}, _value::GVariant)
        change_action_state(GActionGroup(instance), _action_name, _value)
    end
    function get_action_enabled(instance::GtkApplicationWindow, _action_name::Union{AbstractString, Symbol})
        get_action_enabled(GActionGroup(instance), _action_name)
    end
    function get_action_parameter_type(instance::GtkApplicationWindow, _action_name::Union{AbstractString, Symbol})
        get_action_parameter_type(GActionGroup(instance), _action_name)
    end
    function get_action_state(instance::GtkApplicationWindow, _action_name::Union{AbstractString, Symbol})
        get_action_state(GActionGroup(instance), _action_name)
    end
    function get_action_state_hint(instance::GtkApplicationWindow, _action_name::Union{AbstractString, Symbol})
        get_action_state_hint(GActionGroup(instance), _action_name)
    end
    function get_action_state_type(instance::GtkApplicationWindow, _action_name::Union{AbstractString, Symbol})
        get_action_state_type(GActionGroup(instance), _action_name)
    end
    function has_action(instance::GtkApplicationWindow, _action_name::Union{AbstractString, Symbol})
        has_action(GActionGroup(instance), _action_name)
    end
    function list_actions(instance::GtkApplicationWindow)
        list_actions(GActionGroup(instance))
    end
    function query_action(instance::GtkApplicationWindow, _action_name::Union{AbstractString, Symbol})
        query_action(GActionGroup(instance), _action_name)
    end
    function add_action(instance::GtkApplicationWindow, _action::GAction)
        add_action(GActionMap(instance), _action)
    end
    function add_action_entries(instance::GtkApplicationWindow, _entries, _user_data::Maybe(Nothing))
        add_action_entries(GActionMap(instance), _entries, _user_data)
    end
    function lookup_action(instance::GtkApplicationWindow, _action_name::Union{AbstractString, Symbol})
        lookup_action(GActionMap(instance), _action_name)
    end
    function remove_action(instance::GtkApplicationWindow, _action_name::Union{AbstractString, Symbol})
        remove_action(GActionMap(instance), _action_name)
    end
    function remove_action_entries(instance::GtkApplicationWindow, _entries)
        remove_action_entries(GActionMap(instance), _entries)
    end
    function announce(instance::GtkApplicationWindow, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkApplicationWindow)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkApplicationWindow)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkApplicationWindow)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkApplicationWindow)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkApplicationWindow)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkApplicationWindow)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkApplicationWindow, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkApplicationWindow, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkApplicationWindow, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkApplicationWindow, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkApplicationWindow, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkApplicationWindow, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkApplicationWindow, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkApplicationWindow, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkApplicationWindow, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkApplicationWindow)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_renderer(instance::GtkApplicationWindow)
        get_renderer(GtkNative(instance))
    end
    function get_surface(instance::GtkApplicationWindow)
        get_surface(GtkNative(instance))
    end
    function get_surface_transform(instance::GtkApplicationWindow)
        get_surface_transform(GtkNative(instance))
    end
    function realize(instance::GtkApplicationWindow)
        realize(GtkNative(instance))
    end
    function unrealize(instance::GtkApplicationWindow)
        unrealize(GtkNative(instance))
    end
    function get_display(instance::GtkApplicationWindow)
        get_display(GtkRoot(instance))
    end
    function get_focus(instance::GtkApplicationWindow)
        get_focus(GtkRoot(instance))
    end
    function set_focus(instance::GtkApplicationWindow, _focus::Maybe(GtkWidget))
        set_focus(GtkRoot(instance), _focus)
    end
    function AspectFrame_new(_xalign::Real, _yalign::Real, _ratio::Real, _obey_child::Bool)
        ret = ccall(("gtk_aspect_frame_new", libgtk4), Ptr{GObject}, (Float32, Float32, Float32, Cint), _xalign, _yalign, _ratio, _obey_child)
        ret2 = GtkAspectFrameLeaf(ret, false)
        ret2
    end
    function get_child(instance::GtkAspectFrame)
        ret = ccall(("gtk_aspect_frame_get_child", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_obey_child(instance::GtkAspectFrame)
        ret = ccall(("gtk_aspect_frame_get_obey_child", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_ratio(instance::GtkAspectFrame)
        ret = ccall(("gtk_aspect_frame_get_ratio", libgtk4), Float32, (Ptr{GObject},), instance)
        ret
    end
    function get_xalign(instance::GtkAspectFrame)
        ret = ccall(("gtk_aspect_frame_get_xalign", libgtk4), Float32, (Ptr{GObject},), instance)
        ret
    end
    function get_yalign(instance::GtkAspectFrame)
        ret = ccall(("gtk_aspect_frame_get_yalign", libgtk4), Float32, (Ptr{GObject},), instance)
        ret
    end
    function set_child(instance::GtkAspectFrame, _child::Maybe(GtkWidget))
        _child_maybe = nothing_to_null(_child)
        ret = ccall(("gtk_aspect_frame_set_child", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child_maybe)
        nothing
    end
    function set_obey_child(instance::GtkAspectFrame, _obey_child::Bool)
        ret = ccall(("gtk_aspect_frame_set_obey_child", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _obey_child)
        nothing
    end
    function set_ratio(instance::GtkAspectFrame, _ratio::Real)
        ret = ccall(("gtk_aspect_frame_set_ratio", libgtk4), Nothing, (Ptr{GObject}, Float32), instance, _ratio)
        nothing
    end
    function set_xalign(instance::GtkAspectFrame, _xalign::Real)
        ret = ccall(("gtk_aspect_frame_set_xalign", libgtk4), Nothing, (Ptr{GObject}, Float32), instance, _xalign)
        nothing
    end
    function set_yalign(instance::GtkAspectFrame, _yalign::Real)
        ret = ccall(("gtk_aspect_frame_set_yalign", libgtk4), Nothing, (Ptr{GObject}, Float32), instance, _yalign)
        nothing
    end
    function announce(instance::GtkAspectFrame, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkAspectFrame)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkAspectFrame)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkAspectFrame)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkAspectFrame)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkAspectFrame)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkAspectFrame)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkAspectFrame, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkAspectFrame, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkAspectFrame, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkAspectFrame, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkAspectFrame, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkAspectFrame, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkAspectFrame, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkAspectFrame, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkAspectFrame, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkAspectFrame)
        get_buildable_id(GtkBuildable(instance))
    end
    function Assistant_new()
        ret = ccall(("gtk_assistant_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkAssistantLeaf(ret, false)
        ret2
    end
    function add_action_widget(instance::GtkAssistant, _child::GtkWidget)
        ret = ccall(("gtk_assistant_add_action_widget", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child)
        nothing
    end
    function append_page(instance::GtkAssistant, _page::GtkWidget)
        ret = ccall(("gtk_assistant_append_page", libgtk4), Int32, (Ptr{GObject}, Ptr{GObject}), instance, _page)
        ret
    end
    function commit(instance::GtkAssistant)
        ret = ccall(("gtk_assistant_commit", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function get_current_page(instance::GtkAssistant)
        ret = ccall(("gtk_assistant_get_current_page", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_n_pages(instance::GtkAssistant)
        ret = ccall(("gtk_assistant_get_n_pages", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_nth_page(instance::GtkAssistant, _page_num::Integer)
        ret = ccall(("gtk_assistant_get_nth_page", libgtk4), Ptr{GObject}, (Ptr{GObject}, Int32), instance, _page_num)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_page(instance::GtkAssistant, _child::GtkWidget)
        ret = ccall(("gtk_assistant_get_page", libgtk4), Ptr{GObject}, (Ptr{GObject}, Ptr{GObject}), instance, _child)
        ret2 = convert(GtkAssistantPage, ret, false)
        ret2
    end
    function get_page_complete(instance::GtkAssistant, _page::GtkWidget)
        ret = ccall(("gtk_assistant_get_page_complete", libgtk4), Cint, (Ptr{GObject}, Ptr{GObject}), instance, _page)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_page_title(instance::GtkAssistant, _page::GtkWidget)
        ret = ccall(("gtk_assistant_get_page_title", libgtk4), Cstring, (Ptr{GObject}, Ptr{GObject}), instance, _page)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_page_type(instance::GtkAssistant, _page::GtkWidget)
        ret = ccall(("gtk_assistant_get_page_type", libgtk4), UInt32, (Ptr{GObject}, Ptr{GObject}), instance, _page)
        ret2 = AssistantPageType(ret)
        ret2
    end
    function get_pages(instance::GtkAssistant)
        ret = ccall(("gtk_assistant_get_pages", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = begin
                leaftype = GLib.find_leaf_type(ret)
                convert(leaftype, ret, true)
            end
        ret2
    end
    function insert_page(instance::GtkAssistant, _page::GtkWidget, _position::Integer)
        ret = ccall(("gtk_assistant_insert_page", libgtk4), Int32, (Ptr{GObject}, Ptr{GObject}, Int32), instance, _page, _position)
        ret
    end
    function next_page(instance::GtkAssistant)
        ret = ccall(("gtk_assistant_next_page", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function prepend_page(instance::GtkAssistant, _page::GtkWidget)
        ret = ccall(("gtk_assistant_prepend_page", libgtk4), Int32, (Ptr{GObject}, Ptr{GObject}), instance, _page)
        ret
    end
    function previous_page(instance::GtkAssistant)
        ret = ccall(("gtk_assistant_previous_page", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function remove_action_widget(instance::GtkAssistant, _child::GtkWidget)
        ret = ccall(("gtk_assistant_remove_action_widget", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child)
        nothing
    end
    function remove_page(instance::GtkAssistant, _page_num::Integer)
        ret = ccall(("gtk_assistant_remove_page", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _page_num)
        nothing
    end
    function set_current_page(instance::GtkAssistant, _page_num::Integer)
        ret = ccall(("gtk_assistant_set_current_page", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _page_num)
        nothing
    end
    function set_page_complete(instance::GtkAssistant, _page::GtkWidget, _complete::Bool)
        ret = ccall(("gtk_assistant_set_page_complete", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Cint), instance, _page, _complete)
        nothing
    end
    function set_page_title(instance::GtkAssistant, _page::GtkWidget, _title::Union{AbstractString, Symbol})
        ret = ccall(("gtk_assistant_set_page_title", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Cstring), instance, _page, _title)
        nothing
    end
    function set_page_type(instance::GtkAssistant, _page::GtkWidget, _type)
        ret = ccall(("gtk_assistant_set_page_type", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, UInt32), instance, _page, _type)
        nothing
    end
    function update_buttons_state(instance::GtkAssistant)
        ret = ccall(("gtk_assistant_update_buttons_state", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function announce(instance::GtkAssistant, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkAssistant)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkAssistant)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkAssistant)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkAssistant)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkAssistant)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkAssistant)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkAssistant, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkAssistant, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkAssistant, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkAssistant, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkAssistant, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkAssistant, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkAssistant, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkAssistant, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkAssistant, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkAssistant)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_renderer(instance::GtkAssistant)
        get_renderer(GtkNative(instance))
    end
    function get_surface(instance::GtkAssistant)
        get_surface(GtkNative(instance))
    end
    function get_surface_transform(instance::GtkAssistant)
        get_surface_transform(GtkNative(instance))
    end
    function realize(instance::GtkAssistant)
        realize(GtkNative(instance))
    end
    function unrealize(instance::GtkAssistant)
        unrealize(GtkNative(instance))
    end
    function get_display(instance::GtkAssistant)
        get_display(GtkRoot(instance))
    end
    function get_focus(instance::GtkAssistant)
        get_focus(GtkRoot(instance))
    end
    function set_focus(instance::GtkAssistant, _focus::Maybe(GtkWidget))
        set_focus(GtkRoot(instance), _focus)
    end
    function get_child(instance::GtkAssistantPage)
        ret = ccall(("gtk_assistant_page_get_child", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GtkWidget, ret, false)
        ret2
    end
    function BinLayout_new()
        ret = ccall(("gtk_bin_layout_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkBinLayoutLeaf(ret, true)
        ret2
    end
    function BookmarkList_new(_filename::Maybe(Union{AbstractString, Symbol}), _attributes::Maybe(Union{AbstractString, Symbol}))
        _filename_maybe = nothing_to_null(_filename)
        _attributes_maybe = nothing_to_null(_attributes)
        ret = ccall(("gtk_bookmark_list_new", libgtk4), Ptr{GObject}, (Cstring, Cstring), _filename_maybe, _attributes_maybe)
        ret2 = GtkBookmarkListLeaf(ret, true)
        ret2
    end
    function get_attributes(instance::GtkBookmarkList)
        ret = ccall(("gtk_bookmark_list_get_attributes", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_filename(instance::GtkBookmarkList)
        ret = ccall(("gtk_bookmark_list_get_filename", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_io_priority(instance::GtkBookmarkList)
        ret = ccall(("gtk_bookmark_list_get_io_priority", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function is_loading(instance::GtkBookmarkList)
        ret = ccall(("gtk_bookmark_list_is_loading", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_attributes(instance::GtkBookmarkList, _attributes::Maybe(Union{AbstractString, Symbol}))
        _attributes_maybe = nothing_to_null(_attributes)
        ret = ccall(("gtk_bookmark_list_set_attributes", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _attributes_maybe)
        nothing
    end
    function set_io_priority(instance::GtkBookmarkList, _io_priority::Integer)
        ret = ccall(("gtk_bookmark_list_set_io_priority", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _io_priority)
        nothing
    end
    function get_item_type(instance::GtkBookmarkList)
        get_item_type(GListModel(instance))
    end
    function get_n_items(instance::GtkBookmarkList)
        get_n_items(GListModel(instance))
    end
    function get_item(instance::GtkBookmarkList, _position::Integer)
        get_item(GListModel(instance), _position)
    end
    function items_changed(instance::GtkBookmarkList, _position::Integer, _removed::Integer, _added::Integer)
        items_changed(GListModel(instance), _position, _removed, _added)
    end
    function BoolFilter_new(_expression::Maybe(GtkExpression))
        _expression_maybe = nothing_to_null(_expression)
        ret = ccall(("gtk_bool_filter_new", libgtk4), Ptr{GObject}, (Ptr{GtkExpression},), _expression_maybe)
        ret2 = GtkBoolFilterLeaf(ret, true)
        ret2
    end
    function get_expression(instance::GtkBoolFilter)
        ret = ccall(("gtk_bool_filter_get_expression", libgtk4), Ptr{GtkExpression}, (Ptr{GObject},), instance)
        ret2 = convert(GtkExpression, ret)
        ret2
    end
    function get_invert(instance::GtkBoolFilter)
        ret = ccall(("gtk_bool_filter_get_invert", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_expression(instance::GtkBoolFilter, _expression::Maybe(GtkExpression))
        _expression_maybe = nothing_to_null(_expression)
        ret = ccall(("gtk_bool_filter_set_expression", libgtk4), Nothing, (Ptr{GObject}, Ptr{GtkExpression}), instance, _expression_maybe)
        nothing
    end
    function set_invert(instance::GtkBoolFilter, _invert::Bool)
        ret = ccall(("gtk_bool_filter_set_invert", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _invert)
        nothing
    end
    function Box_new(_orientation, _spacing::Integer)
        ret = ccall(("gtk_box_new", libgtk4), Ptr{GObject}, (UInt32, Int32), _orientation, _spacing)
        ret2 = GtkBoxLeaf(ret, false)
        ret2
    end
    function append(instance::GtkBox, _child::GtkWidget)
        ret = ccall(("gtk_box_append", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child)
        nothing
    end
    function get_baseline_child(instance::GtkBox)
        ret = ccall(("gtk_box_get_baseline_child", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_baseline_position(instance::GtkBox)
        ret = ccall(("gtk_box_get_baseline_position", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = BaselinePosition(ret)
        ret2
    end
    function get_homogeneous(instance::GtkBox)
        ret = ccall(("gtk_box_get_homogeneous", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_spacing(instance::GtkBox)
        ret = ccall(("gtk_box_get_spacing", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function insert_child_after(instance::GtkBox, _child::GtkWidget, _sibling::Maybe(GtkWidget))
        _sibling_maybe = nothing_to_null(_sibling)
        ret = ccall(("gtk_box_insert_child_after", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{GObject}), instance, _child, _sibling_maybe)
        nothing
    end
    function prepend(instance::GtkBox, _child::GtkWidget)
        ret = ccall(("gtk_box_prepend", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child)
        nothing
    end
    function remove(instance::GtkBox, _child::GtkWidget)
        ret = ccall(("gtk_box_remove", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child)
        nothing
    end
    function reorder_child_after(instance::GtkBox, _child::GtkWidget, _sibling::Maybe(GtkWidget))
        _sibling_maybe = nothing_to_null(_sibling)
        ret = ccall(("gtk_box_reorder_child_after", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{GObject}), instance, _child, _sibling_maybe)
        nothing
    end
    function set_baseline_child(instance::GtkBox, _child::Integer)
        ret = ccall(("gtk_box_set_baseline_child", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _child)
        nothing
    end
    function set_baseline_position(instance::GtkBox, _position)
        ret = ccall(("gtk_box_set_baseline_position", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _position)
        nothing
    end
    function set_homogeneous(instance::GtkBox, _homogeneous::Bool)
        ret = ccall(("gtk_box_set_homogeneous", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _homogeneous)
        nothing
    end
    function set_spacing(instance::GtkBox, _spacing::Integer)
        ret = ccall(("gtk_box_set_spacing", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _spacing)
        nothing
    end
    function announce(instance::GtkBox, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkBox)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkBox)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkBox)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkBox)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkBox)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkBox)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkBox, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkBox, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkBox, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkBox, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkBox, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkBox, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkBox, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkBox, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkBox, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkBox)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_orientation(instance::GtkBox)
        get_orientation(GtkOrientable(instance))
    end
    function set_orientation(instance::GtkBox, _orientation)
        set_orientation(GtkOrientable(instance), _orientation)
    end
    function BoxLayout_new(_orientation)
        ret = ccall(("gtk_box_layout_new", libgtk4), Ptr{GObject}, (UInt32,), _orientation)
        ret2 = GtkBoxLayoutLeaf(ret, true)
        ret2
    end
    function get_baseline_child(instance::GtkBoxLayout)
        ret = ccall(("gtk_box_layout_get_baseline_child", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_baseline_position(instance::GtkBoxLayout)
        ret = ccall(("gtk_box_layout_get_baseline_position", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = BaselinePosition(ret)
        ret2
    end
    function get_homogeneous(instance::GtkBoxLayout)
        ret = ccall(("gtk_box_layout_get_homogeneous", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_spacing(instance::GtkBoxLayout)
        ret = ccall(("gtk_box_layout_get_spacing", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function set_baseline_child(instance::GtkBoxLayout, _child::Integer)
        ret = ccall(("gtk_box_layout_set_baseline_child", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _child)
        nothing
    end
    function set_baseline_position(instance::GtkBoxLayout, _position)
        ret = ccall(("gtk_box_layout_set_baseline_position", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _position)
        nothing
    end
    function set_homogeneous(instance::GtkBoxLayout, _homogeneous::Bool)
        ret = ccall(("gtk_box_layout_set_homogeneous", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _homogeneous)
        nothing
    end
    function set_spacing(instance::GtkBoxLayout, _spacing::Integer)
        ret = ccall(("gtk_box_layout_set_spacing", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _spacing)
        nothing
    end
    function get_orientation(instance::GtkBoxLayout)
        get_orientation(GtkOrientable(instance))
    end
    function set_orientation(instance::GtkBoxLayout, _orientation)
        set_orientation(GtkOrientable(instance), _orientation)
    end
    function Builder_new()
        ret = ccall(("gtk_builder_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkBuilderLeaf(ret, true)
        ret2
    end
    function Builder_new_from_file(_filename::Union{AbstractString, Symbol})
        ret = ccall(("gtk_builder_new_from_file", libgtk4), Ptr{GObject}, (Cstring,), _filename)
        ret2 = GtkBuilderLeaf(ret, true)
        ret2
    end
    function Builder_new_from_resource(_resource_path::Union{AbstractString, Symbol})
        ret = ccall(("gtk_builder_new_from_resource", libgtk4), Ptr{GObject}, (Cstring,), _resource_path)
        ret2 = GtkBuilderLeaf(ret, true)
        ret2
    end
    function Builder_new_from_string(_string::Union{AbstractString, Symbol}, _length::Integer)
        ret = ccall(("gtk_builder_new_from_string", libgtk4), Ptr{GObject}, (Cstring, Int64), _string, _length)
        ret2 = GtkBuilderLeaf(ret, true)
        ret2
    end
    function add_from_file(instance::GtkBuilder, _filename::Union{AbstractString, Symbol})
        err = err_buf()
        ret = ccall(("gtk_builder_add_from_file", libgtk4), Cint, (Ptr{GObject}, Cstring, Ptr{Ptr{GError}}), instance, _filename, err)
        check_err(err)
        ret2 = convert(Bool, ret)
        ret2
    end
    function add_from_resource(instance::GtkBuilder, _resource_path::Union{AbstractString, Symbol})
        err = err_buf()
        ret = ccall(("gtk_builder_add_from_resource", libgtk4), Cint, (Ptr{GObject}, Cstring, Ptr{Ptr{GError}}), instance, _resource_path, err)
        check_err(err)
        ret2 = convert(Bool, ret)
        ret2
    end
    function add_from_string(instance::GtkBuilder, _buffer::Union{AbstractString, Symbol}, _length::Integer)
        err = err_buf()
        ret = ccall(("gtk_builder_add_from_string", libgtk4), Cint, (Ptr{GObject}, Cstring, Int64, Ptr{Ptr{GError}}), instance, _buffer, _length, err)
        check_err(err)
        ret2 = convert(Bool, ret)
        ret2
    end
    function add_objects_from_file(instance::GtkBuilder, _filename::Union{AbstractString, Symbol}, _object_ids)
        err = err_buf()
        ret = ccall(("gtk_builder_add_objects_from_file", libgtk4), Cint, (Ptr{GObject}, Cstring, Ptr{Cstring}, Ptr{Ptr{GError}}), instance, _filename, _object_ids, err)
        check_err(err)
        ret2 = convert(Bool, ret)
        ret2
    end
    function add_objects_from_resource(instance::GtkBuilder, _resource_path::Union{AbstractString, Symbol}, _object_ids)
        err = err_buf()
        ret = ccall(("gtk_builder_add_objects_from_resource", libgtk4), Cint, (Ptr{GObject}, Cstring, Ptr{Cstring}, Ptr{Ptr{GError}}), instance, _resource_path, _object_ids, err)
        check_err(err)
        ret2 = convert(Bool, ret)
        ret2
    end
    function add_objects_from_string(instance::GtkBuilder, _buffer::Union{AbstractString, Symbol}, _length::Integer, _object_ids)
        err = err_buf()
        ret = ccall(("gtk_builder_add_objects_from_string", libgtk4), Cint, (Ptr{GObject}, Cstring, Int64, Ptr{Cstring}, Ptr{Ptr{GError}}), instance, _buffer, _length, _object_ids, err)
        check_err(err)
        ret2 = convert(Bool, ret)
        ret2
    end
    function expose_object(instance::GtkBuilder, _name::Union{AbstractString, Symbol}, _object::GObject)
        ret = ccall(("gtk_builder_expose_object", libgtk4), Nothing, (Ptr{GObject}, Cstring, Ptr{GObject}), instance, _name, _object)
        nothing
    end
    function extend_with_template(instance::GtkBuilder, _object::GObject, _template_type::Integer, _buffer::Union{AbstractString, Symbol}, _length::Integer)
        err = err_buf()
        ret = ccall(("gtk_builder_extend_with_template", libgtk4), Cint, (Ptr{GObject}, Ptr{GObject}, UInt64, Cstring, Int64, Ptr{Ptr{GError}}), instance, _object, _template_type, _buffer, _length, err)
        check_err(err)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_current_object(instance::GtkBuilder)
        ret = ccall(("gtk_builder_get_current_object", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GObject, ret, false)
        ret2
    end
    function get_object(instance::GtkBuilder, _name::Union{AbstractString, Symbol})
        ret = ccall(("gtk_builder_get_object", libgtk4), Ptr{GObject}, (Ptr{GObject}, Cstring), instance, _name)
        ret2 = convert_if_not_null(GObject, ret, false)
        ret2
    end
    function get_objects(instance::GtkBuilder)
        ret = ccall(("gtk_builder_get_objects", libgtk4), Ptr{GLib._GSList{Ptr{GObject}}}, (Ptr{GObject},), instance)
        ret2 = GLib.GList(ret, false)
        ret2
    end
    function get_scope(instance::GtkBuilder)
        ret = ccall(("gtk_builder_get_scope", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = begin
                leaftype = GLib.find_leaf_type(ret)
                convert(leaftype, ret, false)
            end
        ret2
    end
    function get_translation_domain(instance::GtkBuilder)
        ret = ccall(("gtk_builder_get_translation_domain", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_type_from_name(instance::GtkBuilder, _type_name::Union{AbstractString, Symbol})
        ret = ccall(("gtk_builder_get_type_from_name", libgtk4), UInt64, (Ptr{GObject}, Cstring), instance, _type_name)
        ret
    end
    function set_current_object(instance::GtkBuilder, _current_object::Maybe(GObject))
        _current_object_maybe = nothing_to_null(_current_object)
        ret = ccall(("gtk_builder_set_current_object", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _current_object_maybe)
        nothing
    end
    function set_scope(instance::GtkBuilder, _scope::Maybe(GtkBuilderScope))
        _scope_maybe = nothing_to_null(_scope)
        ret = ccall(("gtk_builder_set_scope", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _scope_maybe)
        nothing
    end
    function set_translation_domain(instance::GtkBuilder, _domain::Maybe(Union{AbstractString, Symbol}))
        _domain_maybe = nothing_to_null(_domain)
        ret = ccall(("gtk_builder_set_translation_domain", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _domain_maybe)
        nothing
    end
    function value_from_string(instance::GtkBuilder, _pspec::GParam, _string::Union{AbstractString, Symbol})
        m_value = Ref{_GValue}()
        err = err_buf()
        ret = ccall(("gtk_builder_value_from_string", libgtk4), Cint, (Ptr{GObject}, Ptr{GParam}, Cstring, Ptr{_GValue}, Ptr{Ptr{GError}}), instance, _pspec, _string, m_value, err)
        check_err(err)
        ret2 = convert(Bool, ret)
        _value = m_value[]
        (ret2, _value)
    end
    function value_from_string_type(instance::GtkBuilder, _type::Integer, _string::Union{AbstractString, Symbol})
        m_value = Ref{_GValue}()
        err = err_buf()
        ret = ccall(("gtk_builder_value_from_string_type", libgtk4), Cint, (Ptr{GObject}, UInt64, Cstring, Ptr{_GValue}, Ptr{Ptr{GError}}), instance, _type, _string, m_value, err)
        check_err(err)
        ret2 = convert(Bool, ret)
        _value = m_value[]
        (ret2, _value)
    end
    function BuilderCScope_new()
        ret = ccall(("gtk_builder_cscope_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkBuilderCScopeLeaf(ret, true)
        ret2
    end
    function BuilderListItemFactory_new_from_bytes(_scope::Maybe(GtkBuilderScope), _bytes::GBytes)
        _scope_maybe = nothing_to_null(_scope)
        ret = ccall(("gtk_builder_list_item_factory_new_from_bytes", libgtk4), Ptr{GObject}, (Ptr{GObject}, Ptr{GBytes}), _scope_maybe, _bytes)
        ret2 = GtkBuilderListItemFactoryLeaf(ret, true)
        ret2
    end
    function BuilderListItemFactory_new_from_resource(_scope::Maybe(GtkBuilderScope), _resource_path::Union{AbstractString, Symbol})
        _scope_maybe = nothing_to_null(_scope)
        ret = ccall(("gtk_builder_list_item_factory_new_from_resource", libgtk4), Ptr{GObject}, (Ptr{GObject}, Cstring), _scope_maybe, _resource_path)
        ret2 = GtkBuilderListItemFactoryLeaf(ret, true)
        ret2
    end
    function get_bytes(instance::GtkBuilderListItemFactory)
        ret = ccall(("gtk_builder_list_item_factory_get_bytes", libgtk4), Ptr{GBytes}, (Ptr{GObject},), instance)
        ret2 = convert(GBytes, ret, false)
        ret2
    end
    function get_resource(instance::GtkBuilderListItemFactory)
        ret = ccall(("gtk_builder_list_item_factory_get_resource", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_scope(instance::GtkBuilderListItemFactory)
        ret = ccall(("gtk_builder_list_item_factory_get_scope", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, false)
        ret2
    end
    function Button_new()
        ret = ccall(("gtk_button_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkButtonLeaf(ret, false)
        ret2
    end
    function Button_new_from_icon_name(_icon_name::Union{AbstractString, Symbol})
        ret = ccall(("gtk_button_new_from_icon_name", libgtk4), Ptr{GObject}, (Cstring,), _icon_name)
        ret2 = GtkButtonLeaf(ret, false)
        ret2
    end
    function Button_new_with_label(_label::Union{AbstractString, Symbol})
        ret = ccall(("gtk_button_new_with_label", libgtk4), Ptr{GObject}, (Cstring,), _label)
        ret2 = GtkButtonLeaf(ret, false)
        ret2
    end
    function Button_new_with_mnemonic(_label::Union{AbstractString, Symbol})
        ret = ccall(("gtk_button_new_with_mnemonic", libgtk4), Ptr{GObject}, (Cstring,), _label)
        ret2 = GtkButtonLeaf(ret, false)
        ret2
    end
    function get_can_shrink(instance::GtkButton)
        ret = ccall(("gtk_button_get_can_shrink", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_child(instance::GtkButton)
        ret = ccall(("gtk_button_get_child", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_has_frame(instance::GtkButton)
        ret = ccall(("gtk_button_get_has_frame", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_icon_name(instance::GtkButton)
        ret = ccall(("gtk_button_get_icon_name", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_label(instance::GtkButton)
        ret = ccall(("gtk_button_get_label", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_use_underline(instance::GtkButton)
        ret = ccall(("gtk_button_get_use_underline", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_can_shrink(instance::GtkButton, _can_shrink::Bool)
        ret = ccall(("gtk_button_set_can_shrink", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _can_shrink)
        nothing
    end
    function set_child(instance::GtkButton, _child::Maybe(GtkWidget))
        _child_maybe = nothing_to_null(_child)
        ret = ccall(("gtk_button_set_child", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child_maybe)
        nothing
    end
    function set_has_frame(instance::GtkButton, _has_frame::Bool)
        ret = ccall(("gtk_button_set_has_frame", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _has_frame)
        nothing
    end
    function set_icon_name(instance::GtkButton, _icon_name::Union{AbstractString, Symbol})
        ret = ccall(("gtk_button_set_icon_name", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _icon_name)
        nothing
    end
    function set_label(instance::GtkButton, _label::Union{AbstractString, Symbol})
        ret = ccall(("gtk_button_set_label", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _label)
        nothing
    end
    function set_use_underline(instance::GtkButton, _use_underline::Bool)
        ret = ccall(("gtk_button_set_use_underline", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _use_underline)
        nothing
    end
    function announce(instance::GtkButton, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkButton)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkButton)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkButton)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkButton)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkButton)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkButton)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkButton, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkButton, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkButton, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkButton, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkButton, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkButton, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkButton, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkButton, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkButton, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_action_name(instance::GtkButton)
        get_action_name(GtkActionable(instance))
    end
    function get_action_target_value(instance::GtkButton)
        get_action_target_value(GtkActionable(instance))
    end
    function set_action_name(instance::GtkButton, _action_name::Maybe(Union{AbstractString, Symbol}))
        set_action_name(GtkActionable(instance), _action_name)
    end
    function set_action_target_value(instance::GtkButton, _target_value::Maybe(GVariant))
        set_action_target_value(GtkActionable(instance), _target_value)
    end
    function set_detailed_action_name(instance::GtkButton, _detailed_action_name::Union{AbstractString, Symbol})
        set_detailed_action_name(GtkActionable(instance), _detailed_action_name)
    end
    function get_buildable_id(instance::GtkButton)
        get_buildable_id(GtkBuildable(instance))
    end
    function Calendar_new()
        ret = ccall(("gtk_calendar_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkCalendarLeaf(ret, false)
        ret2
    end
    function clear_marks(instance::GtkCalendar)
        ret = ccall(("gtk_calendar_clear_marks", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function get_date(instance::GtkCalendar)
        ret = ccall(("gtk_calendar_get_date", libgtk4), Ptr{GDateTime}, (Ptr{GObject},), instance)
        ret2 = convert(GDateTime, ret, true)
        ret2
    end
    function get_day(instance::GtkCalendar)
        ret = ccall(("gtk_calendar_get_day", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_day_is_marked(instance::GtkCalendar, _day::Integer)
        ret = ccall(("gtk_calendar_get_day_is_marked", libgtk4), Cint, (Ptr{GObject}, UInt32), instance, _day)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_month(instance::GtkCalendar)
        ret = ccall(("gtk_calendar_get_month", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_show_day_names(instance::GtkCalendar)
        ret = ccall(("gtk_calendar_get_show_day_names", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_show_heading(instance::GtkCalendar)
        ret = ccall(("gtk_calendar_get_show_heading", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_show_week_numbers(instance::GtkCalendar)
        ret = ccall(("gtk_calendar_get_show_week_numbers", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_year(instance::GtkCalendar)
        ret = ccall(("gtk_calendar_get_year", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function mark_day(instance::GtkCalendar, _day::Integer)
        ret = ccall(("gtk_calendar_mark_day", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _day)
        nothing
    end
    function select_day(instance::GtkCalendar, _date::GDateTime)
        ret = ccall(("gtk_calendar_select_day", libgtk4), Nothing, (Ptr{GObject}, Ptr{GDateTime}), instance, _date)
        nothing
    end
    function set_day(instance::GtkCalendar, _day::Integer)
        ret = ccall(("gtk_calendar_set_day", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _day)
        nothing
    end
    function set_month(instance::GtkCalendar, _month::Integer)
        ret = ccall(("gtk_calendar_set_month", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _month)
        nothing
    end
    function set_show_day_names(instance::GtkCalendar, _value::Bool)
        ret = ccall(("gtk_calendar_set_show_day_names", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _value)
        nothing
    end
    function set_show_heading(instance::GtkCalendar, _value::Bool)
        ret = ccall(("gtk_calendar_set_show_heading", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _value)
        nothing
    end
    function set_show_week_numbers(instance::GtkCalendar, _value::Bool)
        ret = ccall(("gtk_calendar_set_show_week_numbers", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _value)
        nothing
    end
    function set_year(instance::GtkCalendar, _year::Integer)
        ret = ccall(("gtk_calendar_set_year", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _year)
        nothing
    end
    function unmark_day(instance::GtkCalendar, _day::Integer)
        ret = ccall(("gtk_calendar_unmark_day", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _day)
        nothing
    end
    function announce(instance::GtkCalendar, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkCalendar)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkCalendar)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkCalendar)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkCalendar)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkCalendar)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkCalendar)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkCalendar, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkCalendar, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkCalendar, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkCalendar, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkCalendar, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkCalendar, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkCalendar, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkCalendar, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkCalendar, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkCalendar)
        get_buildable_id(GtkBuildable(instance))
    end
    function activate(instance::GtkCellArea, _context::GtkCellAreaContext, _widget::GtkWidget, _cell_area::Union{GdkRectangle, Ref{_GdkRectangle}}, _flags, _edit_only::Bool)
        ret = ccall(("gtk_cell_area_activate", libgtk4), Cint, (Ptr{GObject}, Ptr{GObject}, Ptr{GObject}, Ptr{_GdkRectangle}, UInt32, Cint), instance, _context, _widget, _cell_area, _flags, _edit_only)
        ret2 = convert(Bool, ret)
        ret2
    end
    function add(instance::GtkCellArea, _renderer::GtkCellRenderer)
        ret = ccall(("gtk_cell_area_add", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _renderer)
        nothing
    end
    function add_focus_sibling(instance::GtkCellArea, _renderer::GtkCellRenderer, _sibling::GtkCellRenderer)
        ret = ccall(("gtk_cell_area_add_focus_sibling", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{GObject}), instance, _renderer, _sibling)
        nothing
    end
    function apply_attributes(instance::GtkCellArea, _tree_model::GtkTreeModel, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}}, _is_expander::Bool, _is_expanded::Bool)
        ret = ccall(("gtk_cell_area_apply_attributes", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{_GtkTreeIter}, Cint, Cint), instance, _tree_model, _iter, _is_expander, _is_expanded)
        nothing
    end
    function attribute_connect(instance::GtkCellArea, _renderer::GtkCellRenderer, _attribute::Union{AbstractString, Symbol}, _column::Integer)
        ret = ccall(("gtk_cell_area_attribute_connect", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Cstring, Int32), instance, _renderer, _attribute, _column)
        nothing
    end
    function attribute_disconnect(instance::GtkCellArea, _renderer::GtkCellRenderer, _attribute::Union{AbstractString, Symbol})
        ret = ccall(("gtk_cell_area_attribute_disconnect", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Cstring), instance, _renderer, _attribute)
        nothing
    end
    function attribute_get_column(instance::GtkCellArea, _renderer::GtkCellRenderer, _attribute::Union{AbstractString, Symbol})
        ret = ccall(("gtk_cell_area_attribute_get_column", libgtk4), Int32, (Ptr{GObject}, Ptr{GObject}, Cstring), instance, _renderer, _attribute)
        ret
    end
    function cell_get_property(instance::GtkCellArea, _renderer::GtkCellRenderer, _property_name::Union{AbstractString, Symbol}, _value::Union{GValue, Ref{_GValue}})
        ret = ccall(("gtk_cell_area_cell_get_property", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Cstring, Ptr{_GValue}), instance, _renderer, _property_name, _value)
        nothing
    end
    function cell_set_property(instance::GtkCellArea, _renderer::GtkCellRenderer, _property_name::Union{AbstractString, Symbol}, _value::Union{GValue, Ref{_GValue}})
        ret = ccall(("gtk_cell_area_cell_set_property", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Cstring, Ptr{_GValue}), instance, _renderer, _property_name, _value)
        nothing
    end
    function copy_context(instance::GtkCellArea, _context::GtkCellAreaContext)
        ret = ccall(("gtk_cell_area_copy_context", libgtk4), Ptr{GObject}, (Ptr{GObject}, Ptr{GObject}), instance, _context)
        ret2 = convert(GtkCellAreaContext, ret, true)
        ret2
    end
    function create_context(instance::GtkCellArea)
        ret = ccall(("gtk_cell_area_create_context", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GtkCellAreaContext, ret, true)
        ret2
    end
    function focus(instance::GtkCellArea, _direction)
        ret = ccall(("gtk_cell_area_focus", libgtk4), Cint, (Ptr{GObject}, UInt32), instance, _direction)
        ret2 = convert(Bool, ret)
        ret2
    end
    function foreach(instance::GtkCellArea, _callback::Function)
        begin
            _callback_cfunc = @cfunction(GtkCellCallback, Cint, (Ptr{GObject}, Ref{Function}))
            begin
                ref = Ref{Any}(_callback)
                _callback_closure = unsafe_load(convert(Ptr{Ptr{Nothing}}, Base.unsafe_convert(Ptr{Any}, ref)))
            end
        end
        ret = ccall(("gtk_cell_area_foreach", libgtk4), Nothing, (Ptr{GObject}, Ptr{Cvoid}, Ptr{Nothing}), instance, _callback_cfunc, _callback_closure)
        nothing
    end
    function foreach_alloc(instance::GtkCellArea, _context::GtkCellAreaContext, _widget::GtkWidget, _cell_area::Union{GdkRectangle, Ref{_GdkRectangle}}, _background_area::Union{GdkRectangle, Ref{_GdkRectangle}}, _callback::Function)
        begin
            _callback_cfunc = @cfunction(GtkCellAllocCallback, Cint, (Ptr{GObject}, Ptr{_GdkRectangle}, Ptr{_GdkRectangle}, Ref{Function}))
            begin
                ref = Ref{Any}(_callback)
                _callback_closure = unsafe_load(convert(Ptr{Ptr{Nothing}}, Base.unsafe_convert(Ptr{Any}, ref)))
            end
        end
        ret = ccall(("gtk_cell_area_foreach_alloc", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{GObject}, Ptr{_GdkRectangle}, Ptr{_GdkRectangle}, Ptr{Cvoid}, Ptr{Nothing}), instance, _context, _widget, _cell_area, _background_area, _callback_cfunc, _callback_closure)
        nothing
    end
    function get_cell_allocation(instance::GtkCellArea, _context::GtkCellAreaContext, _widget::GtkWidget, _renderer::GtkCellRenderer, _cell_area::Union{GdkRectangle, Ref{_GdkRectangle}})
        m_allocation = Ref{_GdkRectangle}()
        ret = ccall(("gtk_cell_area_get_cell_allocation", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{GObject}, Ptr{GObject}, Ptr{_GdkRectangle}, Ptr{_GdkRectangle}), instance, _context, _widget, _renderer, _cell_area, m_allocation)
        _allocation = m_allocation[]
        _allocation
    end
    function get_cell_at_position(instance::GtkCellArea, _context::GtkCellAreaContext, _widget::GtkWidget, _cell_area::Union{GdkRectangle, Ref{_GdkRectangle}}, _x::Integer, _y::Integer)
        m_alloc_area = Ref{_GdkRectangle}()
        ret = ccall(("gtk_cell_area_get_cell_at_position", libgtk4), Ptr{GObject}, (Ptr{GObject}, Ptr{GObject}, Ptr{GObject}, Ptr{_GdkRectangle}, Int32, Int32, Ptr{_GdkRectangle}), instance, _context, _widget, _cell_area, _x, _y, m_alloc_area)
        ret2 = convert(GtkCellRenderer, ret, false)
        _alloc_area = m_alloc_area[]
        (ret2, _alloc_area)
    end
    function get_current_path_string(instance::GtkCellArea)
        ret = ccall(("gtk_cell_area_get_current_path_string", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_edit_widget(instance::GtkCellArea)
        ret = ccall(("gtk_cell_area_get_edit_widget", libgtk4), Ptr{GtkWidget}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, false)
        ret2
    end
    function get_edited_cell(instance::GtkCellArea)
        ret = ccall(("gtk_cell_area_get_edited_cell", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkCellRenderer, ret, false)
        ret2
    end
    function get_focus_cell(instance::GtkCellArea)
        ret = ccall(("gtk_cell_area_get_focus_cell", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkCellRenderer, ret, false)
        ret2
    end
    function get_focus_from_sibling(instance::GtkCellArea, _renderer::GtkCellRenderer)
        ret = ccall(("gtk_cell_area_get_focus_from_sibling", libgtk4), Ptr{GObject}, (Ptr{GObject}, Ptr{GObject}), instance, _renderer)
        ret2 = convert_if_not_null(GtkCellRenderer, ret, false)
        ret2
    end
    function get_focus_siblings(instance::GtkCellArea, _renderer::GtkCellRenderer)
        ret = ccall(("gtk_cell_area_get_focus_siblings", libgtk4), Ptr{GLib._GList{Ptr{GObject}}}, (Ptr{GObject}, Ptr{GObject}), instance, _renderer)
        ret2 = GLib.GList(ret, false, false)
        ret2
    end
    function get_preferred_height(instance::GtkCellArea, _context::GtkCellAreaContext, _widget::GtkWidget)
        m_minimum_height = Ref{Int32}()
        m_natural_height = Ref{Int32}()
        ret = ccall(("gtk_cell_area_get_preferred_height", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{GObject}, Ptr{Int32}, Ptr{Int32}), instance, _context, _widget, m_minimum_height, m_natural_height)
        _minimum_height = m_minimum_height[]
        _natural_height = m_natural_height[]
        (_minimum_height, _natural_height)
    end
    function get_preferred_height_for_width(instance::GtkCellArea, _context::GtkCellAreaContext, _widget::GtkWidget, _width::Integer)
        m_minimum_height = Ref{Int32}()
        m_natural_height = Ref{Int32}()
        ret = ccall(("gtk_cell_area_get_preferred_height_for_width", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{GObject}, Int32, Ptr{Int32}, Ptr{Int32}), instance, _context, _widget, _width, m_minimum_height, m_natural_height)
        _minimum_height = m_minimum_height[]
        _natural_height = m_natural_height[]
        (_minimum_height, _natural_height)
    end
    function get_preferred_width(instance::GtkCellArea, _context::GtkCellAreaContext, _widget::GtkWidget)
        m_minimum_width = Ref{Int32}()
        m_natural_width = Ref{Int32}()
        ret = ccall(("gtk_cell_area_get_preferred_width", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{GObject}, Ptr{Int32}, Ptr{Int32}), instance, _context, _widget, m_minimum_width, m_natural_width)
        _minimum_width = m_minimum_width[]
        _natural_width = m_natural_width[]
        (_minimum_width, _natural_width)
    end
    function get_preferred_width_for_height(instance::GtkCellArea, _context::GtkCellAreaContext, _widget::GtkWidget, _height::Integer)
        m_minimum_width = Ref{Int32}()
        m_natural_width = Ref{Int32}()
        ret = ccall(("gtk_cell_area_get_preferred_width_for_height", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{GObject}, Int32, Ptr{Int32}, Ptr{Int32}), instance, _context, _widget, _height, m_minimum_width, m_natural_width)
        _minimum_width = m_minimum_width[]
        _natural_width = m_natural_width[]
        (_minimum_width, _natural_width)
    end
    function get_request_mode(instance::GtkCellArea)
        ret = ccall(("gtk_cell_area_get_request_mode", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = SizeRequestMode(ret)
        ret2
    end
    function has_renderer(instance::GtkCellArea, _renderer::GtkCellRenderer)
        ret = ccall(("gtk_cell_area_has_renderer", libgtk4), Cint, (Ptr{GObject}, Ptr{GObject}), instance, _renderer)
        ret2 = convert(Bool, ret)
        ret2
    end
    function inner_cell_area(instance::GtkCellArea, _widget::GtkWidget, _cell_area::Union{GdkRectangle, Ref{_GdkRectangle}})
        m_inner_area = Ref{_GdkRectangle}()
        ret = ccall(("gtk_cell_area_inner_cell_area", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{_GdkRectangle}, Ptr{_GdkRectangle}), instance, _widget, _cell_area, m_inner_area)
        _inner_area = m_inner_area[]
        _inner_area
    end
    function is_activatable(instance::GtkCellArea)
        ret = ccall(("gtk_cell_area_is_activatable", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function is_focus_sibling(instance::GtkCellArea, _renderer::GtkCellRenderer, _sibling::GtkCellRenderer)
        ret = ccall(("gtk_cell_area_is_focus_sibling", libgtk4), Cint, (Ptr{GObject}, Ptr{GObject}, Ptr{GObject}), instance, _renderer, _sibling)
        ret2 = convert(Bool, ret)
        ret2
    end
    function remove(instance::GtkCellArea, _renderer::GtkCellRenderer)
        ret = ccall(("gtk_cell_area_remove", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _renderer)
        nothing
    end
    function remove_focus_sibling(instance::GtkCellArea, _renderer::GtkCellRenderer, _sibling::GtkCellRenderer)
        ret = ccall(("gtk_cell_area_remove_focus_sibling", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{GObject}), instance, _renderer, _sibling)
        nothing
    end
    function request_renderer(instance::GtkCellArea, _renderer::GtkCellRenderer, _orientation, _widget::GtkWidget, _for_size::Integer)
        m_minimum_size = Ref{Int32}()
        m_natural_size = Ref{Int32}()
        ret = ccall(("gtk_cell_area_request_renderer", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, UInt32, Ptr{GObject}, Int32, Ptr{Int32}, Ptr{Int32}), instance, _renderer, _orientation, _widget, _for_size, m_minimum_size, m_natural_size)
        _minimum_size = m_minimum_size[]
        _natural_size = m_natural_size[]
        (_minimum_size, _natural_size)
    end
    function set_focus_cell(instance::GtkCellArea, _renderer::Maybe(GtkCellRenderer))
        _renderer_maybe = nothing_to_null(_renderer)
        ret = ccall(("gtk_cell_area_set_focus_cell", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _renderer_maybe)
        nothing
    end
    function snapshot(instance::GtkCellArea, _context::GtkCellAreaContext, _widget::GtkWidget, _snapshot::GtkSnapshot, _background_area::Union{GdkRectangle, Ref{_GdkRectangle}}, _cell_area::Union{GdkRectangle, Ref{_GdkRectangle}}, _flags, _paint_focus::Bool)
        ret = ccall(("gtk_cell_area_snapshot", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{GObject}, Ptr{GObject}, Ptr{_GdkRectangle}, Ptr{_GdkRectangle}, UInt32, Cint), instance, _context, _widget, _snapshot, _background_area, _cell_area, _flags, _paint_focus)
        nothing
    end
    function stop_editing(instance::GtkCellArea, _canceled::Bool)
        ret = ccall(("gtk_cell_area_stop_editing", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _canceled)
        nothing
    end
    function get_buildable_id(instance::GtkCellArea)
        get_buildable_id(GtkBuildable(instance))
    end
    function add_attribute(instance::GtkCellArea, _cell::GtkCellRenderer, _attribute::Union{AbstractString, Symbol}, _column::Integer)
        add_attribute(GtkCellLayout(instance), _cell, _attribute, _column)
    end
    function clear(instance::GtkCellArea)
        clear(GtkCellLayout(instance))
    end
    function clear_attributes(instance::GtkCellArea, _cell::GtkCellRenderer)
        clear_attributes(GtkCellLayout(instance), _cell)
    end
    function get_area(instance::GtkCellArea)
        get_area(GtkCellLayout(instance))
    end
    function get_cells(instance::GtkCellArea)
        get_cells(GtkCellLayout(instance))
    end
    function pack_end(instance::GtkCellArea, _cell::GtkCellRenderer, _expand::Bool)
        pack_end(GtkCellLayout(instance), _cell, _expand)
    end
    function pack_start(instance::GtkCellArea, _cell::GtkCellRenderer, _expand::Bool)
        pack_start(GtkCellLayout(instance), _cell, _expand)
    end
    function reorder(instance::GtkCellArea, _cell::GtkCellRenderer, _position::Integer)
        reorder(GtkCellLayout(instance), _cell, _position)
    end
    function set_cell_data_func(instance::GtkCellArea, _cell::GtkCellRenderer, _func::Maybe(Function), _destroy::Function)
        set_cell_data_func(GtkCellLayout(instance), _cell, _func, _destroy)
    end
    function CellAreaBox_new()
        ret = ccall(("gtk_cell_area_box_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkCellAreaBoxLeaf(ret, false)
        ret2
    end
    function get_spacing(instance::GtkCellAreaBox)
        ret = ccall(("gtk_cell_area_box_get_spacing", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function pack_end(instance::GtkCellAreaBox, _renderer::GtkCellRenderer, _expand::Bool, _align::Bool, _fixed::Bool)
        ret = ccall(("gtk_cell_area_box_pack_end", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Cint, Cint, Cint), instance, _renderer, _expand, _align, _fixed)
        nothing
    end
    function pack_start(instance::GtkCellAreaBox, _renderer::GtkCellRenderer, _expand::Bool, _align::Bool, _fixed::Bool)
        ret = ccall(("gtk_cell_area_box_pack_start", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Cint, Cint, Cint), instance, _renderer, _expand, _align, _fixed)
        nothing
    end
    function set_spacing(instance::GtkCellAreaBox, _spacing::Integer)
        ret = ccall(("gtk_cell_area_box_set_spacing", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _spacing)
        nothing
    end
    function get_buildable_id(instance::GtkCellAreaBox)
        get_buildable_id(GtkBuildable(instance))
    end
    function add_attribute(instance::GtkCellAreaBox, _cell::GtkCellRenderer, _attribute::Union{AbstractString, Symbol}, _column::Integer)
        add_attribute(GtkCellLayout(instance), _cell, _attribute, _column)
    end
    function clear(instance::GtkCellAreaBox)
        clear(GtkCellLayout(instance))
    end
    function clear_attributes(instance::GtkCellAreaBox, _cell::GtkCellRenderer)
        clear_attributes(GtkCellLayout(instance), _cell)
    end
    function get_area(instance::GtkCellAreaBox)
        get_area(GtkCellLayout(instance))
    end
    function get_cells(instance::GtkCellAreaBox)
        get_cells(GtkCellLayout(instance))
    end
    function reorder(instance::GtkCellAreaBox, _cell::GtkCellRenderer, _position::Integer)
        reorder(GtkCellLayout(instance), _cell, _position)
    end
    function set_cell_data_func(instance::GtkCellAreaBox, _cell::GtkCellRenderer, _func::Maybe(Function), _destroy::Function)
        set_cell_data_func(GtkCellLayout(instance), _cell, _func, _destroy)
    end
    function get_orientation(instance::GtkCellAreaBox)
        get_orientation(GtkOrientable(instance))
    end
    function set_orientation(instance::GtkCellAreaBox, _orientation)
        set_orientation(GtkOrientable(instance), _orientation)
    end
    function allocate(instance::GtkCellAreaContext, _width::Integer, _height::Integer)
        ret = ccall(("gtk_cell_area_context_allocate", libgtk4), Nothing, (Ptr{GObject}, Int32, Int32), instance, _width, _height)
        nothing
    end
    function get_allocation(instance::GtkCellAreaContext)
        m_width = Ref{Int32}()
        m_height = Ref{Int32}()
        ret = ccall(("gtk_cell_area_context_get_allocation", libgtk4), Nothing, (Ptr{GObject}, Ptr{Int32}, Ptr{Int32}), instance, m_width, m_height)
        _width = m_width[]
        _height = m_height[]
        (_width, _height)
    end
    function get_area(instance::GtkCellAreaContext)
        ret = ccall(("gtk_cell_area_context_get_area", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GtkCellArea, ret, false)
        ret2
    end
    function get_preferred_height(instance::GtkCellAreaContext)
        m_minimum_height = Ref{Int32}()
        m_natural_height = Ref{Int32}()
        ret = ccall(("gtk_cell_area_context_get_preferred_height", libgtk4), Nothing, (Ptr{GObject}, Ptr{Int32}, Ptr{Int32}), instance, m_minimum_height, m_natural_height)
        _minimum_height = m_minimum_height[]
        _natural_height = m_natural_height[]
        (_minimum_height, _natural_height)
    end
    function get_preferred_height_for_width(instance::GtkCellAreaContext, _width::Integer)
        m_minimum_height = Ref{Int32}()
        m_natural_height = Ref{Int32}()
        ret = ccall(("gtk_cell_area_context_get_preferred_height_for_width", libgtk4), Nothing, (Ptr{GObject}, Int32, Ptr{Int32}, Ptr{Int32}), instance, _width, m_minimum_height, m_natural_height)
        _minimum_height = m_minimum_height[]
        _natural_height = m_natural_height[]
        (_minimum_height, _natural_height)
    end
    function get_preferred_width(instance::GtkCellAreaContext)
        m_minimum_width = Ref{Int32}()
        m_natural_width = Ref{Int32}()
        ret = ccall(("gtk_cell_area_context_get_preferred_width", libgtk4), Nothing, (Ptr{GObject}, Ptr{Int32}, Ptr{Int32}), instance, m_minimum_width, m_natural_width)
        _minimum_width = m_minimum_width[]
        _natural_width = m_natural_width[]
        (_minimum_width, _natural_width)
    end
    function get_preferred_width_for_height(instance::GtkCellAreaContext, _height::Integer)
        m_minimum_width = Ref{Int32}()
        m_natural_width = Ref{Int32}()
        ret = ccall(("gtk_cell_area_context_get_preferred_width_for_height", libgtk4), Nothing, (Ptr{GObject}, Int32, Ptr{Int32}, Ptr{Int32}), instance, _height, m_minimum_width, m_natural_width)
        _minimum_width = m_minimum_width[]
        _natural_width = m_natural_width[]
        (_minimum_width, _natural_width)
    end
    function push_preferred_height(instance::GtkCellAreaContext, _minimum_height::Integer, _natural_height::Integer)
        ret = ccall(("gtk_cell_area_context_push_preferred_height", libgtk4), Nothing, (Ptr{GObject}, Int32, Int32), instance, _minimum_height, _natural_height)
        nothing
    end
    function push_preferred_width(instance::GtkCellAreaContext, _minimum_width::Integer, _natural_width::Integer)
        ret = ccall(("gtk_cell_area_context_push_preferred_width", libgtk4), Nothing, (Ptr{GObject}, Int32, Int32), instance, _minimum_width, _natural_width)
        nothing
    end
    function reset(instance::GtkCellAreaContext)
        ret = ccall(("gtk_cell_area_context_reset", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function CellRendererAccel_new()
        ret = ccall(("gtk_cell_renderer_accel_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkCellRendererAccelLeaf(ret, false)
        ret2
    end
    function CellRendererCombo_new()
        ret = ccall(("gtk_cell_renderer_combo_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkCellRendererComboLeaf(ret, false)
        ret2
    end
    function CellRendererPixbuf_new()
        ret = ccall(("gtk_cell_renderer_pixbuf_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkCellRendererPixbufLeaf(ret, false)
        ret2
    end
    function CellRendererProgress_new()
        ret = ccall(("gtk_cell_renderer_progress_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkCellRendererProgressLeaf(ret, false)
        ret2
    end
    function get_orientation(instance::GtkCellRendererProgress)
        get_orientation(GtkOrientable(instance))
    end
    function set_orientation(instance::GtkCellRendererProgress, _orientation)
        set_orientation(GtkOrientable(instance), _orientation)
    end
    function CellRendererSpin_new()
        ret = ccall(("gtk_cell_renderer_spin_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkCellRendererSpinLeaf(ret, false)
        ret2
    end
    function CellRendererSpinner_new()
        ret = ccall(("gtk_cell_renderer_spinner_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkCellRendererSpinnerLeaf(ret, false)
        ret2
    end
    function CellRendererText_new()
        ret = ccall(("gtk_cell_renderer_text_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkCellRendererTextLeaf(ret, false)
        ret2
    end
    function set_fixed_height_from_font(instance::GtkCellRendererText, _number_of_rows::Integer)
        ret = ccall(("gtk_cell_renderer_text_set_fixed_height_from_font", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _number_of_rows)
        nothing
    end
    function CellRendererToggle_new()
        ret = ccall(("gtk_cell_renderer_toggle_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkCellRendererToggleLeaf(ret, false)
        ret2
    end
    function get_activatable(instance::GtkCellRendererToggle)
        ret = ccall(("gtk_cell_renderer_toggle_get_activatable", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_active(instance::GtkCellRendererToggle)
        ret = ccall(("gtk_cell_renderer_toggle_get_active", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_radio(instance::GtkCellRendererToggle)
        ret = ccall(("gtk_cell_renderer_toggle_get_radio", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_activatable(instance::GtkCellRendererToggle, _setting::Bool)
        ret = ccall(("gtk_cell_renderer_toggle_set_activatable", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _setting)
        nothing
    end
    function set_active(instance::GtkCellRendererToggle, _setting::Bool)
        ret = ccall(("gtk_cell_renderer_toggle_set_active", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _setting)
        nothing
    end
    function set_radio(instance::GtkCellRendererToggle, _radio::Bool)
        ret = ccall(("gtk_cell_renderer_toggle_set_radio", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _radio)
        nothing
    end
    function CellView_new()
        ret = ccall(("gtk_cell_view_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkCellViewLeaf(ret, false)
        ret2
    end
    function CellView_new_with_context(_area::GtkCellArea, _context::GtkCellAreaContext)
        ret = ccall(("gtk_cell_view_new_with_context", libgtk4), Ptr{GObject}, (Ptr{GObject}, Ptr{GObject}), _area, _context)
        ret2 = GtkCellViewLeaf(ret, false)
        ret2
    end
    function CellView_new_with_markup(_markup::Union{AbstractString, Symbol})
        ret = ccall(("gtk_cell_view_new_with_markup", libgtk4), Ptr{GObject}, (Cstring,), _markup)
        ret2 = GtkCellViewLeaf(ret, false)
        ret2
    end
    function CellView_new_with_text(_text::Union{AbstractString, Symbol})
        ret = ccall(("gtk_cell_view_new_with_text", libgtk4), Ptr{GObject}, (Cstring,), _text)
        ret2 = GtkCellViewLeaf(ret, false)
        ret2
    end
    function CellView_new_with_texture(_texture::GdkTexture)
        ret = ccall(("gtk_cell_view_new_with_texture", libgtk4), Ptr{GObject}, (Ptr{GObject},), _texture)
        ret2 = GtkCellViewLeaf(ret, false)
        ret2
    end
    function get_displayed_row(instance::GtkCellView)
        ret = ccall(("gtk_cell_view_get_displayed_row", libgtk4), Ptr{GtkTreePath}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkTreePath, ret, true)
        ret2
    end
    function get_draw_sensitive(instance::GtkCellView)
        ret = ccall(("gtk_cell_view_get_draw_sensitive", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_fit_model(instance::GtkCellView)
        ret = ccall(("gtk_cell_view_get_fit_model", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_model(instance::GtkCellView)
        ret = ccall(("gtk_cell_view_get_model", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, false)
        ret2
    end
    function set_displayed_row(instance::GtkCellView, _path::Maybe(GtkTreePath))
        _path_maybe = nothing_to_null(_path)
        ret = ccall(("gtk_cell_view_set_displayed_row", libgtk4), Nothing, (Ptr{GObject}, Ptr{GtkTreePath}), instance, _path_maybe)
        nothing
    end
    function set_draw_sensitive(instance::GtkCellView, _draw_sensitive::Bool)
        ret = ccall(("gtk_cell_view_set_draw_sensitive", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _draw_sensitive)
        nothing
    end
    function set_fit_model(instance::GtkCellView, _fit_model::Bool)
        ret = ccall(("gtk_cell_view_set_fit_model", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _fit_model)
        nothing
    end
    function set_model(instance::GtkCellView, _model::Maybe(GtkTreeModel))
        _model_maybe = nothing_to_null(_model)
        ret = ccall(("gtk_cell_view_set_model", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _model_maybe)
        nothing
    end
    function announce(instance::GtkCellView, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkCellView)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkCellView)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkCellView)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkCellView)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkCellView)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkCellView)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkCellView, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkCellView, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkCellView, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkCellView, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkCellView, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkCellView, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkCellView, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkCellView, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkCellView, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkCellView)
        get_buildable_id(GtkBuildable(instance))
    end
    function add_attribute(instance::GtkCellView, _cell::GtkCellRenderer, _attribute::Union{AbstractString, Symbol}, _column::Integer)
        add_attribute(GtkCellLayout(instance), _cell, _attribute, _column)
    end
    function clear(instance::GtkCellView)
        clear(GtkCellLayout(instance))
    end
    function clear_attributes(instance::GtkCellView, _cell::GtkCellRenderer)
        clear_attributes(GtkCellLayout(instance), _cell)
    end
    function get_area(instance::GtkCellView)
        get_area(GtkCellLayout(instance))
    end
    function get_cells(instance::GtkCellView)
        get_cells(GtkCellLayout(instance))
    end
    function pack_end(instance::GtkCellView, _cell::GtkCellRenderer, _expand::Bool)
        pack_end(GtkCellLayout(instance), _cell, _expand)
    end
    function pack_start(instance::GtkCellView, _cell::GtkCellRenderer, _expand::Bool)
        pack_start(GtkCellLayout(instance), _cell, _expand)
    end
    function reorder(instance::GtkCellView, _cell::GtkCellRenderer, _position::Integer)
        reorder(GtkCellLayout(instance), _cell, _position)
    end
    function set_cell_data_func(instance::GtkCellView, _cell::GtkCellRenderer, _func::Maybe(Function), _destroy::Function)
        set_cell_data_func(GtkCellLayout(instance), _cell, _func, _destroy)
    end
    function get_orientation(instance::GtkCellView)
        get_orientation(GtkOrientable(instance))
    end
    function set_orientation(instance::GtkCellView, _orientation)
        set_orientation(GtkOrientable(instance), _orientation)
    end
    function CenterBox_new()
        ret = ccall(("gtk_center_box_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkCenterBoxLeaf(ret, false)
        ret2
    end
    function get_baseline_position(instance::GtkCenterBox)
        ret = ccall(("gtk_center_box_get_baseline_position", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = BaselinePosition(ret)
        ret2
    end
    function get_center_widget(instance::GtkCenterBox)
        ret = ccall(("gtk_center_box_get_center_widget", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_end_widget(instance::GtkCenterBox)
        ret = ccall(("gtk_center_box_get_end_widget", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_shrink_center_last(instance::GtkCenterBox)
        ret = ccall(("gtk_center_box_get_shrink_center_last", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_start_widget(instance::GtkCenterBox)
        ret = ccall(("gtk_center_box_get_start_widget", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function set_baseline_position(instance::GtkCenterBox, _position)
        ret = ccall(("gtk_center_box_set_baseline_position", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _position)
        nothing
    end
    function set_center_widget(instance::GtkCenterBox, _child::Maybe(GtkWidget))
        _child_maybe = nothing_to_null(_child)
        ret = ccall(("gtk_center_box_set_center_widget", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child_maybe)
        nothing
    end
    function set_end_widget(instance::GtkCenterBox, _child::Maybe(GtkWidget))
        _child_maybe = nothing_to_null(_child)
        ret = ccall(("gtk_center_box_set_end_widget", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child_maybe)
        nothing
    end
    function set_shrink_center_last(instance::GtkCenterBox, _shrink_center_last::Bool)
        ret = ccall(("gtk_center_box_set_shrink_center_last", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _shrink_center_last)
        nothing
    end
    function set_start_widget(instance::GtkCenterBox, _child::Maybe(GtkWidget))
        _child_maybe = nothing_to_null(_child)
        ret = ccall(("gtk_center_box_set_start_widget", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child_maybe)
        nothing
    end
    function announce(instance::GtkCenterBox, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkCenterBox)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkCenterBox)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkCenterBox)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkCenterBox)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkCenterBox)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkCenterBox)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkCenterBox, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkCenterBox, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkCenterBox, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkCenterBox, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkCenterBox, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkCenterBox, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkCenterBox, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkCenterBox, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkCenterBox, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkCenterBox)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_orientation(instance::GtkCenterBox)
        get_orientation(GtkOrientable(instance))
    end
    function set_orientation(instance::GtkCenterBox, _orientation)
        set_orientation(GtkOrientable(instance), _orientation)
    end
    function CenterLayout_new()
        ret = ccall(("gtk_center_layout_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkCenterLayoutLeaf(ret, true)
        ret2
    end
    function get_baseline_position(instance::GtkCenterLayout)
        ret = ccall(("gtk_center_layout_get_baseline_position", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = BaselinePosition(ret)
        ret2
    end
    function get_center_widget(instance::GtkCenterLayout)
        ret = ccall(("gtk_center_layout_get_center_widget", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_end_widget(instance::GtkCenterLayout)
        ret = ccall(("gtk_center_layout_get_end_widget", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_orientation(instance::GtkCenterLayout)
        ret = ccall(("gtk_center_layout_get_orientation", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = Orientation(ret)
        ret2
    end
    function get_shrink_center_last(instance::GtkCenterLayout)
        ret = ccall(("gtk_center_layout_get_shrink_center_last", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_start_widget(instance::GtkCenterLayout)
        ret = ccall(("gtk_center_layout_get_start_widget", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function set_baseline_position(instance::GtkCenterLayout, _baseline_position)
        ret = ccall(("gtk_center_layout_set_baseline_position", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _baseline_position)
        nothing
    end
    function set_center_widget(instance::GtkCenterLayout, _widget::Maybe(GtkWidget))
        _widget_maybe = nothing_to_null(_widget)
        ret = ccall(("gtk_center_layout_set_center_widget", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _widget_maybe)
        nothing
    end
    function set_end_widget(instance::GtkCenterLayout, _widget::Maybe(GtkWidget))
        _widget_maybe = nothing_to_null(_widget)
        ret = ccall(("gtk_center_layout_set_end_widget", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _widget_maybe)
        nothing
    end
    function set_orientation(instance::GtkCenterLayout, _orientation)
        ret = ccall(("gtk_center_layout_set_orientation", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _orientation)
        nothing
    end
    function set_shrink_center_last(instance::GtkCenterLayout, _shrink_center_last::Bool)
        ret = ccall(("gtk_center_layout_set_shrink_center_last", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _shrink_center_last)
        nothing
    end
    function set_start_widget(instance::GtkCenterLayout, _widget::Maybe(GtkWidget))
        _widget_maybe = nothing_to_null(_widget)
        ret = ccall(("gtk_center_layout_set_start_widget", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _widget_maybe)
        nothing
    end
    function CheckButton_new()
        ret = ccall(("gtk_check_button_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkCheckButtonLeaf(ret, false)
        ret2
    end
    function CheckButton_new_with_label(_label::Maybe(Union{AbstractString, Symbol}))
        _label_maybe = nothing_to_null(_label)
        ret = ccall(("gtk_check_button_new_with_label", libgtk4), Ptr{GObject}, (Cstring,), _label_maybe)
        ret2 = GtkCheckButtonLeaf(ret, false)
        ret2
    end
    function CheckButton_new_with_mnemonic(_label::Maybe(Union{AbstractString, Symbol}))
        _label_maybe = nothing_to_null(_label)
        ret = ccall(("gtk_check_button_new_with_mnemonic", libgtk4), Ptr{GObject}, (Cstring,), _label_maybe)
        ret2 = GtkCheckButtonLeaf(ret, false)
        ret2
    end
    function get_active(instance::GtkCheckButton)
        ret = ccall(("gtk_check_button_get_active", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_child(instance::GtkCheckButton)
        ret = ccall(("gtk_check_button_get_child", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_inconsistent(instance::GtkCheckButton)
        ret = ccall(("gtk_check_button_get_inconsistent", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_label(instance::GtkCheckButton)
        ret = ccall(("gtk_check_button_get_label", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_use_underline(instance::GtkCheckButton)
        ret = ccall(("gtk_check_button_get_use_underline", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_active(instance::GtkCheckButton, _setting::Bool)
        ret = ccall(("gtk_check_button_set_active", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _setting)
        nothing
    end
    function set_child(instance::GtkCheckButton, _child::Maybe(GtkWidget))
        _child_maybe = nothing_to_null(_child)
        ret = ccall(("gtk_check_button_set_child", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child_maybe)
        nothing
    end
    function set_group(instance::GtkCheckButton, _group::Maybe(GtkCheckButton))
        _group_maybe = nothing_to_null(_group)
        ret = ccall(("gtk_check_button_set_group", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _group_maybe)
        nothing
    end
    function set_inconsistent(instance::GtkCheckButton, _inconsistent::Bool)
        ret = ccall(("gtk_check_button_set_inconsistent", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _inconsistent)
        nothing
    end
    function set_label(instance::GtkCheckButton, _label::Maybe(Union{AbstractString, Symbol}))
        _label_maybe = nothing_to_null(_label)
        ret = ccall(("gtk_check_button_set_label", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _label_maybe)
        nothing
    end
    function set_use_underline(instance::GtkCheckButton, _setting::Bool)
        ret = ccall(("gtk_check_button_set_use_underline", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _setting)
        nothing
    end
    function announce(instance::GtkCheckButton, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkCheckButton)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkCheckButton)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkCheckButton)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkCheckButton)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkCheckButton)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkCheckButton)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkCheckButton, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkCheckButton, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkCheckButton, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkCheckButton, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkCheckButton, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkCheckButton, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkCheckButton, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkCheckButton, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkCheckButton, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_action_name(instance::GtkCheckButton)
        get_action_name(GtkActionable(instance))
    end
    function get_action_target_value(instance::GtkCheckButton)
        get_action_target_value(GtkActionable(instance))
    end
    function set_action_name(instance::GtkCheckButton, _action_name::Maybe(Union{AbstractString, Symbol}))
        set_action_name(GtkActionable(instance), _action_name)
    end
    function set_action_target_value(instance::GtkCheckButton, _target_value::Maybe(GVariant))
        set_action_target_value(GtkActionable(instance), _target_value)
    end
    function set_detailed_action_name(instance::GtkCheckButton, _detailed_action_name::Union{AbstractString, Symbol})
        set_detailed_action_name(GtkActionable(instance), _detailed_action_name)
    end
    function get_buildable_id(instance::GtkCheckButton)
        get_buildable_id(GtkBuildable(instance))
    end
    function ColorButton_new()
        ret = ccall(("gtk_color_button_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkColorButtonLeaf(ret, false)
        ret2
    end
    function ColorButton_new_with_rgba(_rgba::Union{GdkRGBA, Ref{_GdkRGBA}})
        ret = ccall(("gtk_color_button_new_with_rgba", libgtk4), Ptr{GObject}, (Ptr{_GdkRGBA},), _rgba)
        ret2 = GtkColorButtonLeaf(ret, false)
        ret2
    end
    function get_modal(instance::GtkColorButton)
        ret = ccall(("gtk_color_button_get_modal", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_title(instance::GtkColorButton)
        ret = ccall(("gtk_color_button_get_title", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function set_modal(instance::GtkColorButton, _modal::Bool)
        ret = ccall(("gtk_color_button_set_modal", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _modal)
        nothing
    end
    function set_title(instance::GtkColorButton, _title::Union{AbstractString, Symbol})
        ret = ccall(("gtk_color_button_set_title", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _title)
        nothing
    end
    function announce(instance::GtkColorButton, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkColorButton)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkColorButton)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkColorButton)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkColorButton)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkColorButton)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkColorButton)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkColorButton, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkColorButton, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkColorButton, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkColorButton, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkColorButton, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkColorButton, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkColorButton, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkColorButton, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkColorButton, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkColorButton)
        get_buildable_id(GtkBuildable(instance))
    end
    function add_palette(instance::GtkColorButton, _orientation, _colors_per_line::Integer, _colors)
        add_palette(GtkColorChooser(instance), _orientation, _colors_per_line, _colors)
    end
    function get_rgba(instance::GtkColorButton)
        get_rgba(GtkColorChooser(instance))
    end
    function get_use_alpha(instance::GtkColorButton)
        get_use_alpha(GtkColorChooser(instance))
    end
    function set_rgba(instance::GtkColorButton, _color::Union{GdkRGBA, Ref{_GdkRGBA}})
        set_rgba(GtkColorChooser(instance), _color)
    end
    function set_use_alpha(instance::GtkColorButton, _use_alpha::Bool)
        set_use_alpha(GtkColorChooser(instance), _use_alpha)
    end
    function ColorChooserDialog_new(_title::Maybe(Union{AbstractString, Symbol}), _parent::Maybe(GtkWindow))
        _title_maybe = nothing_to_null(_title)
        _parent_maybe = nothing_to_null(_parent)
        ret = ccall(("gtk_color_chooser_dialog_new", libgtk4), Ptr{GObject}, (Cstring, Ptr{GObject}), _title_maybe, _parent_maybe)
        ret2 = GtkColorChooserDialogLeaf(ret, false)
        ret2
    end
    function announce(instance::GtkColorChooserDialog, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkColorChooserDialog)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkColorChooserDialog)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkColorChooserDialog)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkColorChooserDialog)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkColorChooserDialog)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkColorChooserDialog)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkColorChooserDialog, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkColorChooserDialog, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkColorChooserDialog, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkColorChooserDialog, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkColorChooserDialog, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkColorChooserDialog, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkColorChooserDialog, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkColorChooserDialog, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkColorChooserDialog, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkColorChooserDialog)
        get_buildable_id(GtkBuildable(instance))
    end
    function add_palette(instance::GtkColorChooserDialog, _orientation, _colors_per_line::Integer, _colors)
        add_palette(GtkColorChooser(instance), _orientation, _colors_per_line, _colors)
    end
    function get_rgba(instance::GtkColorChooserDialog)
        get_rgba(GtkColorChooser(instance))
    end
    function get_use_alpha(instance::GtkColorChooserDialog)
        get_use_alpha(GtkColorChooser(instance))
    end
    function set_rgba(instance::GtkColorChooserDialog, _color::Union{GdkRGBA, Ref{_GdkRGBA}})
        set_rgba(GtkColorChooser(instance), _color)
    end
    function set_use_alpha(instance::GtkColorChooserDialog, _use_alpha::Bool)
        set_use_alpha(GtkColorChooser(instance), _use_alpha)
    end
    function get_renderer(instance::GtkColorChooserDialog)
        get_renderer(GtkNative(instance))
    end
    function get_surface(instance::GtkColorChooserDialog)
        get_surface(GtkNative(instance))
    end
    function get_surface_transform(instance::GtkColorChooserDialog)
        get_surface_transform(GtkNative(instance))
    end
    function realize(instance::GtkColorChooserDialog)
        realize(GtkNative(instance))
    end
    function unrealize(instance::GtkColorChooserDialog)
        unrealize(GtkNative(instance))
    end
    function get_display(instance::GtkColorChooserDialog)
        get_display(GtkRoot(instance))
    end
    function get_focus(instance::GtkColorChooserDialog)
        get_focus(GtkRoot(instance))
    end
    function set_focus(instance::GtkColorChooserDialog, _focus::Maybe(GtkWidget))
        set_focus(GtkRoot(instance), _focus)
    end
    function ColorChooserWidget_new()
        ret = ccall(("gtk_color_chooser_widget_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkColorChooserWidgetLeaf(ret, false)
        ret2
    end
    function announce(instance::GtkColorChooserWidget, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkColorChooserWidget)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkColorChooserWidget)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkColorChooserWidget)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkColorChooserWidget)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkColorChooserWidget)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkColorChooserWidget)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkColorChooserWidget, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkColorChooserWidget, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkColorChooserWidget, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkColorChooserWidget, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkColorChooserWidget, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkColorChooserWidget, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkColorChooserWidget, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkColorChooserWidget, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkColorChooserWidget, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkColorChooserWidget)
        get_buildable_id(GtkBuildable(instance))
    end
    function add_palette(instance::GtkColorChooserWidget, _orientation, _colors_per_line::Integer, _colors)
        add_palette(GtkColorChooser(instance), _orientation, _colors_per_line, _colors)
    end
    function get_rgba(instance::GtkColorChooserWidget)
        get_rgba(GtkColorChooser(instance))
    end
    function get_use_alpha(instance::GtkColorChooserWidget)
        get_use_alpha(GtkColorChooser(instance))
    end
    function set_rgba(instance::GtkColorChooserWidget, _color::Union{GdkRGBA, Ref{_GdkRGBA}})
        set_rgba(GtkColorChooser(instance), _color)
    end
    function set_use_alpha(instance::GtkColorChooserWidget, _use_alpha::Bool)
        set_use_alpha(GtkColorChooser(instance), _use_alpha)
    end
    function ColorDialog_new()
        ret = ccall(("gtk_color_dialog_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkColorDialogLeaf(ret, true)
        ret2
    end
    function choose_rgba(instance::GtkColorDialog, _parent::Maybe(GtkWindow), _initial_color::Maybe(Union{GdkRGBA, Ref{_GdkRGBA}}), _cancellable::Maybe(GCancellable), _callback::Maybe(Function))
        _parent_maybe = nothing_to_null(_parent)
        _initial_color_maybe = nothing_to_null(_initial_color)
        _cancellable_maybe = nothing_to_null(_cancellable)
        if _callback === nothing
            _callback_cfunc = C_NULL
            _callback_closure = C_NULL
        else
            _callback_cfunc = @cfunction(GAsyncReadyCallback, Nothing, (Ptr{GObject}, Ptr{GObject}, Ref{Function}))
            _callback_closure = GLib.gc_ref(_callback)
        end
        ret = ccall(("gtk_color_dialog_choose_rgba", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{_GdkRGBA}, Ptr{GObject}, Ptr{Cvoid}, Ptr{Nothing}), instance, _parent_maybe, _initial_color_maybe, _cancellable_maybe, _callback_cfunc, _callback_closure)
        nothing
    end
    function choose_rgba_finish(instance::GtkColorDialog, _result::GAsyncResult)
        err = err_buf()
        ret = ccall(("gtk_color_dialog_choose_rgba_finish", libgtk4), Ptr{_GdkRGBA}, (Ptr{GObject}, Ptr{GObject}, Ptr{Ptr{GError}}), instance, _result, err)
        check_err(err)
        ret2 = convert_if_not_null(GdkRGBA, ret, true)
        ret2
    end
    function get_modal(instance::GtkColorDialog)
        ret = ccall(("gtk_color_dialog_get_modal", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_title(instance::GtkColorDialog)
        ret = ccall(("gtk_color_dialog_get_title", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_with_alpha(instance::GtkColorDialog)
        ret = ccall(("gtk_color_dialog_get_with_alpha", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_modal(instance::GtkColorDialog, _modal::Bool)
        ret = ccall(("gtk_color_dialog_set_modal", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _modal)
        nothing
    end
    function set_title(instance::GtkColorDialog, _title::Union{AbstractString, Symbol})
        ret = ccall(("gtk_color_dialog_set_title", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _title)
        nothing
    end
    function set_with_alpha(instance::GtkColorDialog, _with_alpha::Bool)
        ret = ccall(("gtk_color_dialog_set_with_alpha", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _with_alpha)
        nothing
    end
    function ColorDialogButton_new(_dialog::Maybe(GtkColorDialog))
        _dialog_maybe = begin
                if _dialog !== nothing
                    GLib.glib_ref(_dialog)
                end
                nothing_to_null(_dialog)
            end
        ret = ccall(("gtk_color_dialog_button_new", libgtk4), Ptr{GObject}, (Ptr{GObject},), _dialog_maybe)
        ret2 = GtkColorDialogButtonLeaf(ret, false)
        ret2
    end
    function get_dialog(instance::GtkColorDialogButton)
        ret = ccall(("gtk_color_dialog_button_get_dialog", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkColorDialog, ret, false)
        ret2
    end
    function get_rgba(instance::GtkColorDialogButton)
        ret = ccall(("gtk_color_dialog_button_get_rgba", libgtk4), Ptr{_GdkRGBA}, (Ptr{GObject},), instance)
        ret2 = convert(Union{GdkRGBA, Ref{_GdkRGBA}}, ret, false)
        ret2
    end
    function set_dialog(instance::GtkColorDialogButton, _dialog::GtkColorDialog)
        ret = ccall(("gtk_color_dialog_button_set_dialog", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _dialog)
        nothing
    end
    function set_rgba(instance::GtkColorDialogButton, _color::Union{GdkRGBA, Ref{_GdkRGBA}})
        ret = ccall(("gtk_color_dialog_button_set_rgba", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GdkRGBA}), instance, _color)
        nothing
    end
    function announce(instance::GtkColorDialogButton, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkColorDialogButton)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkColorDialogButton)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkColorDialogButton)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkColorDialogButton)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkColorDialogButton)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkColorDialogButton)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkColorDialogButton, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkColorDialogButton, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkColorDialogButton, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkColorDialogButton, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkColorDialogButton, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkColorDialogButton, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkColorDialogButton, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkColorDialogButton, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkColorDialogButton, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkColorDialogButton)
        get_buildable_id(GtkBuildable(instance))
    end
    function ColumnView_new(_model::Maybe(GtkSelectionModel))
        _model_maybe = begin
                if _model !== nothing
                    GLib.glib_ref(_model)
                end
                nothing_to_null(_model)
            end
        ret = ccall(("gtk_column_view_new", libgtk4), Ptr{GObject}, (Ptr{GObject},), _model_maybe)
        ret2 = GtkColumnViewLeaf(ret, false)
        ret2
    end
    function append_column(instance::GtkColumnView, _column::GtkColumnViewColumn)
        ret = ccall(("gtk_column_view_append_column", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _column)
        nothing
    end
    function get_columns(instance::GtkColumnView)
        ret = ccall(("gtk_column_view_get_columns", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = begin
                leaftype = GLib.find_leaf_type(ret)
                convert(leaftype, ret, false)
            end
        ret2
    end
    function get_enable_rubberband(instance::GtkColumnView)
        ret = ccall(("gtk_column_view_get_enable_rubberband", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_header_factory(instance::GtkColumnView)
        ret = ccall(("gtk_column_view_get_header_factory", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkListItemFactory, ret, false)
        ret2
    end
    function get_model(instance::GtkColumnView)
        ret = ccall(("gtk_column_view_get_model", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, false)
        ret2
    end
    function get_reorderable(instance::GtkColumnView)
        ret = ccall(("gtk_column_view_get_reorderable", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_row_factory(instance::GtkColumnView)
        ret = ccall(("gtk_column_view_get_row_factory", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkListItemFactory, ret, false)
        ret2
    end
    function get_show_column_separators(instance::GtkColumnView)
        ret = ccall(("gtk_column_view_get_show_column_separators", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_show_row_separators(instance::GtkColumnView)
        ret = ccall(("gtk_column_view_get_show_row_separators", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_single_click_activate(instance::GtkColumnView)
        ret = ccall(("gtk_column_view_get_single_click_activate", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_sorter(instance::GtkColumnView)
        ret = ccall(("gtk_column_view_get_sorter", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkSorter, ret, false)
        ret2
    end
    function get_tab_behavior(instance::GtkColumnView)
        ret = ccall(("gtk_column_view_get_tab_behavior", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = ListTabBehavior(ret)
        ret2
    end
    function insert_column(instance::GtkColumnView, _position::Integer, _column::GtkColumnViewColumn)
        ret = ccall(("gtk_column_view_insert_column", libgtk4), Nothing, (Ptr{GObject}, UInt32, Ptr{GObject}), instance, _position, _column)
        nothing
    end
    function remove_column(instance::GtkColumnView, _column::GtkColumnViewColumn)
        ret = ccall(("gtk_column_view_remove_column", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _column)
        nothing
    end
    function scroll_to(instance::GtkColumnView, _pos::Integer, _column::Maybe(GtkColumnViewColumn), _flags, _scroll::Maybe(GtkScrollInfo))
        _column_maybe = nothing_to_null(_column)
        _scroll_maybe = nothing_to_null(_scroll)
        ret = ccall(("gtk_column_view_scroll_to", libgtk4), Nothing, (Ptr{GObject}, UInt32, Ptr{GObject}, UInt32, Ptr{GtkScrollInfo}), instance, _pos, _column_maybe, _flags, _scroll_maybe)
        nothing
    end
    function set_enable_rubberband(instance::GtkColumnView, _enable_rubberband::Bool)
        ret = ccall(("gtk_column_view_set_enable_rubberband", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _enable_rubberband)
        nothing
    end
    function set_header_factory(instance::GtkColumnView, _factory::Maybe(GtkListItemFactory))
        _factory_maybe = nothing_to_null(_factory)
        ret = ccall(("gtk_column_view_set_header_factory", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _factory_maybe)
        nothing
    end
    function set_model(instance::GtkColumnView, _model::Maybe(GtkSelectionModel))
        _model_maybe = nothing_to_null(_model)
        ret = ccall(("gtk_column_view_set_model", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _model_maybe)
        nothing
    end
    function set_reorderable(instance::GtkColumnView, _reorderable::Bool)
        ret = ccall(("gtk_column_view_set_reorderable", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _reorderable)
        nothing
    end
    function set_row_factory(instance::GtkColumnView, _factory::Maybe(GtkListItemFactory))
        _factory_maybe = nothing_to_null(_factory)
        ret = ccall(("gtk_column_view_set_row_factory", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _factory_maybe)
        nothing
    end
    function set_show_column_separators(instance::GtkColumnView, _show_column_separators::Bool)
        ret = ccall(("gtk_column_view_set_show_column_separators", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _show_column_separators)
        nothing
    end
    function set_show_row_separators(instance::GtkColumnView, _show_row_separators::Bool)
        ret = ccall(("gtk_column_view_set_show_row_separators", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _show_row_separators)
        nothing
    end
    function set_single_click_activate(instance::GtkColumnView, _single_click_activate::Bool)
        ret = ccall(("gtk_column_view_set_single_click_activate", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _single_click_activate)
        nothing
    end
    function set_tab_behavior(instance::GtkColumnView, _tab_behavior)
        ret = ccall(("gtk_column_view_set_tab_behavior", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _tab_behavior)
        nothing
    end
    function sort_by_column(instance::GtkColumnView, _column::Maybe(GtkColumnViewColumn), _direction)
        _column_maybe = nothing_to_null(_column)
        ret = ccall(("gtk_column_view_sort_by_column", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, UInt32), instance, _column_maybe, _direction)
        nothing
    end
    function announce(instance::GtkColumnView, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkColumnView)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkColumnView)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkColumnView)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkColumnView)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkColumnView)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkColumnView)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkColumnView, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkColumnView, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkColumnView, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkColumnView, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkColumnView, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkColumnView, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkColumnView, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkColumnView, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkColumnView, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkColumnView)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_border(instance::GtkColumnView)
        get_border(GtkScrollable(instance))
    end
    function get_hadjustment(instance::GtkColumnView)
        get_hadjustment(GtkScrollable(instance))
    end
    function get_hscroll_policy(instance::GtkColumnView)
        get_hscroll_policy(GtkScrollable(instance))
    end
    function get_vadjustment(instance::GtkColumnView)
        get_vadjustment(GtkScrollable(instance))
    end
    function get_vscroll_policy(instance::GtkColumnView)
        get_vscroll_policy(GtkScrollable(instance))
    end
    function set_hadjustment(instance::GtkColumnView, _hadjustment::Maybe(GtkAdjustment))
        set_hadjustment(GtkScrollable(instance), _hadjustment)
    end
    function set_hscroll_policy(instance::GtkColumnView, _policy)
        set_hscroll_policy(GtkScrollable(instance), _policy)
    end
    function set_vadjustment(instance::GtkColumnView, _vadjustment::Maybe(GtkAdjustment))
        set_vadjustment(GtkScrollable(instance), _vadjustment)
    end
    function set_vscroll_policy(instance::GtkColumnView, _policy)
        set_vscroll_policy(GtkScrollable(instance), _policy)
    end
    function get_child(instance::GtkColumnViewCell)
        ret = ccall(("gtk_column_view_cell_get_child", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_focusable(instance::GtkColumnViewCell)
        ret = ccall(("gtk_column_view_cell_get_focusable", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_item(instance::GtkColumnViewCell)
        ret = ccall(("gtk_column_view_cell_get_item", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GObject, ret, false)
        ret2
    end
    function get_position(instance::GtkColumnViewCell)
        ret = ccall(("gtk_column_view_cell_get_position", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function get_selected(instance::GtkColumnViewCell)
        ret = ccall(("gtk_column_view_cell_get_selected", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_child(instance::GtkColumnViewCell, _child::Maybe(GtkWidget))
        _child_maybe = nothing_to_null(_child)
        ret = ccall(("gtk_column_view_cell_set_child", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child_maybe)
        nothing
    end
    function set_focusable(instance::GtkColumnViewCell, _focusable::Bool)
        ret = ccall(("gtk_column_view_cell_set_focusable", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _focusable)
        nothing
    end
    function ColumnViewColumn_new(_title::Maybe(Union{AbstractString, Symbol}), _factory::Maybe(GtkListItemFactory))
        _title_maybe = nothing_to_null(_title)
        _factory_maybe = begin
                if _factory !== nothing
                    GLib.glib_ref(_factory)
                end
                nothing_to_null(_factory)
            end
        ret = ccall(("gtk_column_view_column_new", libgtk4), Ptr{GObject}, (Cstring, Ptr{GObject}), _title_maybe, _factory_maybe)
        ret2 = GtkColumnViewColumnLeaf(ret, true)
        ret2
    end
    function get_column_view(instance::GtkColumnViewColumn)
        ret = ccall(("gtk_column_view_column_get_column_view", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkColumnView, ret, false)
        ret2
    end
    function get_expand(instance::GtkColumnViewColumn)
        ret = ccall(("gtk_column_view_column_get_expand", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_factory(instance::GtkColumnViewColumn)
        ret = ccall(("gtk_column_view_column_get_factory", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkListItemFactory, ret, false)
        ret2
    end
    function get_fixed_width(instance::GtkColumnViewColumn)
        ret = ccall(("gtk_column_view_column_get_fixed_width", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_header_menu(instance::GtkColumnViewColumn)
        ret = ccall(("gtk_column_view_column_get_header_menu", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GMenuModel, ret, false)
        ret2
    end
    function get_id(instance::GtkColumnViewColumn)
        ret = ccall(("gtk_column_view_column_get_id", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_resizable(instance::GtkColumnViewColumn)
        ret = ccall(("gtk_column_view_column_get_resizable", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_sorter(instance::GtkColumnViewColumn)
        ret = ccall(("gtk_column_view_column_get_sorter", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkSorter, ret, false)
        ret2
    end
    function get_title(instance::GtkColumnViewColumn)
        ret = ccall(("gtk_column_view_column_get_title", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_visible(instance::GtkColumnViewColumn)
        ret = ccall(("gtk_column_view_column_get_visible", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_expand(instance::GtkColumnViewColumn, _expand::Bool)
        ret = ccall(("gtk_column_view_column_set_expand", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _expand)
        nothing
    end
    function set_factory(instance::GtkColumnViewColumn, _factory::Maybe(GtkListItemFactory))
        _factory_maybe = nothing_to_null(_factory)
        ret = ccall(("gtk_column_view_column_set_factory", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _factory_maybe)
        nothing
    end
    function set_fixed_width(instance::GtkColumnViewColumn, _fixed_width::Integer)
        ret = ccall(("gtk_column_view_column_set_fixed_width", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _fixed_width)
        nothing
    end
    function set_header_menu(instance::GtkColumnViewColumn, _menu::Maybe(GMenuModel))
        _menu_maybe = nothing_to_null(_menu)
        ret = ccall(("gtk_column_view_column_set_header_menu", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _menu_maybe)
        nothing
    end
    function set_id(instance::GtkColumnViewColumn, _id::Maybe(Union{AbstractString, Symbol}))
        _id_maybe = nothing_to_null(_id)
        ret = ccall(("gtk_column_view_column_set_id", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _id_maybe)
        nothing
    end
    function set_resizable(instance::GtkColumnViewColumn, _resizable::Bool)
        ret = ccall(("gtk_column_view_column_set_resizable", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _resizable)
        nothing
    end
    function set_sorter(instance::GtkColumnViewColumn, _sorter::Maybe(GtkSorter))
        _sorter_maybe = nothing_to_null(_sorter)
        ret = ccall(("gtk_column_view_column_set_sorter", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _sorter_maybe)
        nothing
    end
    function set_title(instance::GtkColumnViewColumn, _title::Maybe(Union{AbstractString, Symbol}))
        _title_maybe = nothing_to_null(_title)
        ret = ccall(("gtk_column_view_column_set_title", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _title_maybe)
        nothing
    end
    function set_visible(instance::GtkColumnViewColumn, _visible::Bool)
        ret = ccall(("gtk_column_view_column_set_visible", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _visible)
        nothing
    end
    function get_accessible_description(instance::GtkColumnViewRow)
        ret = ccall(("gtk_column_view_row_get_accessible_description", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_accessible_label(instance::GtkColumnViewRow)
        ret = ccall(("gtk_column_view_row_get_accessible_label", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_activatable(instance::GtkColumnViewRow)
        ret = ccall(("gtk_column_view_row_get_activatable", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_focusable(instance::GtkColumnViewRow)
        ret = ccall(("gtk_column_view_row_get_focusable", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_item(instance::GtkColumnViewRow)
        ret = ccall(("gtk_column_view_row_get_item", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GObject, ret, false)
        ret2
    end
    function get_position(instance::GtkColumnViewRow)
        ret = ccall(("gtk_column_view_row_get_position", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function get_selectable(instance::GtkColumnViewRow)
        ret = ccall(("gtk_column_view_row_get_selectable", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_selected(instance::GtkColumnViewRow)
        ret = ccall(("gtk_column_view_row_get_selected", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_accessible_description(instance::GtkColumnViewRow, _description::Union{AbstractString, Symbol})
        ret = ccall(("gtk_column_view_row_set_accessible_description", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _description)
        nothing
    end
    function set_accessible_label(instance::GtkColumnViewRow, _label::Union{AbstractString, Symbol})
        ret = ccall(("gtk_column_view_row_set_accessible_label", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _label)
        nothing
    end
    function set_activatable(instance::GtkColumnViewRow, _activatable::Bool)
        ret = ccall(("gtk_column_view_row_set_activatable", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _activatable)
        nothing
    end
    function set_focusable(instance::GtkColumnViewRow, _focusable::Bool)
        ret = ccall(("gtk_column_view_row_set_focusable", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _focusable)
        nothing
    end
    function set_selectable(instance::GtkColumnViewRow, _selectable::Bool)
        ret = ccall(("gtk_column_view_row_set_selectable", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _selectable)
        nothing
    end
    function get_n_sort_columns(instance::GtkColumnViewSorter)
        ret = ccall(("gtk_column_view_sorter_get_n_sort_columns", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function get_nth_sort_column(instance::GtkColumnViewSorter, _position::Integer)
        m_sort_order = Ref{UInt32}()
        ret = ccall(("gtk_column_view_sorter_get_nth_sort_column", libgtk4), Ptr{GObject}, (Ptr{GObject}, UInt32, Ptr{UInt32}), instance, _position, m_sort_order)
        ret2 = convert_if_not_null(GtkColumnViewColumn, ret, false)
        _sort_order = m_sort_order[]
        _sort_order = SortType(_sort_order)
        (ret2, _sort_order)
    end
    function get_primary_sort_column(instance::GtkColumnViewSorter)
        ret = ccall(("gtk_column_view_sorter_get_primary_sort_column", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkColumnViewColumn, ret, false)
        ret2
    end
    function get_primary_sort_order(instance::GtkColumnViewSorter)
        ret = ccall(("gtk_column_view_sorter_get_primary_sort_order", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = SortType(ret)
        ret2
    end
    function ComboBox_new()
        ret = ccall(("gtk_combo_box_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkComboBoxLeaf(ret, false)
        ret2
    end
    function ComboBox_new_with_entry()
        ret = ccall(("gtk_combo_box_new_with_entry", libgtk4), Ptr{GObject}, ())
        ret2 = GtkComboBoxLeaf(ret, false)
        ret2
    end
    function ComboBox_new_with_model(_model::GtkTreeModel)
        ret = ccall(("gtk_combo_box_new_with_model", libgtk4), Ptr{GObject}, (Ptr{GObject},), _model)
        ret2 = GtkComboBoxLeaf(ret, false)
        ret2
    end
    function ComboBox_new_with_model_and_entry(_model::GtkTreeModel)
        ret = ccall(("gtk_combo_box_new_with_model_and_entry", libgtk4), Ptr{GObject}, (Ptr{GObject},), _model)
        ret2 = GtkComboBoxLeaf(ret, false)
        ret2
    end
    function get_active(instance::GtkComboBox)
        ret = ccall(("gtk_combo_box_get_active", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_active_id(instance::GtkComboBox)
        ret = ccall(("gtk_combo_box_get_active_id", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_active_iter(instance::GtkComboBox)
        m_iter = Ref{_GtkTreeIter}()
        ret = ccall(("gtk_combo_box_get_active_iter", libgtk4), Cint, (Ptr{GObject}, Ptr{_GtkTreeIter}), instance, m_iter)
        ret2 = convert(Bool, ret)
        _iter = m_iter[]
        (ret2, _iter)
    end
    function get_button_sensitivity(instance::GtkComboBox)
        ret = ccall(("gtk_combo_box_get_button_sensitivity", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = SensitivityType(ret)
        ret2
    end
    function get_child(instance::GtkComboBox)
        ret = ccall(("gtk_combo_box_get_child", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_entry_text_column(instance::GtkComboBox)
        ret = ccall(("gtk_combo_box_get_entry_text_column", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_has_entry(instance::GtkComboBox)
        ret = ccall(("gtk_combo_box_get_has_entry", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_id_column(instance::GtkComboBox)
        ret = ccall(("gtk_combo_box_get_id_column", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_model(instance::GtkComboBox)
        ret = ccall(("gtk_combo_box_get_model", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, false)
        ret2
    end
    function get_popup_fixed_width(instance::GtkComboBox)
        ret = ccall(("gtk_combo_box_get_popup_fixed_width", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function popdown(instance::GtkComboBox)
        ret = ccall(("gtk_combo_box_popdown", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function popup(instance::GtkComboBox)
        ret = ccall(("gtk_combo_box_popup", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function popup_for_device(instance::GtkComboBox, _device::GdkDevice)
        ret = ccall(("gtk_combo_box_popup_for_device", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _device)
        nothing
    end
    function set_active(instance::GtkComboBox, _index_::Integer)
        ret = ccall(("gtk_combo_box_set_active", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _index_)
        nothing
    end
    function set_active_id(instance::GtkComboBox, _active_id::Maybe(Union{AbstractString, Symbol}))
        _active_id_maybe = nothing_to_null(_active_id)
        ret = ccall(("gtk_combo_box_set_active_id", libgtk4), Cint, (Ptr{GObject}, Cstring), instance, _active_id_maybe)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_active_iter(instance::GtkComboBox, _iter::Maybe(Union{GtkTreeIter, Ref{_GtkTreeIter}}))
        _iter_maybe = nothing_to_null(_iter)
        ret = ccall(("gtk_combo_box_set_active_iter", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTreeIter}), instance, _iter_maybe)
        nothing
    end
    function set_button_sensitivity(instance::GtkComboBox, _sensitivity)
        ret = ccall(("gtk_combo_box_set_button_sensitivity", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _sensitivity)
        nothing
    end
    function set_child(instance::GtkComboBox, _child::Maybe(GtkWidget))
        _child_maybe = nothing_to_null(_child)
        ret = ccall(("gtk_combo_box_set_child", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child_maybe)
        nothing
    end
    function set_entry_text_column(instance::GtkComboBox, _text_column::Integer)
        ret = ccall(("gtk_combo_box_set_entry_text_column", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _text_column)
        nothing
    end
    function set_id_column(instance::GtkComboBox, _id_column::Integer)
        ret = ccall(("gtk_combo_box_set_id_column", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _id_column)
        nothing
    end
    function set_model(instance::GtkComboBox, _model::Maybe(GtkTreeModel))
        _model_maybe = nothing_to_null(_model)
        ret = ccall(("gtk_combo_box_set_model", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _model_maybe)
        nothing
    end
    function set_popup_fixed_width(instance::GtkComboBox, _fixed::Bool)
        ret = ccall(("gtk_combo_box_set_popup_fixed_width", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _fixed)
        nothing
    end
    function announce(instance::GtkComboBox, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkComboBox)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkComboBox)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkComboBox)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkComboBox)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkComboBox)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkComboBox)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkComboBox, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkComboBox, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkComboBox, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkComboBox, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkComboBox, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkComboBox, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkComboBox, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkComboBox, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkComboBox, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkComboBox)
        get_buildable_id(GtkBuildable(instance))
    end
    function editing_done(instance::GtkComboBox)
        editing_done(GtkCellEditable(instance))
    end
    function remove_widget(instance::GtkComboBox)
        remove_widget(GtkCellEditable(instance))
    end
    function start_editing(instance::GtkComboBox, _event::Maybe(GdkEvent))
        start_editing(GtkCellEditable(instance), _event)
    end
    function add_attribute(instance::GtkComboBox, _cell::GtkCellRenderer, _attribute::Union{AbstractString, Symbol}, _column::Integer)
        add_attribute(GtkCellLayout(instance), _cell, _attribute, _column)
    end
    function clear(instance::GtkComboBox)
        clear(GtkCellLayout(instance))
    end
    function clear_attributes(instance::GtkComboBox, _cell::GtkCellRenderer)
        clear_attributes(GtkCellLayout(instance), _cell)
    end
    function get_area(instance::GtkComboBox)
        get_area(GtkCellLayout(instance))
    end
    function get_cells(instance::GtkComboBox)
        get_cells(GtkCellLayout(instance))
    end
    function pack_end(instance::GtkComboBox, _cell::GtkCellRenderer, _expand::Bool)
        pack_end(GtkCellLayout(instance), _cell, _expand)
    end
    function pack_start(instance::GtkComboBox, _cell::GtkCellRenderer, _expand::Bool)
        pack_start(GtkCellLayout(instance), _cell, _expand)
    end
    function reorder(instance::GtkComboBox, _cell::GtkCellRenderer, _position::Integer)
        reorder(GtkCellLayout(instance), _cell, _position)
    end
    function set_cell_data_func(instance::GtkComboBox, _cell::GtkCellRenderer, _func::Maybe(Function), _destroy::Function)
        set_cell_data_func(GtkCellLayout(instance), _cell, _func, _destroy)
    end
    function ComboBoxText_new()
        ret = ccall(("gtk_combo_box_text_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkComboBoxTextLeaf(ret, false)
        ret2
    end
    function ComboBoxText_new_with_entry()
        ret = ccall(("gtk_combo_box_text_new_with_entry", libgtk4), Ptr{GObject}, ())
        ret2 = GtkComboBoxTextLeaf(ret, false)
        ret2
    end
    function append(instance::GtkComboBoxText, _id::Maybe(Union{AbstractString, Symbol}), _text::Union{AbstractString, Symbol})
        _id_maybe = nothing_to_null(_id)
        ret = ccall(("gtk_combo_box_text_append", libgtk4), Nothing, (Ptr{GObject}, Cstring, Cstring), instance, _id_maybe, _text)
        nothing
    end
    function append_text(instance::GtkComboBoxText, _text::Union{AbstractString, Symbol})
        ret = ccall(("gtk_combo_box_text_append_text", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _text)
        nothing
    end
    function get_active_text(instance::GtkComboBoxText)
        ret = ccall(("gtk_combo_box_text_get_active_text", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, true)
        ret2
    end
    function insert(instance::GtkComboBoxText, _position::Integer, _id::Maybe(Union{AbstractString, Symbol}), _text::Union{AbstractString, Symbol})
        _id_maybe = nothing_to_null(_id)
        ret = ccall(("gtk_combo_box_text_insert", libgtk4), Nothing, (Ptr{GObject}, Int32, Cstring, Cstring), instance, _position, _id_maybe, _text)
        nothing
    end
    function insert_text(instance::GtkComboBoxText, _position::Integer, _text::Union{AbstractString, Symbol})
        ret = ccall(("gtk_combo_box_text_insert_text", libgtk4), Nothing, (Ptr{GObject}, Int32, Cstring), instance, _position, _text)
        nothing
    end
    function prepend(instance::GtkComboBoxText, _id::Maybe(Union{AbstractString, Symbol}), _text::Union{AbstractString, Symbol})
        _id_maybe = nothing_to_null(_id)
        ret = ccall(("gtk_combo_box_text_prepend", libgtk4), Nothing, (Ptr{GObject}, Cstring, Cstring), instance, _id_maybe, _text)
        nothing
    end
    function prepend_text(instance::GtkComboBoxText, _text::Union{AbstractString, Symbol})
        ret = ccall(("gtk_combo_box_text_prepend_text", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _text)
        nothing
    end
    function remove(instance::GtkComboBoxText, _position::Integer)
        ret = ccall(("gtk_combo_box_text_remove", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _position)
        nothing
    end
    function remove_all(instance::GtkComboBoxText)
        ret = ccall(("gtk_combo_box_text_remove_all", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function announce(instance::GtkComboBoxText, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkComboBoxText)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkComboBoxText)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkComboBoxText)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkComboBoxText)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkComboBoxText)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkComboBoxText)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkComboBoxText, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkComboBoxText, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkComboBoxText, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkComboBoxText, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkComboBoxText, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkComboBoxText, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkComboBoxText, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkComboBoxText, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkComboBoxText, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkComboBoxText)
        get_buildable_id(GtkBuildable(instance))
    end
    function editing_done(instance::GtkComboBoxText)
        editing_done(GtkCellEditable(instance))
    end
    function remove_widget(instance::GtkComboBoxText)
        remove_widget(GtkCellEditable(instance))
    end
    function start_editing(instance::GtkComboBoxText, _event::Maybe(GdkEvent))
        start_editing(GtkCellEditable(instance), _event)
    end
    function add_attribute(instance::GtkComboBoxText, _cell::GtkCellRenderer, _attribute::Union{AbstractString, Symbol}, _column::Integer)
        add_attribute(GtkCellLayout(instance), _cell, _attribute, _column)
    end
    function clear(instance::GtkComboBoxText)
        clear(GtkCellLayout(instance))
    end
    function clear_attributes(instance::GtkComboBoxText, _cell::GtkCellRenderer)
        clear_attributes(GtkCellLayout(instance), _cell)
    end
    function get_area(instance::GtkComboBoxText)
        get_area(GtkCellLayout(instance))
    end
    function get_cells(instance::GtkComboBoxText)
        get_cells(GtkCellLayout(instance))
    end
    function pack_end(instance::GtkComboBoxText, _cell::GtkCellRenderer, _expand::Bool)
        pack_end(GtkCellLayout(instance), _cell, _expand)
    end
    function pack_start(instance::GtkComboBoxText, _cell::GtkCellRenderer, _expand::Bool)
        pack_start(GtkCellLayout(instance), _cell, _expand)
    end
    function reorder(instance::GtkComboBoxText, _cell::GtkCellRenderer, _position::Integer)
        reorder(GtkCellLayout(instance), _cell, _position)
    end
    function set_cell_data_func(instance::GtkComboBoxText, _cell::GtkCellRenderer, _func::Maybe(Function), _destroy::Function)
        set_cell_data_func(GtkCellLayout(instance), _cell, _func, _destroy)
    end
    function ConstantExpression_new_for_value(_value::Union{GValue, Ref{_GValue}})
        ret = ccall(("gtk_constant_expression_new_for_value", libgtk4), Ptr{GtkExpression}, (Ptr{_GValue},), _value)
        ret2 = convert(GtkExpression, ret)
        ret2
    end
    function get_value(instance::GtkConstantExpression)
        ret = ccall(("gtk_constant_expression_get_value", libgtk4), Ptr{_GValue}, (Ptr{GtkExpression},), instance)
        ret2 = convert(Union{GValue, Ref{_GValue}}, ret, false)
        ret2
    end
    function Constraint_new(_target::Maybe(GtkConstraintTarget), _target_attribute, _relation, _source::Maybe(GtkConstraintTarget), _source_attribute, _multiplier::Real, _constant::Real, _strength::Integer)
        _target_maybe = nothing_to_null(_target)
        _source_maybe = nothing_to_null(_source)
        ret = ccall(("gtk_constraint_new", libgtk4), Ptr{GObject}, (Ptr{GObject}, UInt32, UInt32, Ptr{GObject}, UInt32, Float64, Float64, Int32), _target_maybe, _target_attribute, _relation, _source_maybe, _source_attribute, _multiplier, _constant, _strength)
        ret2 = GtkConstraintLeaf(ret, true)
        ret2
    end
    function Constraint_new_constant(_target::Maybe(GtkConstraintTarget), _target_attribute, _relation, _constant::Real, _strength::Integer)
        _target_maybe = nothing_to_null(_target)
        ret = ccall(("gtk_constraint_new_constant", libgtk4), Ptr{GObject}, (Ptr{GObject}, UInt32, UInt32, Float64, Int32), _target_maybe, _target_attribute, _relation, _constant, _strength)
        ret2 = GtkConstraintLeaf(ret, true)
        ret2
    end
    function get_constant(instance::GtkConstraint)
        ret = ccall(("gtk_constraint_get_constant", libgtk4), Float64, (Ptr{GObject},), instance)
        ret
    end
    function get_multiplier(instance::GtkConstraint)
        ret = ccall(("gtk_constraint_get_multiplier", libgtk4), Float64, (Ptr{GObject},), instance)
        ret
    end
    function get_relation(instance::GtkConstraint)
        ret = ccall(("gtk_constraint_get_relation", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = ConstraintRelation(ret)
        ret2
    end
    function get_source(instance::GtkConstraint)
        ret = ccall(("gtk_constraint_get_source", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, false)
        ret2
    end
    function get_source_attribute(instance::GtkConstraint)
        ret = ccall(("gtk_constraint_get_source_attribute", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = ConstraintAttribute(ret)
        ret2
    end
    function get_strength(instance::GtkConstraint)
        ret = ccall(("gtk_constraint_get_strength", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_target(instance::GtkConstraint)
        ret = ccall(("gtk_constraint_get_target", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, false)
        ret2
    end
    function get_target_attribute(instance::GtkConstraint)
        ret = ccall(("gtk_constraint_get_target_attribute", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = ConstraintAttribute(ret)
        ret2
    end
    function is_attached(instance::GtkConstraint)
        ret = ccall(("gtk_constraint_is_attached", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function is_constant(instance::GtkConstraint)
        ret = ccall(("gtk_constraint_is_constant", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function is_required(instance::GtkConstraint)
        ret = ccall(("gtk_constraint_is_required", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function ConstraintGuide_new()
        ret = ccall(("gtk_constraint_guide_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkConstraintGuideLeaf(ret, true)
        ret2
    end
    function get_max_size(instance::GtkConstraintGuide)
        m_width = Ref{Int32}()
        m_height = Ref{Int32}()
        ret = ccall(("gtk_constraint_guide_get_max_size", libgtk4), Nothing, (Ptr{GObject}, Ptr{Int32}, Ptr{Int32}), instance, m_width, m_height)
        _width = m_width[]
        _height = m_height[]
        (_width, _height)
    end
    function get_min_size(instance::GtkConstraintGuide)
        m_width = Ref{Int32}()
        m_height = Ref{Int32}()
        ret = ccall(("gtk_constraint_guide_get_min_size", libgtk4), Nothing, (Ptr{GObject}, Ptr{Int32}, Ptr{Int32}), instance, m_width, m_height)
        _width = m_width[]
        _height = m_height[]
        (_width, _height)
    end
    function get_name(instance::GtkConstraintGuide)
        ret = ccall(("gtk_constraint_guide_get_name", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_nat_size(instance::GtkConstraintGuide)
        m_width = Ref{Int32}()
        m_height = Ref{Int32}()
        ret = ccall(("gtk_constraint_guide_get_nat_size", libgtk4), Nothing, (Ptr{GObject}, Ptr{Int32}, Ptr{Int32}), instance, m_width, m_height)
        _width = m_width[]
        _height = m_height[]
        (_width, _height)
    end
    function get_strength(instance::GtkConstraintGuide)
        ret = ccall(("gtk_constraint_guide_get_strength", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = ConstraintStrength(ret)
        ret2
    end
    function set_max_size(instance::GtkConstraintGuide, _width::Integer, _height::Integer)
        ret = ccall(("gtk_constraint_guide_set_max_size", libgtk4), Nothing, (Ptr{GObject}, Int32, Int32), instance, _width, _height)
        nothing
    end
    function set_min_size(instance::GtkConstraintGuide, _width::Integer, _height::Integer)
        ret = ccall(("gtk_constraint_guide_set_min_size", libgtk4), Nothing, (Ptr{GObject}, Int32, Int32), instance, _width, _height)
        nothing
    end
    function set_name(instance::GtkConstraintGuide, _name::Maybe(Union{AbstractString, Symbol}))
        _name_maybe = nothing_to_null(_name)
        ret = ccall(("gtk_constraint_guide_set_name", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _name_maybe)
        nothing
    end
    function set_nat_size(instance::GtkConstraintGuide, _width::Integer, _height::Integer)
        ret = ccall(("gtk_constraint_guide_set_nat_size", libgtk4), Nothing, (Ptr{GObject}, Int32, Int32), instance, _width, _height)
        nothing
    end
    function set_strength(instance::GtkConstraintGuide, _strength)
        ret = ccall(("gtk_constraint_guide_set_strength", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _strength)
        nothing
    end
    function ConstraintLayout_new()
        ret = ccall(("gtk_constraint_layout_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkConstraintLayoutLeaf(ret, true)
        ret2
    end
    function add_constraint(instance::GtkConstraintLayout, _constraint::GtkConstraint)
        _constraint = GLib.glib_ref(_constraint)
        ret = ccall(("gtk_constraint_layout_add_constraint", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _constraint)
        nothing
    end
    function add_constraints_from_description(instance::GtkConstraintLayout, _lines, _hspacing::Integer, _vspacing::Integer, _views)
        _n_lines = length(_lines)
        err = err_buf()
        ret = ccall(("gtk_constraint_layout_add_constraints_from_descriptionv", libgtk4), Ptr{GLib._GList{Ptr{GObject}}}, (Ptr{GObject}, Ptr{Cstring}, UInt64, Int32, Int32, Ptr{GHashTable}, Ptr{Ptr{GError}}), instance, _lines, _n_lines, _hspacing, _vspacing, _views, err)
        check_err(err)
        ret2 = GLib.GList(ret, false)
        ret2
    end
    function add_guide(instance::GtkConstraintLayout, _guide::GtkConstraintGuide)
        _guide = GLib.glib_ref(_guide)
        ret = ccall(("gtk_constraint_layout_add_guide", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _guide)
        nothing
    end
    function observe_constraints(instance::GtkConstraintLayout)
        ret = ccall(("gtk_constraint_layout_observe_constraints", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = begin
                leaftype = GLib.find_leaf_type(ret)
                convert(leaftype, ret, true)
            end
        ret2
    end
    function observe_guides(instance::GtkConstraintLayout)
        ret = ccall(("gtk_constraint_layout_observe_guides", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = begin
                leaftype = GLib.find_leaf_type(ret)
                convert(leaftype, ret, true)
            end
        ret2
    end
    function remove_all_constraints(instance::GtkConstraintLayout)
        ret = ccall(("gtk_constraint_layout_remove_all_constraints", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function remove_constraint(instance::GtkConstraintLayout, _constraint::GtkConstraint)
        ret = ccall(("gtk_constraint_layout_remove_constraint", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _constraint)
        nothing
    end
    function remove_guide(instance::GtkConstraintLayout, _guide::GtkConstraintGuide)
        ret = ccall(("gtk_constraint_layout_remove_guide", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _guide)
        nothing
    end
    function get_buildable_id(instance::GtkConstraintLayout)
        get_buildable_id(GtkBuildable(instance))
    end
    function CssProvider_new()
        ret = ccall(("gtk_css_provider_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkCssProviderLeaf(ret, true)
        ret2
    end
    function load_from_bytes(instance::GtkCssProvider, _data::GBytes)
        ret = ccall(("gtk_css_provider_load_from_bytes", libgtk4), Nothing, (Ptr{GObject}, Ptr{GBytes}), instance, _data)
        nothing
    end
    function load_from_data(instance::GtkCssProvider, _data::Union{AbstractString, Symbol}, _length::Integer)
        ret = ccall(("gtk_css_provider_load_from_data", libgtk4), Nothing, (Ptr{GObject}, Cstring, Int64), instance, _data, _length)
        nothing
    end
    function load_from_file(instance::GtkCssProvider, _file::GFile)
        ret = ccall(("gtk_css_provider_load_from_file", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _file)
        nothing
    end
    function load_from_path(instance::GtkCssProvider, _path::Union{AbstractString, Symbol})
        ret = ccall(("gtk_css_provider_load_from_path", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _path)
        nothing
    end
    function load_from_resource(instance::GtkCssProvider, _resource_path::Union{AbstractString, Symbol})
        ret = ccall(("gtk_css_provider_load_from_resource", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _resource_path)
        nothing
    end
    function load_from_string(instance::GtkCssProvider, _string::Union{AbstractString, Symbol})
        ret = ccall(("gtk_css_provider_load_from_string", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _string)
        nothing
    end
    function load_named(instance::GtkCssProvider, _name::Union{AbstractString, Symbol}, _variant::Maybe(Union{AbstractString, Symbol}))
        _variant_maybe = nothing_to_null(_variant)
        ret = ccall(("gtk_css_provider_load_named", libgtk4), Nothing, (Ptr{GObject}, Cstring, Cstring), instance, _name, _variant_maybe)
        nothing
    end
    function to_string(instance::GtkCssProvider)
        ret = ccall(("gtk_css_provider_to_string", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, true)
        ret2
    end
    function Dialog_new()
        ret = ccall(("gtk_dialog_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkDialogLeaf(ret, false)
        ret2
    end
    function add_action_widget(instance::GtkDialog, _child::GtkWidget, _response_id::Integer)
        ret = ccall(("gtk_dialog_add_action_widget", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Int32), instance, _child, _response_id)
        nothing
    end
    function add_button(instance::GtkDialog, _button_text::Union{AbstractString, Symbol}, _response_id::Integer)
        ret = ccall(("gtk_dialog_add_button", libgtk4), Ptr{GObject}, (Ptr{GObject}, Cstring, Int32), instance, _button_text, _response_id)
        ret2 = convert(GtkWidget, ret, false)
        ret2
    end
    function get_content_area(instance::GtkDialog)
        ret = ccall(("gtk_dialog_get_content_area", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GtkBox, ret, false)
        ret2
    end
    function get_header_bar(instance::GtkDialog)
        ret = ccall(("gtk_dialog_get_header_bar", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GtkHeaderBar, ret, false)
        ret2
    end
    function get_response_for_widget(instance::GtkDialog, _widget::GtkWidget)
        ret = ccall(("gtk_dialog_get_response_for_widget", libgtk4), Int32, (Ptr{GObject}, Ptr{GObject}), instance, _widget)
        ret
    end
    function get_widget_for_response(instance::GtkDialog, _response_id::Integer)
        ret = ccall(("gtk_dialog_get_widget_for_response", libgtk4), Ptr{GObject}, (Ptr{GObject}, Int32), instance, _response_id)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function response(instance::GtkDialog, _response_id::Integer)
        ret = ccall(("gtk_dialog_response", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _response_id)
        nothing
    end
    function set_default_response(instance::GtkDialog, _response_id::Integer)
        ret = ccall(("gtk_dialog_set_default_response", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _response_id)
        nothing
    end
    function set_response_sensitive(instance::GtkDialog, _response_id::Integer, _setting::Bool)
        ret = ccall(("gtk_dialog_set_response_sensitive", libgtk4), Nothing, (Ptr{GObject}, Int32, Cint), instance, _response_id, _setting)
        nothing
    end
    function announce(instance::GtkDialog, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkDialog)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkDialog)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkDialog)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkDialog)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkDialog)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkDialog)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkDialog, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkDialog, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkDialog, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkDialog, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkDialog, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkDialog, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkDialog, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkDialog, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkDialog, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkDialog)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_renderer(instance::GtkDialog)
        get_renderer(GtkNative(instance))
    end
    function get_surface(instance::GtkDialog)
        get_surface(GtkNative(instance))
    end
    function get_surface_transform(instance::GtkDialog)
        get_surface_transform(GtkNative(instance))
    end
    function realize(instance::GtkDialog)
        realize(GtkNative(instance))
    end
    function unrealize(instance::GtkDialog)
        unrealize(GtkNative(instance))
    end
    function get_display(instance::GtkDialog)
        get_display(GtkRoot(instance))
    end
    function get_focus(instance::GtkDialog)
        get_focus(GtkRoot(instance))
    end
    function set_focus(instance::GtkDialog, _focus::Maybe(GtkWidget))
        set_focus(GtkRoot(instance), _focus)
    end
    function DirectoryList_new(_attributes::Maybe(Union{AbstractString, Symbol}), _file::Maybe(GFile))
        _attributes_maybe = nothing_to_null(_attributes)
        _file_maybe = nothing_to_null(_file)
        ret = ccall(("gtk_directory_list_new", libgtk4), Ptr{GObject}, (Cstring, Ptr{GObject}), _attributes_maybe, _file_maybe)
        ret2 = GtkDirectoryListLeaf(ret, true)
        ret2
    end
    function get_attributes(instance::GtkDirectoryList)
        ret = ccall(("gtk_directory_list_get_attributes", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_error(instance::GtkDirectoryList)
        ret = ccall(("gtk_directory_list_get_error", libgtk4), Ptr{GError}, (Ptr{GObject},), instance)
        ret
    end
    function get_file(instance::GtkDirectoryList)
        ret = ccall(("gtk_directory_list_get_file", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, false)
        ret2
    end
    function get_io_priority(instance::GtkDirectoryList)
        ret = ccall(("gtk_directory_list_get_io_priority", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_monitored(instance::GtkDirectoryList)
        ret = ccall(("gtk_directory_list_get_monitored", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function is_loading(instance::GtkDirectoryList)
        ret = ccall(("gtk_directory_list_is_loading", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_attributes(instance::GtkDirectoryList, _attributes::Maybe(Union{AbstractString, Symbol}))
        _attributes_maybe = nothing_to_null(_attributes)
        ret = ccall(("gtk_directory_list_set_attributes", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _attributes_maybe)
        nothing
    end
    function set_file(instance::GtkDirectoryList, _file::Maybe(GFile))
        _file_maybe = nothing_to_null(_file)
        ret = ccall(("gtk_directory_list_set_file", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _file_maybe)
        nothing
    end
    function set_io_priority(instance::GtkDirectoryList, _io_priority::Integer)
        ret = ccall(("gtk_directory_list_set_io_priority", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _io_priority)
        nothing
    end
    function set_monitored(instance::GtkDirectoryList, _monitored::Bool)
        ret = ccall(("gtk_directory_list_set_monitored", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _monitored)
        nothing
    end
    function get_item_type(instance::GtkDirectoryList)
        get_item_type(GListModel(instance))
    end
    function get_n_items(instance::GtkDirectoryList)
        get_n_items(GListModel(instance))
    end
    function get_item(instance::GtkDirectoryList, _position::Integer)
        get_item(GListModel(instance), _position)
    end
    function items_changed(instance::GtkDirectoryList, _position::Integer, _removed::Integer, _added::Integer)
        items_changed(GListModel(instance), _position, _removed, _added)
    end
    function create_widget_for_value(_value::Union{GValue, Ref{_GValue}})
        ret = ccall(("gtk_drag_icon_create_widget_for_value", libgtk4), Ptr{GObject}, (Ptr{_GValue},), _value)
        ret2 = convert_if_not_null(GtkWidget, ret, true)
        ret2
    end
    function get_for_drag(_drag::GdkDrag)
        ret = ccall(("gtk_drag_icon_get_for_drag", libgtk4), Ptr{GObject}, (Ptr{GObject},), _drag)
        ret2 = convert(GtkWidget, ret, false)
        ret2
    end
    function set_from_paintable(_drag::GdkDrag, _paintable::GdkPaintable, _hot_x::Integer, _hot_y::Integer)
        ret = ccall(("gtk_drag_icon_set_from_paintable", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Int32, Int32), _drag, _paintable, _hot_x, _hot_y)
        nothing
    end
    function get_child(instance::GtkDragIcon)
        ret = ccall(("gtk_drag_icon_get_child", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function set_child(instance::GtkDragIcon, _child::Maybe(GtkWidget))
        _child_maybe = nothing_to_null(_child)
        ret = ccall(("gtk_drag_icon_set_child", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child_maybe)
        nothing
    end
    function announce(instance::GtkDragIcon, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkDragIcon)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkDragIcon)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkDragIcon)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkDragIcon)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkDragIcon)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkDragIcon)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkDragIcon, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkDragIcon, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkDragIcon, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkDragIcon, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkDragIcon, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkDragIcon, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkDragIcon, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkDragIcon, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkDragIcon, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkDragIcon)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_renderer(instance::GtkDragIcon)
        get_renderer(GtkNative(instance))
    end
    function get_surface(instance::GtkDragIcon)
        get_surface(GtkNative(instance))
    end
    function get_surface_transform(instance::GtkDragIcon)
        get_surface_transform(GtkNative(instance))
    end
    function realize(instance::GtkDragIcon)
        realize(GtkNative(instance))
    end
    function unrealize(instance::GtkDragIcon)
        unrealize(GtkNative(instance))
    end
    function get_display(instance::GtkDragIcon)
        get_display(GtkRoot(instance))
    end
    function get_focus(instance::GtkDragIcon)
        get_focus(GtkRoot(instance))
    end
    function set_focus(instance::GtkDragIcon, _focus::Maybe(GtkWidget))
        set_focus(GtkRoot(instance), _focus)
    end
    function DragSource_new()
        ret = ccall(("gtk_drag_source_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkDragSourceLeaf(ret, true)
        ret2
    end
    function drag_cancel(instance::GtkDragSource)
        ret = ccall(("gtk_drag_source_drag_cancel", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function get_actions(instance::GtkDragSource)
        ret = ccall(("gtk_drag_source_get_actions", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = DragAction(ret)
        ret2
    end
    function get_content(instance::GtkDragSource)
        ret = ccall(("gtk_drag_source_get_content", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GdkContentProvider, ret, false)
        ret2
    end
    function get_drag(instance::GtkDragSource)
        ret = ccall(("gtk_drag_source_get_drag", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GdkDrag, ret, false)
        ret2
    end
    function set_actions(instance::GtkDragSource, _actions)
        ret = ccall(("gtk_drag_source_set_actions", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _actions)
        nothing
    end
    function set_content(instance::GtkDragSource, _content::Maybe(GdkContentProvider))
        _content_maybe = nothing_to_null(_content)
        ret = ccall(("gtk_drag_source_set_content", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _content_maybe)
        nothing
    end
    function set_icon(instance::GtkDragSource, _paintable::Maybe(GdkPaintable), _hot_x::Integer, _hot_y::Integer)
        _paintable_maybe = nothing_to_null(_paintable)
        ret = ccall(("gtk_drag_source_set_icon", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Int32, Int32), instance, _paintable_maybe, _hot_x, _hot_y)
        nothing
    end
    function DrawingArea_new()
        ret = ccall(("gtk_drawing_area_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkDrawingAreaLeaf(ret, false)
        ret2
    end
    function get_content_height(instance::GtkDrawingArea)
        ret = ccall(("gtk_drawing_area_get_content_height", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_content_width(instance::GtkDrawingArea)
        ret = ccall(("gtk_drawing_area_get_content_width", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function set_content_height(instance::GtkDrawingArea, _height::Integer)
        ret = ccall(("gtk_drawing_area_set_content_height", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _height)
        nothing
    end
    function set_content_width(instance::GtkDrawingArea, _width::Integer)
        ret = ccall(("gtk_drawing_area_set_content_width", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _width)
        nothing
    end
    function announce(instance::GtkDrawingArea, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkDrawingArea)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkDrawingArea)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkDrawingArea)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkDrawingArea)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkDrawingArea)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkDrawingArea)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkDrawingArea, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkDrawingArea, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkDrawingArea, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkDrawingArea, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkDrawingArea, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkDrawingArea, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkDrawingArea, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkDrawingArea, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkDrawingArea, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkDrawingArea)
        get_buildable_id(GtkBuildable(instance))
    end
    function DropControllerMotion_new()
        ret = ccall(("gtk_drop_controller_motion_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkDropControllerMotionLeaf(ret, true)
        ret2
    end
    function contains_pointer(instance::GtkDropControllerMotion)
        ret = ccall(("gtk_drop_controller_motion_contains_pointer", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_drop(instance::GtkDropControllerMotion)
        ret = ccall(("gtk_drop_controller_motion_get_drop", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GdkDrop, ret, false)
        ret2
    end
    function is_pointer(instance::GtkDropControllerMotion)
        ret = ccall(("gtk_drop_controller_motion_is_pointer", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function DropDown_new(_model::Maybe(GListModel), _expression::Maybe(GtkExpression))
        _model_maybe = begin
                if _model !== nothing
                    GLib.glib_ref(_model)
                end
                nothing_to_null(_model)
            end
        _expression_maybe = nothing_to_null(_expression)
        ret = ccall(("gtk_drop_down_new", libgtk4), Ptr{GObject}, (Ptr{GObject}, Ptr{GtkExpression}), _model_maybe, _expression_maybe)
        ret2 = GtkDropDownLeaf(ret, false)
        ret2
    end
    function DropDown_new_from_strings(_strings)
        ret = ccall(("gtk_drop_down_new_from_strings", libgtk4), Ptr{GObject}, (Ptr{Cstring},), _strings)
        ret2 = GtkDropDownLeaf(ret, false)
        ret2
    end
    function get_enable_search(instance::GtkDropDown)
        ret = ccall(("gtk_drop_down_get_enable_search", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_expression(instance::GtkDropDown)
        ret = ccall(("gtk_drop_down_get_expression", libgtk4), Ptr{GtkExpression}, (Ptr{GObject},), instance)
        ret2 = convert(GtkExpression, ret)
        ret2
    end
    function get_factory(instance::GtkDropDown)
        ret = ccall(("gtk_drop_down_get_factory", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkListItemFactory, ret, false)
        ret2
    end
    function get_header_factory(instance::GtkDropDown)
        ret = ccall(("gtk_drop_down_get_header_factory", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkListItemFactory, ret, false)
        ret2
    end
    function get_list_factory(instance::GtkDropDown)
        ret = ccall(("gtk_drop_down_get_list_factory", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkListItemFactory, ret, false)
        ret2
    end
    function get_model(instance::GtkDropDown)
        ret = ccall(("gtk_drop_down_get_model", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, false)
        ret2
    end
    function get_search_match_mode(instance::GtkDropDown)
        ret = ccall(("gtk_drop_down_get_search_match_mode", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = StringFilterMatchMode(ret)
        ret2
    end
    function get_selected(instance::GtkDropDown)
        ret = ccall(("gtk_drop_down_get_selected", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function get_selected_item(instance::GtkDropDown)
        ret = ccall(("gtk_drop_down_get_selected_item", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GObject, ret, false)
        ret2
    end
    function get_show_arrow(instance::GtkDropDown)
        ret = ccall(("gtk_drop_down_get_show_arrow", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_enable_search(instance::GtkDropDown, _enable_search::Bool)
        ret = ccall(("gtk_drop_down_set_enable_search", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _enable_search)
        nothing
    end
    function set_expression(instance::GtkDropDown, _expression::Maybe(GtkExpression))
        _expression_maybe = nothing_to_null(_expression)
        ret = ccall(("gtk_drop_down_set_expression", libgtk4), Nothing, (Ptr{GObject}, Ptr{GtkExpression}), instance, _expression_maybe)
        nothing
    end
    function set_factory(instance::GtkDropDown, _factory::Maybe(GtkListItemFactory))
        _factory_maybe = nothing_to_null(_factory)
        ret = ccall(("gtk_drop_down_set_factory", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _factory_maybe)
        nothing
    end
    function set_header_factory(instance::GtkDropDown, _factory::Maybe(GtkListItemFactory))
        _factory_maybe = nothing_to_null(_factory)
        ret = ccall(("gtk_drop_down_set_header_factory", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _factory_maybe)
        nothing
    end
    function set_list_factory(instance::GtkDropDown, _factory::Maybe(GtkListItemFactory))
        _factory_maybe = nothing_to_null(_factory)
        ret = ccall(("gtk_drop_down_set_list_factory", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _factory_maybe)
        nothing
    end
    function set_model(instance::GtkDropDown, _model::Maybe(GListModel))
        _model_maybe = nothing_to_null(_model)
        ret = ccall(("gtk_drop_down_set_model", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _model_maybe)
        nothing
    end
    function set_search_match_mode(instance::GtkDropDown, _search_match_mode)
        ret = ccall(("gtk_drop_down_set_search_match_mode", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _search_match_mode)
        nothing
    end
    function set_selected(instance::GtkDropDown, _position::Integer)
        ret = ccall(("gtk_drop_down_set_selected", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _position)
        nothing
    end
    function set_show_arrow(instance::GtkDropDown, _show_arrow::Bool)
        ret = ccall(("gtk_drop_down_set_show_arrow", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _show_arrow)
        nothing
    end
    function announce(instance::GtkDropDown, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkDropDown)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkDropDown)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkDropDown)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkDropDown)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkDropDown)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkDropDown)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkDropDown, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkDropDown, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkDropDown, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkDropDown, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkDropDown, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkDropDown, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkDropDown, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkDropDown, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkDropDown, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkDropDown)
        get_buildable_id(GtkBuildable(instance))
    end
    function DropTarget_new(_type::Integer, _actions)
        ret = ccall(("gtk_drop_target_new", libgtk4), Ptr{GObject}, (UInt64, UInt32), _type, _actions)
        ret2 = GtkDropTargetLeaf(ret, true)
        ret2
    end
    function get_actions(instance::GtkDropTarget)
        ret = ccall(("gtk_drop_target_get_actions", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = DragAction(ret)
        ret2
    end
    function get_current_drop(instance::GtkDropTarget)
        ret = ccall(("gtk_drop_target_get_current_drop", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GdkDrop, ret, false)
        ret2
    end
    function get_drop(instance::GtkDropTarget)
        ret = ccall(("gtk_drop_target_get_drop", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GdkDrop, ret, false)
        ret2
    end
    function get_formats(instance::GtkDropTarget)
        ret = ccall(("gtk_drop_target_get_formats", libgtk4), Ptr{GdkContentFormats}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GdkContentFormats, ret, false)
        ret2
    end
    function get_gtypes(instance::GtkDropTarget)
        m_n_types = Ref{UInt64}()
        ret = ccall(("gtk_drop_target_get_gtypes", libgtk4), Ptr{UInt64}, (Ptr{GObject}, Ptr{UInt64}), instance, m_n_types)
        ret2 = collect(unsafe_wrap(Vector{UInt64}, ret, m_n_types[]))
        _n_types = m_n_types[]
        ret2
    end
    function get_preload(instance::GtkDropTarget)
        ret = ccall(("gtk_drop_target_get_preload", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_value(instance::GtkDropTarget)
        ret = ccall(("gtk_drop_target_get_value", libgtk4), Ptr{_GValue}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GValue, ret, false)
        ret2
    end
    function reject(instance::GtkDropTarget)
        ret = ccall(("gtk_drop_target_reject", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function set_actions(instance::GtkDropTarget, _actions)
        ret = ccall(("gtk_drop_target_set_actions", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _actions)
        nothing
    end
    function set_gtypes(instance::GtkDropTarget, _types)
        _types_arr = convert(Vector{UInt64}, _types)
        _n_types = length(_types)
        ret = ccall(("gtk_drop_target_set_gtypes", libgtk4), Nothing, (Ptr{GObject}, Ptr{UInt64}, UInt64), instance, _types_arr, _n_types)
        nothing
    end
    function set_preload(instance::GtkDropTarget, _preload::Bool)
        ret = ccall(("gtk_drop_target_set_preload", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _preload)
        nothing
    end
    function DropTargetAsync_new(_formats::Maybe(GdkContentFormats), _actions)
        _formats_maybe = nothing_to_null(_formats)
        ret = ccall(("gtk_drop_target_async_new", libgtk4), Ptr{GObject}, (Ptr{GdkContentFormats}, UInt32), _formats_maybe, _actions)
        ret2 = GtkDropTargetAsyncLeaf(ret, true)
        ret2
    end
    function get_actions(instance::GtkDropTargetAsync)
        ret = ccall(("gtk_drop_target_async_get_actions", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = DragAction(ret)
        ret2
    end
    function get_formats(instance::GtkDropTargetAsync)
        ret = ccall(("gtk_drop_target_async_get_formats", libgtk4), Ptr{GdkContentFormats}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GdkContentFormats, ret, true)
        ret2
    end
    function reject_drop(instance::GtkDropTargetAsync, _drop::GdkDrop)
        ret = ccall(("gtk_drop_target_async_reject_drop", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _drop)
        nothing
    end
    function set_actions(instance::GtkDropTargetAsync, _actions)
        ret = ccall(("gtk_drop_target_async_set_actions", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _actions)
        nothing
    end
    function set_formats(instance::GtkDropTargetAsync, _formats::Maybe(GdkContentFormats))
        _formats_maybe = nothing_to_null(_formats)
        ret = ccall(("gtk_drop_target_async_set_formats", libgtk4), Nothing, (Ptr{GObject}, Ptr{GdkContentFormats}), instance, _formats_maybe)
        nothing
    end
    function EditableLabel_new(_str::Union{AbstractString, Symbol})
        ret = ccall(("gtk_editable_label_new", libgtk4), Ptr{GObject}, (Cstring,), _str)
        ret2 = GtkEditableLabelLeaf(ret, false)
        ret2
    end
    function get_editing(instance::GtkEditableLabel)
        ret = ccall(("gtk_editable_label_get_editing", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function stop_editing(instance::GtkEditableLabel, _commit::Bool)
        ret = ccall(("gtk_editable_label_stop_editing", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _commit)
        nothing
    end
    function announce(instance::GtkEditableLabel, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkEditableLabel)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkEditableLabel)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkEditableLabel)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkEditableLabel)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkEditableLabel)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkEditableLabel)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkEditableLabel, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkEditableLabel, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkEditableLabel, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkEditableLabel, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkEditableLabel, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkEditableLabel, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkEditableLabel, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkEditableLabel, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkEditableLabel, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkEditableLabel)
        get_buildable_id(GtkBuildable(instance))
    end
    function delegate_get_accessible_platform_state(instance::GtkEditableLabel, _state)
        delegate_get_accessible_platform_state(GtkEditable(instance), _state)
    end
    function delete_selection(instance::GtkEditableLabel)
        delete_selection(GtkEditable(instance))
    end
    function delete_text(instance::GtkEditableLabel, _start_pos::Integer, _end_pos::Integer)
        delete_text(GtkEditable(instance), _start_pos, _end_pos)
    end
    function finish_delegate(instance::GtkEditableLabel)
        finish_delegate(GtkEditable(instance))
    end
    function get_alignment(instance::GtkEditableLabel)
        get_alignment(GtkEditable(instance))
    end
    function get_chars(instance::GtkEditableLabel, _start_pos::Integer, _end_pos::Integer)
        get_chars(GtkEditable(instance), _start_pos, _end_pos)
    end
    function get_delegate(instance::GtkEditableLabel)
        get_delegate(GtkEditable(instance))
    end
    function get_editable(instance::GtkEditableLabel)
        get_editable(GtkEditable(instance))
    end
    function get_enable_undo(instance::GtkEditableLabel)
        get_enable_undo(GtkEditable(instance))
    end
    function get_max_width_chars(instance::GtkEditableLabel)
        get_max_width_chars(GtkEditable(instance))
    end
    function get_position(instance::GtkEditableLabel)
        get_position(GtkEditable(instance))
    end
    function get_selection_bounds(instance::GtkEditableLabel)
        get_selection_bounds(GtkEditable(instance))
    end
    function get_text(instance::GtkEditableLabel)
        get_text(GtkEditable(instance))
    end
    function get_width_chars(instance::GtkEditableLabel)
        get_width_chars(GtkEditable(instance))
    end
    function init_delegate(instance::GtkEditableLabel)
        init_delegate(GtkEditable(instance))
    end
    function insert_text(instance::GtkEditableLabel, _text::Union{AbstractString, Symbol}, _length::Integer, _position::Integer)
        insert_text(GtkEditable(instance), _text, _length, _position)
    end
    function select_region(instance::GtkEditableLabel, _start_pos::Integer, _end_pos::Integer)
        select_region(GtkEditable(instance), _start_pos, _end_pos)
    end
    function set_alignment(instance::GtkEditableLabel, _xalign::Real)
        set_alignment(GtkEditable(instance), _xalign)
    end
    function set_editable(instance::GtkEditableLabel, _is_editable::Bool)
        set_editable(GtkEditable(instance), _is_editable)
    end
    function set_enable_undo(instance::GtkEditableLabel, _enable_undo::Bool)
        set_enable_undo(GtkEditable(instance), _enable_undo)
    end
    function set_max_width_chars(instance::GtkEditableLabel, _n_chars::Integer)
        set_max_width_chars(GtkEditable(instance), _n_chars)
    end
    function set_position(instance::GtkEditableLabel, _position::Integer)
        set_position(GtkEditable(instance), _position)
    end
    function set_text(instance::GtkEditableLabel, _text::Union{AbstractString, Symbol})
        set_text(GtkEditable(instance), _text)
    end
    function set_width_chars(instance::GtkEditableLabel, _n_chars::Integer)
        set_width_chars(GtkEditable(instance), _n_chars)
    end
    function EmojiChooser_new()
        ret = ccall(("gtk_emoji_chooser_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkEmojiChooserLeaf(ret, false)
        ret2
    end
    function announce(instance::GtkEmojiChooser, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkEmojiChooser)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkEmojiChooser)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkEmojiChooser)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkEmojiChooser)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkEmojiChooser)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkEmojiChooser)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkEmojiChooser, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkEmojiChooser, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkEmojiChooser, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkEmojiChooser, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkEmojiChooser, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkEmojiChooser, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkEmojiChooser, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkEmojiChooser, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkEmojiChooser, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkEmojiChooser)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_renderer(instance::GtkEmojiChooser)
        get_renderer(GtkNative(instance))
    end
    function get_surface(instance::GtkEmojiChooser)
        get_surface(GtkNative(instance))
    end
    function get_surface_transform(instance::GtkEmojiChooser)
        get_surface_transform(GtkNative(instance))
    end
    function realize(instance::GtkEmojiChooser)
        realize(GtkNative(instance))
    end
    function unrealize(instance::GtkEmojiChooser)
        unrealize(GtkNative(instance))
    end
    function Entry_new()
        ret = ccall(("gtk_entry_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkEntryLeaf(ret, false)
        ret2
    end
    function Entry_new_with_buffer(_buffer::GtkEntryBuffer)
        ret = ccall(("gtk_entry_new_with_buffer", libgtk4), Ptr{GObject}, (Ptr{GObject},), _buffer)
        ret2 = GtkEntryLeaf(ret, false)
        ret2
    end
    function get_activates_default(instance::GtkEntry)
        ret = ccall(("gtk_entry_get_activates_default", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_alignment(instance::GtkEntry)
        ret = ccall(("gtk_entry_get_alignment", libgtk4), Float32, (Ptr{GObject},), instance)
        ret
    end
    function get_attributes(instance::GtkEntry)
        ret = ccall(("gtk_entry_get_attributes", libgtk4), Ptr{PangoAttrList}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(PangoAttrList, ret, false)
        ret2
    end
    function get_buffer(instance::GtkEntry)
        ret = ccall(("gtk_entry_get_buffer", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GtkEntryBuffer, ret, false)
        ret2
    end
    function get_completion(instance::GtkEntry)
        ret = ccall(("gtk_entry_get_completion", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkEntryCompletion, ret, false)
        ret2
    end
    function get_current_icon_drag_source(instance::GtkEntry)
        ret = ccall(("gtk_entry_get_current_icon_drag_source", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_extra_menu(instance::GtkEntry)
        ret = ccall(("gtk_entry_get_extra_menu", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GMenuModel, ret, false)
        ret2
    end
    function get_has_frame(instance::GtkEntry)
        ret = ccall(("gtk_entry_get_has_frame", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_icon_activatable(instance::GtkEntry, _icon_pos)
        ret = ccall(("gtk_entry_get_icon_activatable", libgtk4), Cint, (Ptr{GObject}, UInt32), instance, _icon_pos)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_icon_area(instance::GtkEntry, _icon_pos)
        m_icon_area = Ref{_GdkRectangle}()
        ret = ccall(("gtk_entry_get_icon_area", libgtk4), Nothing, (Ptr{GObject}, UInt32, Ptr{_GdkRectangle}), instance, _icon_pos, m_icon_area)
        _icon_area = m_icon_area[]
        _icon_area
    end
    function get_icon_at_pos(instance::GtkEntry, _x::Integer, _y::Integer)
        ret = ccall(("gtk_entry_get_icon_at_pos", libgtk4), Int32, (Ptr{GObject}, Int32, Int32), instance, _x, _y)
        ret
    end
    function get_icon_gicon(instance::GtkEntry, _icon_pos)
        ret = ccall(("gtk_entry_get_icon_gicon", libgtk4), Ptr{GObject}, (Ptr{GObject}, UInt32), instance, _icon_pos)
        ret2 = GLib.find_leaf_type_if_not_null(ret, false)
        ret2
    end
    function get_icon_name(instance::GtkEntry, _icon_pos)
        ret = ccall(("gtk_entry_get_icon_name", libgtk4), Cstring, (Ptr{GObject}, UInt32), instance, _icon_pos)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_icon_paintable(instance::GtkEntry, _icon_pos)
        ret = ccall(("gtk_entry_get_icon_paintable", libgtk4), Ptr{GObject}, (Ptr{GObject}, UInt32), instance, _icon_pos)
        ret2 = GLib.find_leaf_type_if_not_null(ret, false)
        ret2
    end
    function get_icon_sensitive(instance::GtkEntry, _icon_pos)
        ret = ccall(("gtk_entry_get_icon_sensitive", libgtk4), Cint, (Ptr{GObject}, UInt32), instance, _icon_pos)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_icon_storage_type(instance::GtkEntry, _icon_pos)
        ret = ccall(("gtk_entry_get_icon_storage_type", libgtk4), UInt32, (Ptr{GObject}, UInt32), instance, _icon_pos)
        ret2 = ImageType(ret)
        ret2
    end
    function get_icon_tooltip_markup(instance::GtkEntry, _icon_pos)
        ret = ccall(("gtk_entry_get_icon_tooltip_markup", libgtk4), Cstring, (Ptr{GObject}, UInt32), instance, _icon_pos)
        ret2 = string_or_nothing(ret, true)
        ret2
    end
    function get_icon_tooltip_text(instance::GtkEntry, _icon_pos)
        ret = ccall(("gtk_entry_get_icon_tooltip_text", libgtk4), Cstring, (Ptr{GObject}, UInt32), instance, _icon_pos)
        ret2 = string_or_nothing(ret, true)
        ret2
    end
    function get_input_hints(instance::GtkEntry)
        ret = ccall(("gtk_entry_get_input_hints", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = InputHints(ret)
        ret2
    end
    function get_input_purpose(instance::GtkEntry)
        ret = ccall(("gtk_entry_get_input_purpose", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = InputPurpose(ret)
        ret2
    end
    function get_invisible_char(instance::GtkEntry)
        ret = ccall(("gtk_entry_get_invisible_char", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function get_max_length(instance::GtkEntry)
        ret = ccall(("gtk_entry_get_max_length", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_overwrite_mode(instance::GtkEntry)
        ret = ccall(("gtk_entry_get_overwrite_mode", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_placeholder_text(instance::GtkEntry)
        ret = ccall(("gtk_entry_get_placeholder_text", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_progress_fraction(instance::GtkEntry)
        ret = ccall(("gtk_entry_get_progress_fraction", libgtk4), Float64, (Ptr{GObject},), instance)
        ret
    end
    function get_progress_pulse_step(instance::GtkEntry)
        ret = ccall(("gtk_entry_get_progress_pulse_step", libgtk4), Float64, (Ptr{GObject},), instance)
        ret
    end
    function get_tabs(instance::GtkEntry)
        ret = ccall(("gtk_entry_get_tabs", libgtk4), Ptr{PangoTabArray}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(PangoTabArray, ret, false)
        ret2
    end
    function get_text_length(instance::GtkEntry)
        ret = ccall(("gtk_entry_get_text_length", libgtk4), UInt16, (Ptr{GObject},), instance)
        ret
    end
    function get_visibility(instance::GtkEntry)
        ret = ccall(("gtk_entry_get_visibility", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function grab_focus_without_selecting(instance::GtkEntry)
        ret = ccall(("gtk_entry_grab_focus_without_selecting", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function progress_pulse(instance::GtkEntry)
        ret = ccall(("gtk_entry_progress_pulse", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function reset_im_context(instance::GtkEntry)
        ret = ccall(("gtk_entry_reset_im_context", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function set_activates_default(instance::GtkEntry, _setting::Bool)
        ret = ccall(("gtk_entry_set_activates_default", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _setting)
        nothing
    end
    function set_alignment(instance::GtkEntry, _xalign::Real)
        ret = ccall(("gtk_entry_set_alignment", libgtk4), Nothing, (Ptr{GObject}, Float32), instance, _xalign)
        nothing
    end
    function set_attributes(instance::GtkEntry, _attrs::PangoAttrList)
        ret = ccall(("gtk_entry_set_attributes", libgtk4), Nothing, (Ptr{GObject}, Ptr{PangoAttrList}), instance, _attrs)
        nothing
    end
    function set_buffer(instance::GtkEntry, _buffer::GtkEntryBuffer)
        ret = ccall(("gtk_entry_set_buffer", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _buffer)
        nothing
    end
    function set_completion(instance::GtkEntry, _completion::Maybe(GtkEntryCompletion))
        _completion_maybe = nothing_to_null(_completion)
        ret = ccall(("gtk_entry_set_completion", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _completion_maybe)
        nothing
    end
    function set_extra_menu(instance::GtkEntry, _model::Maybe(GMenuModel))
        _model_maybe = nothing_to_null(_model)
        ret = ccall(("gtk_entry_set_extra_menu", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _model_maybe)
        nothing
    end
    function set_has_frame(instance::GtkEntry, _setting::Bool)
        ret = ccall(("gtk_entry_set_has_frame", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _setting)
        nothing
    end
    function set_icon_activatable(instance::GtkEntry, _icon_pos, _activatable::Bool)
        ret = ccall(("gtk_entry_set_icon_activatable", libgtk4), Nothing, (Ptr{GObject}, UInt32, Cint), instance, _icon_pos, _activatable)
        nothing
    end
    function set_icon_drag_source(instance::GtkEntry, _icon_pos, _provider::GdkContentProvider, _actions)
        ret = ccall(("gtk_entry_set_icon_drag_source", libgtk4), Nothing, (Ptr{GObject}, UInt32, Ptr{GObject}, UInt32), instance, _icon_pos, _provider, _actions)
        nothing
    end
    function set_icon_from_gicon(instance::GtkEntry, _icon_pos, _icon::Maybe(GIcon))
        _icon_maybe = nothing_to_null(_icon)
        ret = ccall(("gtk_entry_set_icon_from_gicon", libgtk4), Nothing, (Ptr{GObject}, UInt32, Ptr{GObject}), instance, _icon_pos, _icon_maybe)
        nothing
    end
    function set_icon_from_icon_name(instance::GtkEntry, _icon_pos, _icon_name::Maybe(Union{AbstractString, Symbol}))
        _icon_name_maybe = nothing_to_null(_icon_name)
        ret = ccall(("gtk_entry_set_icon_from_icon_name", libgtk4), Nothing, (Ptr{GObject}, UInt32, Cstring), instance, _icon_pos, _icon_name_maybe)
        nothing
    end
    function set_icon_from_paintable(instance::GtkEntry, _icon_pos, _paintable::Maybe(GdkPaintable))
        _paintable_maybe = nothing_to_null(_paintable)
        ret = ccall(("gtk_entry_set_icon_from_paintable", libgtk4), Nothing, (Ptr{GObject}, UInt32, Ptr{GObject}), instance, _icon_pos, _paintable_maybe)
        nothing
    end
    function set_icon_sensitive(instance::GtkEntry, _icon_pos, _sensitive::Bool)
        ret = ccall(("gtk_entry_set_icon_sensitive", libgtk4), Nothing, (Ptr{GObject}, UInt32, Cint), instance, _icon_pos, _sensitive)
        nothing
    end
    function set_icon_tooltip_markup(instance::GtkEntry, _icon_pos, _tooltip::Maybe(Union{AbstractString, Symbol}))
        _tooltip_maybe = nothing_to_null(_tooltip)
        ret = ccall(("gtk_entry_set_icon_tooltip_markup", libgtk4), Nothing, (Ptr{GObject}, UInt32, Cstring), instance, _icon_pos, _tooltip_maybe)
        nothing
    end
    function set_icon_tooltip_text(instance::GtkEntry, _icon_pos, _tooltip::Maybe(Union{AbstractString, Symbol}))
        _tooltip_maybe = nothing_to_null(_tooltip)
        ret = ccall(("gtk_entry_set_icon_tooltip_text", libgtk4), Nothing, (Ptr{GObject}, UInt32, Cstring), instance, _icon_pos, _tooltip_maybe)
        nothing
    end
    function set_input_hints(instance::GtkEntry, _hints)
        ret = ccall(("gtk_entry_set_input_hints", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _hints)
        nothing
    end
    function set_input_purpose(instance::GtkEntry, _purpose)
        ret = ccall(("gtk_entry_set_input_purpose", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _purpose)
        nothing
    end
    function set_invisible_char(instance::GtkEntry, _ch)
        ret = ccall(("gtk_entry_set_invisible_char", libgtk4), Nothing, (Ptr{GObject}, Nothing), instance, _ch)
        nothing
    end
    function set_max_length(instance::GtkEntry, _max::Integer)
        ret = ccall(("gtk_entry_set_max_length", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _max)
        nothing
    end
    function set_overwrite_mode(instance::GtkEntry, _overwrite::Bool)
        ret = ccall(("gtk_entry_set_overwrite_mode", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _overwrite)
        nothing
    end
    function set_placeholder_text(instance::GtkEntry, _text::Maybe(Union{AbstractString, Symbol}))
        _text_maybe = nothing_to_null(_text)
        ret = ccall(("gtk_entry_set_placeholder_text", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _text_maybe)
        nothing
    end
    function set_progress_fraction(instance::GtkEntry, _fraction::Real)
        ret = ccall(("gtk_entry_set_progress_fraction", libgtk4), Nothing, (Ptr{GObject}, Float64), instance, _fraction)
        nothing
    end
    function set_progress_pulse_step(instance::GtkEntry, _fraction::Real)
        ret = ccall(("gtk_entry_set_progress_pulse_step", libgtk4), Nothing, (Ptr{GObject}, Float64), instance, _fraction)
        nothing
    end
    function set_tabs(instance::GtkEntry, _tabs::Maybe(PangoTabArray))
        _tabs_maybe = nothing_to_null(_tabs)
        ret = ccall(("gtk_entry_set_tabs", libgtk4), Nothing, (Ptr{GObject}, Ptr{PangoTabArray}), instance, _tabs_maybe)
        nothing
    end
    function set_visibility(instance::GtkEntry, _visible::Bool)
        ret = ccall(("gtk_entry_set_visibility", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _visible)
        nothing
    end
    function unset_invisible_char(instance::GtkEntry)
        ret = ccall(("gtk_entry_unset_invisible_char", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function announce(instance::GtkEntry, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkEntry)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkEntry)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkEntry)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkEntry)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkEntry)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkEntry)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkEntry, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkEntry, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkEntry, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkEntry, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkEntry, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkEntry, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkEntry, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkEntry, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkEntry, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkEntry)
        get_buildable_id(GtkBuildable(instance))
    end
    function editing_done(instance::GtkEntry)
        editing_done(GtkCellEditable(instance))
    end
    function remove_widget(instance::GtkEntry)
        remove_widget(GtkCellEditable(instance))
    end
    function start_editing(instance::GtkEntry, _event::Maybe(GdkEvent))
        start_editing(GtkCellEditable(instance), _event)
    end
    function delegate_get_accessible_platform_state(instance::GtkEntry, _state)
        delegate_get_accessible_platform_state(GtkEditable(instance), _state)
    end
    function delete_selection(instance::GtkEntry)
        delete_selection(GtkEditable(instance))
    end
    function delete_text(instance::GtkEntry, _start_pos::Integer, _end_pos::Integer)
        delete_text(GtkEditable(instance), _start_pos, _end_pos)
    end
    function finish_delegate(instance::GtkEntry)
        finish_delegate(GtkEditable(instance))
    end
    function get_chars(instance::GtkEntry, _start_pos::Integer, _end_pos::Integer)
        get_chars(GtkEditable(instance), _start_pos, _end_pos)
    end
    function get_delegate(instance::GtkEntry)
        get_delegate(GtkEditable(instance))
    end
    function get_editable(instance::GtkEntry)
        get_editable(GtkEditable(instance))
    end
    function get_enable_undo(instance::GtkEntry)
        get_enable_undo(GtkEditable(instance))
    end
    function get_max_width_chars(instance::GtkEntry)
        get_max_width_chars(GtkEditable(instance))
    end
    function get_position(instance::GtkEntry)
        get_position(GtkEditable(instance))
    end
    function get_selection_bounds(instance::GtkEntry)
        get_selection_bounds(GtkEditable(instance))
    end
    function get_text(instance::GtkEntry)
        get_text(GtkEditable(instance))
    end
    function get_width_chars(instance::GtkEntry)
        get_width_chars(GtkEditable(instance))
    end
    function init_delegate(instance::GtkEntry)
        init_delegate(GtkEditable(instance))
    end
    function insert_text(instance::GtkEntry, _text::Union{AbstractString, Symbol}, _length::Integer, _position::Integer)
        insert_text(GtkEditable(instance), _text, _length, _position)
    end
    function select_region(instance::GtkEntry, _start_pos::Integer, _end_pos::Integer)
        select_region(GtkEditable(instance), _start_pos, _end_pos)
    end
    function set_editable(instance::GtkEntry, _is_editable::Bool)
        set_editable(GtkEditable(instance), _is_editable)
    end
    function set_enable_undo(instance::GtkEntry, _enable_undo::Bool)
        set_enable_undo(GtkEditable(instance), _enable_undo)
    end
    function set_max_width_chars(instance::GtkEntry, _n_chars::Integer)
        set_max_width_chars(GtkEditable(instance), _n_chars)
    end
    function set_position(instance::GtkEntry, _position::Integer)
        set_position(GtkEditable(instance), _position)
    end
    function set_text(instance::GtkEntry, _text::Union{AbstractString, Symbol})
        set_text(GtkEditable(instance), _text)
    end
    function set_width_chars(instance::GtkEntry, _n_chars::Integer)
        set_width_chars(GtkEditable(instance), _n_chars)
    end
    function EntryBuffer_new(_initial_chars::Maybe(Union{AbstractString, Symbol}), _n_initial_chars::Integer)
        _initial_chars_maybe = nothing_to_null(_initial_chars)
        ret = ccall(("gtk_entry_buffer_new", libgtk4), Ptr{GObject}, (Cstring, Int32), _initial_chars_maybe, _n_initial_chars)
        ret2 = GtkEntryBufferLeaf(ret, true)
        ret2
    end
    function delete_text(instance::GtkEntryBuffer, _position::Integer, _n_chars::Integer)
        ret = ccall(("gtk_entry_buffer_delete_text", libgtk4), UInt32, (Ptr{GObject}, UInt32, Int32), instance, _position, _n_chars)
        ret
    end
    function emit_deleted_text(instance::GtkEntryBuffer, _position::Integer, _n_chars::Integer)
        ret = ccall(("gtk_entry_buffer_emit_deleted_text", libgtk4), Nothing, (Ptr{GObject}, UInt32, UInt32), instance, _position, _n_chars)
        nothing
    end
    function emit_inserted_text(instance::GtkEntryBuffer, _position::Integer, _chars::Union{AbstractString, Symbol}, _n_chars::Integer)
        ret = ccall(("gtk_entry_buffer_emit_inserted_text", libgtk4), Nothing, (Ptr{GObject}, UInt32, Cstring, UInt32), instance, _position, _chars, _n_chars)
        nothing
    end
    function get_bytes(instance::GtkEntryBuffer)
        ret = ccall(("gtk_entry_buffer_get_bytes", libgtk4), UInt64, (Ptr{GObject},), instance)
        ret
    end
    function get_length(instance::GtkEntryBuffer)
        ret = ccall(("gtk_entry_buffer_get_length", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function get_max_length(instance::GtkEntryBuffer)
        ret = ccall(("gtk_entry_buffer_get_max_length", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_text(instance::GtkEntryBuffer)
        ret = ccall(("gtk_entry_buffer_get_text", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function insert_text(instance::GtkEntryBuffer, _position::Integer, _chars::Union{AbstractString, Symbol}, _n_chars::Integer)
        ret = ccall(("gtk_entry_buffer_insert_text", libgtk4), UInt32, (Ptr{GObject}, UInt32, Cstring, Int32), instance, _position, _chars, _n_chars)
        ret
    end
    function set_max_length(instance::GtkEntryBuffer, _max_length::Integer)
        ret = ccall(("gtk_entry_buffer_set_max_length", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _max_length)
        nothing
    end
    function set_text(instance::GtkEntryBuffer, _chars::Union{AbstractString, Symbol}, _n_chars::Integer)
        ret = ccall(("gtk_entry_buffer_set_text", libgtk4), Nothing, (Ptr{GObject}, Cstring, Int32), instance, _chars, _n_chars)
        nothing
    end
    function EntryCompletion_new()
        ret = ccall(("gtk_entry_completion_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkEntryCompletionLeaf(ret, true)
        ret2
    end
    function EntryCompletion_new_with_area(_area::GtkCellArea)
        ret = ccall(("gtk_entry_completion_new_with_area", libgtk4), Ptr{GObject}, (Ptr{GObject},), _area)
        ret2 = GtkEntryCompletionLeaf(ret, true)
        ret2
    end
    function complete(instance::GtkEntryCompletion)
        ret = ccall(("gtk_entry_completion_complete", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function compute_prefix(instance::GtkEntryCompletion, _key::Union{AbstractString, Symbol})
        ret = ccall(("gtk_entry_completion_compute_prefix", libgtk4), Cstring, (Ptr{GObject}, Cstring), instance, _key)
        ret2 = string_or_nothing(ret, true)
        ret2
    end
    function get_completion_prefix(instance::GtkEntryCompletion)
        ret = ccall(("gtk_entry_completion_get_completion_prefix", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_entry(instance::GtkEntryCompletion)
        ret = ccall(("gtk_entry_completion_get_entry", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GtkWidget, ret, false)
        ret2
    end
    function get_inline_completion(instance::GtkEntryCompletion)
        ret = ccall(("gtk_entry_completion_get_inline_completion", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_inline_selection(instance::GtkEntryCompletion)
        ret = ccall(("gtk_entry_completion_get_inline_selection", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_minimum_key_length(instance::GtkEntryCompletion)
        ret = ccall(("gtk_entry_completion_get_minimum_key_length", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_model(instance::GtkEntryCompletion)
        ret = ccall(("gtk_entry_completion_get_model", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, false)
        ret2
    end
    function get_popup_completion(instance::GtkEntryCompletion)
        ret = ccall(("gtk_entry_completion_get_popup_completion", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_popup_set_width(instance::GtkEntryCompletion)
        ret = ccall(("gtk_entry_completion_get_popup_set_width", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_popup_single_match(instance::GtkEntryCompletion)
        ret = ccall(("gtk_entry_completion_get_popup_single_match", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_text_column(instance::GtkEntryCompletion)
        ret = ccall(("gtk_entry_completion_get_text_column", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function insert_prefix(instance::GtkEntryCompletion)
        ret = ccall(("gtk_entry_completion_insert_prefix", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function set_inline_completion(instance::GtkEntryCompletion, _inline_completion::Bool)
        ret = ccall(("gtk_entry_completion_set_inline_completion", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _inline_completion)
        nothing
    end
    function set_inline_selection(instance::GtkEntryCompletion, _inline_selection::Bool)
        ret = ccall(("gtk_entry_completion_set_inline_selection", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _inline_selection)
        nothing
    end
    function set_minimum_key_length(instance::GtkEntryCompletion, _length::Integer)
        ret = ccall(("gtk_entry_completion_set_minimum_key_length", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _length)
        nothing
    end
    function set_model(instance::GtkEntryCompletion, _model::Maybe(GtkTreeModel))
        _model_maybe = nothing_to_null(_model)
        ret = ccall(("gtk_entry_completion_set_model", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _model_maybe)
        nothing
    end
    function set_popup_completion(instance::GtkEntryCompletion, _popup_completion::Bool)
        ret = ccall(("gtk_entry_completion_set_popup_completion", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _popup_completion)
        nothing
    end
    function set_popup_set_width(instance::GtkEntryCompletion, _popup_set_width::Bool)
        ret = ccall(("gtk_entry_completion_set_popup_set_width", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _popup_set_width)
        nothing
    end
    function set_popup_single_match(instance::GtkEntryCompletion, _popup_single_match::Bool)
        ret = ccall(("gtk_entry_completion_set_popup_single_match", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _popup_single_match)
        nothing
    end
    function set_text_column(instance::GtkEntryCompletion, _column::Integer)
        ret = ccall(("gtk_entry_completion_set_text_column", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _column)
        nothing
    end
    function get_buildable_id(instance::GtkEntryCompletion)
        get_buildable_id(GtkBuildable(instance))
    end
    function add_attribute(instance::GtkEntryCompletion, _cell::GtkCellRenderer, _attribute::Union{AbstractString, Symbol}, _column::Integer)
        add_attribute(GtkCellLayout(instance), _cell, _attribute, _column)
    end
    function clear(instance::GtkEntryCompletion)
        clear(GtkCellLayout(instance))
    end
    function clear_attributes(instance::GtkEntryCompletion, _cell::GtkCellRenderer)
        clear_attributes(GtkCellLayout(instance), _cell)
    end
    function get_area(instance::GtkEntryCompletion)
        get_area(GtkCellLayout(instance))
    end
    function get_cells(instance::GtkEntryCompletion)
        get_cells(GtkCellLayout(instance))
    end
    function pack_end(instance::GtkEntryCompletion, _cell::GtkCellRenderer, _expand::Bool)
        pack_end(GtkCellLayout(instance), _cell, _expand)
    end
    function pack_start(instance::GtkEntryCompletion, _cell::GtkCellRenderer, _expand::Bool)
        pack_start(GtkCellLayout(instance), _cell, _expand)
    end
    function reorder(instance::GtkEntryCompletion, _cell::GtkCellRenderer, _position::Integer)
        reorder(GtkCellLayout(instance), _cell, _position)
    end
    function set_cell_data_func(instance::GtkEntryCompletion, _cell::GtkCellRenderer, _func::Maybe(Function), _destroy::Function)
        set_cell_data_func(GtkCellLayout(instance), _cell, _func, _destroy)
    end
    function get_current_event(instance::GtkEventController)
        ret = ccall(("gtk_event_controller_get_current_event", libgtk4), Ptr{GdkEvent}, (Ptr{GObject},), instance)
        ret2 = convert(GdkEvent, ret)
        ret2
    end
    function get_current_event_device(instance::GtkEventController)
        ret = ccall(("gtk_event_controller_get_current_event_device", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GdkDevice, ret, false)
        ret2
    end
    function get_current_event_time(instance::GtkEventController)
        ret = ccall(("gtk_event_controller_get_current_event_time", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function get_name(instance::GtkEventController)
        ret = ccall(("gtk_event_controller_get_name", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_propagation_limit(instance::GtkEventController)
        ret = ccall(("gtk_event_controller_get_propagation_limit", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = PropagationLimit(ret)
        ret2
    end
    function get_propagation_phase(instance::GtkEventController)
        ret = ccall(("gtk_event_controller_get_propagation_phase", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = PropagationPhase(ret)
        ret2
    end
    function get_widget(instance::GtkEventController)
        ret = ccall(("gtk_event_controller_get_widget", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GtkWidget, ret, false)
        ret2
    end
    function reset(instance::GtkEventController)
        ret = ccall(("gtk_event_controller_reset", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function set_name(instance::GtkEventController, _name::Maybe(Union{AbstractString, Symbol}))
        _name_maybe = nothing_to_null(_name)
        ret = ccall(("gtk_event_controller_set_name", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _name_maybe)
        nothing
    end
    function set_propagation_limit(instance::GtkEventController, _limit)
        ret = ccall(("gtk_event_controller_set_propagation_limit", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _limit)
        nothing
    end
    function set_propagation_phase(instance::GtkEventController, _phase)
        ret = ccall(("gtk_event_controller_set_propagation_phase", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _phase)
        nothing
    end
    function set_static_name(instance::GtkEventController, _name::Maybe(Union{AbstractString, Symbol}))
        _name_maybe = nothing_to_null(_name)
        ret = ccall(("gtk_event_controller_set_static_name", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _name_maybe)
        nothing
    end
    function EventControllerFocus_new()
        ret = ccall(("gtk_event_controller_focus_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkEventControllerFocusLeaf(ret, true)
        ret2
    end
    function contains_focus(instance::GtkEventControllerFocus)
        ret = ccall(("gtk_event_controller_focus_contains_focus", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function is_focus(instance::GtkEventControllerFocus)
        ret = ccall(("gtk_event_controller_focus_is_focus", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function EventControllerKey_new()
        ret = ccall(("gtk_event_controller_key_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkEventControllerKeyLeaf(ret, true)
        ret2
    end
    function forward(instance::GtkEventControllerKey, _widget::GtkWidget)
        ret = ccall(("gtk_event_controller_key_forward", libgtk4), Cint, (Ptr{GObject}, Ptr{GObject}), instance, _widget)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_group(instance::GtkEventControllerKey)
        ret = ccall(("gtk_event_controller_key_get_group", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function get_im_context(instance::GtkEventControllerKey)
        ret = ccall(("gtk_event_controller_key_get_im_context", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkIMContext, ret, false)
        ret2
    end
    function set_im_context(instance::GtkEventControllerKey, _im_context::Maybe(GtkIMContext))
        _im_context_maybe = nothing_to_null(_im_context)
        ret = ccall(("gtk_event_controller_key_set_im_context", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _im_context_maybe)
        nothing
    end
    function EventControllerLegacy_new()
        ret = ccall(("gtk_event_controller_legacy_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkEventControllerLegacyLeaf(ret, true)
        ret2
    end
    function EventControllerMotion_new()
        ret = ccall(("gtk_event_controller_motion_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkEventControllerMotionLeaf(ret, true)
        ret2
    end
    function contains_pointer(instance::GtkEventControllerMotion)
        ret = ccall(("gtk_event_controller_motion_contains_pointer", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function is_pointer(instance::GtkEventControllerMotion)
        ret = ccall(("gtk_event_controller_motion_is_pointer", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function EventControllerScroll_new(_flags)
        ret = ccall(("gtk_event_controller_scroll_new", libgtk4), Ptr{GObject}, (UInt32,), _flags)
        ret2 = GtkEventControllerScrollLeaf(ret, true)
        ret2
    end
    function get_flags(instance::GtkEventControllerScroll)
        ret = ccall(("gtk_event_controller_scroll_get_flags", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = EventControllerScrollFlags(ret)
        ret2
    end
    function get_unit(instance::GtkEventControllerScroll)
        ret = ccall(("gtk_event_controller_scroll_get_unit", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = ScrollUnit(ret)
        ret2
    end
    function set_flags(instance::GtkEventControllerScroll, _flags)
        ret = ccall(("gtk_event_controller_scroll_set_flags", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _flags)
        nothing
    end
    function EveryFilter_new()
        ret = ccall(("gtk_every_filter_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkEveryFilterLeaf(ret, true)
        ret2
    end
    function get_item_type(instance::GtkEveryFilter)
        get_item_type(GListModel(instance))
    end
    function get_n_items(instance::GtkEveryFilter)
        get_n_items(GListModel(instance))
    end
    function get_item(instance::GtkEveryFilter, _position::Integer)
        get_item(GListModel(instance), _position)
    end
    function items_changed(instance::GtkEveryFilter, _position::Integer, _removed::Integer, _added::Integer)
        items_changed(GListModel(instance), _position, _removed, _added)
    end
    function get_buildable_id(instance::GtkEveryFilter)
        get_buildable_id(GtkBuildable(instance))
    end
    function Expander_new(_label::Maybe(Union{AbstractString, Symbol}))
        _label_maybe = nothing_to_null(_label)
        ret = ccall(("gtk_expander_new", libgtk4), Ptr{GObject}, (Cstring,), _label_maybe)
        ret2 = GtkExpanderLeaf(ret, false)
        ret2
    end
    function Expander_new_with_mnemonic(_label::Maybe(Union{AbstractString, Symbol}))
        _label_maybe = nothing_to_null(_label)
        ret = ccall(("gtk_expander_new_with_mnemonic", libgtk4), Ptr{GObject}, (Cstring,), _label_maybe)
        ret2 = GtkExpanderLeaf(ret, false)
        ret2
    end
    function get_child(instance::GtkExpander)
        ret = ccall(("gtk_expander_get_child", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_expanded(instance::GtkExpander)
        ret = ccall(("gtk_expander_get_expanded", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_label(instance::GtkExpander)
        ret = ccall(("gtk_expander_get_label", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_label_widget(instance::GtkExpander)
        ret = ccall(("gtk_expander_get_label_widget", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_resize_toplevel(instance::GtkExpander)
        ret = ccall(("gtk_expander_get_resize_toplevel", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_use_markup(instance::GtkExpander)
        ret = ccall(("gtk_expander_get_use_markup", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_use_underline(instance::GtkExpander)
        ret = ccall(("gtk_expander_get_use_underline", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_child(instance::GtkExpander, _child::Maybe(GtkWidget))
        _child_maybe = nothing_to_null(_child)
        ret = ccall(("gtk_expander_set_child", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child_maybe)
        nothing
    end
    function set_expanded(instance::GtkExpander, _expanded::Bool)
        ret = ccall(("gtk_expander_set_expanded", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _expanded)
        nothing
    end
    function set_label(instance::GtkExpander, _label::Maybe(Union{AbstractString, Symbol}))
        _label_maybe = nothing_to_null(_label)
        ret = ccall(("gtk_expander_set_label", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _label_maybe)
        nothing
    end
    function set_label_widget(instance::GtkExpander, _label_widget::Maybe(GtkWidget))
        _label_widget_maybe = nothing_to_null(_label_widget)
        ret = ccall(("gtk_expander_set_label_widget", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _label_widget_maybe)
        nothing
    end
    function set_resize_toplevel(instance::GtkExpander, _resize_toplevel::Bool)
        ret = ccall(("gtk_expander_set_resize_toplevel", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _resize_toplevel)
        nothing
    end
    function set_use_markup(instance::GtkExpander, _use_markup::Bool)
        ret = ccall(("gtk_expander_set_use_markup", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _use_markup)
        nothing
    end
    function set_use_underline(instance::GtkExpander, _use_underline::Bool)
        ret = ccall(("gtk_expander_set_use_underline", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _use_underline)
        nothing
    end
    function announce(instance::GtkExpander, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkExpander)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkExpander)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkExpander)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkExpander)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkExpander)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkExpander)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkExpander, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkExpander, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkExpander, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkExpander, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkExpander, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkExpander, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkExpander, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkExpander, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkExpander, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkExpander)
        get_buildable_id(GtkBuildable(instance))
    end
    function bind(instance::GtkExpression, _target::GObject, _property::Union{AbstractString, Symbol}, _this_::Maybe(GObject))
        _this__maybe = nothing_to_null(_this_)
        ret = ccall(("gtk_expression_bind", libgtk4), Ptr{GtkExpressionWatch}, (Ptr{GtkExpression}, Ptr{GObject}, Cstring, Ptr{GObject}), instance, _target, _property, _this__maybe)
        ret2 = convert(GtkExpressionWatch, ret, false)
        ret2
    end
    function evaluate(instance::GtkExpression, _this_::Maybe(GObject), _value::Union{GValue, Ref{_GValue}})
        _this__maybe = nothing_to_null(_this_)
        ret = ccall(("gtk_expression_evaluate", libgtk4), Cint, (Ptr{GtkExpression}, Ptr{GObject}, Ptr{_GValue}), instance, _this__maybe, _value)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_value_type(instance::GtkExpression)
        ret = ccall(("gtk_expression_get_value_type", libgtk4), UInt64, (Ptr{GtkExpression},), instance)
        ret
    end
    function is_static(instance::GtkExpression)
        ret = ccall(("gtk_expression_is_static", libgtk4), Cint, (Ptr{GtkExpression},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function ref(instance::GtkExpression)
        ret = ccall(("gtk_expression_ref", libgtk4), Ptr{GtkExpression}, (Ptr{GtkExpression},), instance)
        ret2 = convert(GtkExpression, ret)
        ret2
    end
    function unref(instance::GtkExpression)
        ret = ccall(("gtk_expression_unref", libgtk4), Nothing, (Ptr{GtkExpression},), instance)
        nothing
    end
    function announce(instance::GtkFileChooserDialog, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkFileChooserDialog)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkFileChooserDialog)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkFileChooserDialog)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkFileChooserDialog)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkFileChooserDialog)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkFileChooserDialog)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkFileChooserDialog, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkFileChooserDialog, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkFileChooserDialog, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkFileChooserDialog, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkFileChooserDialog, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkFileChooserDialog, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkFileChooserDialog, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkFileChooserDialog, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkFileChooserDialog, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkFileChooserDialog)
        get_buildable_id(GtkBuildable(instance))
    end
    function add_choice(instance::GtkFileChooserDialog, _id::Union{AbstractString, Symbol}, _label::Union{AbstractString, Symbol}, _options, _option_labels)
        add_choice(GtkFileChooser(instance), _id, _label, _options, _option_labels)
    end
    function add_filter(instance::GtkFileChooserDialog, _filter::GtkFileFilter)
        add_filter(GtkFileChooser(instance), _filter)
    end
    function add_shortcut_folder(instance::GtkFileChooserDialog, _folder::GFile)
        add_shortcut_folder(GtkFileChooser(instance), _folder)
    end
    function get_action(instance::GtkFileChooserDialog)
        get_action(GtkFileChooser(instance))
    end
    function get_choice(instance::GtkFileChooserDialog, _id::Union{AbstractString, Symbol})
        get_choice(GtkFileChooser(instance), _id)
    end
    function get_create_folders(instance::GtkFileChooserDialog)
        get_create_folders(GtkFileChooser(instance))
    end
    function get_current_folder(instance::GtkFileChooserDialog)
        get_current_folder(GtkFileChooser(instance))
    end
    function get_current_name(instance::GtkFileChooserDialog)
        get_current_name(GtkFileChooser(instance))
    end
    function get_file(instance::GtkFileChooserDialog)
        get_file(GtkFileChooser(instance))
    end
    function get_files(instance::GtkFileChooserDialog)
        get_files(GtkFileChooser(instance))
    end
    function get_filter(instance::GtkFileChooserDialog)
        get_filter(GtkFileChooser(instance))
    end
    function get_filters(instance::GtkFileChooserDialog)
        get_filters(GtkFileChooser(instance))
    end
    function get_select_multiple(instance::GtkFileChooserDialog)
        get_select_multiple(GtkFileChooser(instance))
    end
    function get_shortcut_folders(instance::GtkFileChooserDialog)
        get_shortcut_folders(GtkFileChooser(instance))
    end
    function remove_choice(instance::GtkFileChooserDialog, _id::Union{AbstractString, Symbol})
        remove_choice(GtkFileChooser(instance), _id)
    end
    function remove_filter(instance::GtkFileChooserDialog, _filter::GtkFileFilter)
        remove_filter(GtkFileChooser(instance), _filter)
    end
    function remove_shortcut_folder(instance::GtkFileChooserDialog, _folder::GFile)
        remove_shortcut_folder(GtkFileChooser(instance), _folder)
    end
    function set_action(instance::GtkFileChooserDialog, _action)
        set_action(GtkFileChooser(instance), _action)
    end
    function set_choice(instance::GtkFileChooserDialog, _id::Union{AbstractString, Symbol}, _option::Union{AbstractString, Symbol})
        set_choice(GtkFileChooser(instance), _id, _option)
    end
    function set_create_folders(instance::GtkFileChooserDialog, _create_folders::Bool)
        set_create_folders(GtkFileChooser(instance), _create_folders)
    end
    function set_current_folder(instance::GtkFileChooserDialog, _file::Maybe(GFile))
        set_current_folder(GtkFileChooser(instance), _file)
    end
    function set_current_name(instance::GtkFileChooserDialog, _name::Union{AbstractString, Symbol})
        set_current_name(GtkFileChooser(instance), _name)
    end
    function set_file(instance::GtkFileChooserDialog, _file::GFile)
        set_file(GtkFileChooser(instance), _file)
    end
    function set_filter(instance::GtkFileChooserDialog, _filter::GtkFileFilter)
        set_filter(GtkFileChooser(instance), _filter)
    end
    function set_select_multiple(instance::GtkFileChooserDialog, _select_multiple::Bool)
        set_select_multiple(GtkFileChooser(instance), _select_multiple)
    end
    function get_renderer(instance::GtkFileChooserDialog)
        get_renderer(GtkNative(instance))
    end
    function get_surface(instance::GtkFileChooserDialog)
        get_surface(GtkNative(instance))
    end
    function get_surface_transform(instance::GtkFileChooserDialog)
        get_surface_transform(GtkNative(instance))
    end
    function realize(instance::GtkFileChooserDialog)
        realize(GtkNative(instance))
    end
    function unrealize(instance::GtkFileChooserDialog)
        unrealize(GtkNative(instance))
    end
    function get_display(instance::GtkFileChooserDialog)
        get_display(GtkRoot(instance))
    end
    function get_focus(instance::GtkFileChooserDialog)
        get_focus(GtkRoot(instance))
    end
    function set_focus(instance::GtkFileChooserDialog, _focus::Maybe(GtkWidget))
        set_focus(GtkRoot(instance), _focus)
    end
    function FileChooserNative_new(_title::Maybe(Union{AbstractString, Symbol}), _parent::Maybe(GtkWindow), _action, _accept_label::Maybe(Union{AbstractString, Symbol}), _cancel_label::Maybe(Union{AbstractString, Symbol}))
        _title_maybe = nothing_to_null(_title)
        _parent_maybe = nothing_to_null(_parent)
        _accept_label_maybe = nothing_to_null(_accept_label)
        _cancel_label_maybe = nothing_to_null(_cancel_label)
        ret = ccall(("gtk_file_chooser_native_new", libgtk4), Ptr{GObject}, (Cstring, Ptr{GObject}, UInt32, Cstring, Cstring), _title_maybe, _parent_maybe, _action, _accept_label_maybe, _cancel_label_maybe)
        ret2 = GtkFileChooserNativeLeaf(ret, true)
        ret2
    end
    function get_accept_label(instance::GtkFileChooserNative)
        ret = ccall(("gtk_file_chooser_native_get_accept_label", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_cancel_label(instance::GtkFileChooserNative)
        ret = ccall(("gtk_file_chooser_native_get_cancel_label", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function set_accept_label(instance::GtkFileChooserNative, _accept_label::Maybe(Union{AbstractString, Symbol}))
        _accept_label_maybe = nothing_to_null(_accept_label)
        ret = ccall(("gtk_file_chooser_native_set_accept_label", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _accept_label_maybe)
        nothing
    end
    function set_cancel_label(instance::GtkFileChooserNative, _cancel_label::Maybe(Union{AbstractString, Symbol}))
        _cancel_label_maybe = nothing_to_null(_cancel_label)
        ret = ccall(("gtk_file_chooser_native_set_cancel_label", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _cancel_label_maybe)
        nothing
    end
    function add_choice(instance::GtkFileChooserNative, _id::Union{AbstractString, Symbol}, _label::Union{AbstractString, Symbol}, _options, _option_labels)
        add_choice(GtkFileChooser(instance), _id, _label, _options, _option_labels)
    end
    function add_filter(instance::GtkFileChooserNative, _filter::GtkFileFilter)
        add_filter(GtkFileChooser(instance), _filter)
    end
    function add_shortcut_folder(instance::GtkFileChooserNative, _folder::GFile)
        add_shortcut_folder(GtkFileChooser(instance), _folder)
    end
    function get_action(instance::GtkFileChooserNative)
        get_action(GtkFileChooser(instance))
    end
    function get_choice(instance::GtkFileChooserNative, _id::Union{AbstractString, Symbol})
        get_choice(GtkFileChooser(instance), _id)
    end
    function get_create_folders(instance::GtkFileChooserNative)
        get_create_folders(GtkFileChooser(instance))
    end
    function get_current_folder(instance::GtkFileChooserNative)
        get_current_folder(GtkFileChooser(instance))
    end
    function get_current_name(instance::GtkFileChooserNative)
        get_current_name(GtkFileChooser(instance))
    end
    function get_file(instance::GtkFileChooserNative)
        get_file(GtkFileChooser(instance))
    end
    function get_files(instance::GtkFileChooserNative)
        get_files(GtkFileChooser(instance))
    end
    function get_filter(instance::GtkFileChooserNative)
        get_filter(GtkFileChooser(instance))
    end
    function get_filters(instance::GtkFileChooserNative)
        get_filters(GtkFileChooser(instance))
    end
    function get_select_multiple(instance::GtkFileChooserNative)
        get_select_multiple(GtkFileChooser(instance))
    end
    function get_shortcut_folders(instance::GtkFileChooserNative)
        get_shortcut_folders(GtkFileChooser(instance))
    end
    function remove_choice(instance::GtkFileChooserNative, _id::Union{AbstractString, Symbol})
        remove_choice(GtkFileChooser(instance), _id)
    end
    function remove_filter(instance::GtkFileChooserNative, _filter::GtkFileFilter)
        remove_filter(GtkFileChooser(instance), _filter)
    end
    function remove_shortcut_folder(instance::GtkFileChooserNative, _folder::GFile)
        remove_shortcut_folder(GtkFileChooser(instance), _folder)
    end
    function set_action(instance::GtkFileChooserNative, _action)
        set_action(GtkFileChooser(instance), _action)
    end
    function set_choice(instance::GtkFileChooserNative, _id::Union{AbstractString, Symbol}, _option::Union{AbstractString, Symbol})
        set_choice(GtkFileChooser(instance), _id, _option)
    end
    function set_create_folders(instance::GtkFileChooserNative, _create_folders::Bool)
        set_create_folders(GtkFileChooser(instance), _create_folders)
    end
    function set_current_folder(instance::GtkFileChooserNative, _file::Maybe(GFile))
        set_current_folder(GtkFileChooser(instance), _file)
    end
    function set_current_name(instance::GtkFileChooserNative, _name::Union{AbstractString, Symbol})
        set_current_name(GtkFileChooser(instance), _name)
    end
    function set_file(instance::GtkFileChooserNative, _file::GFile)
        set_file(GtkFileChooser(instance), _file)
    end
    function set_filter(instance::GtkFileChooserNative, _filter::GtkFileFilter)
        set_filter(GtkFileChooser(instance), _filter)
    end
    function set_select_multiple(instance::GtkFileChooserNative, _select_multiple::Bool)
        set_select_multiple(GtkFileChooser(instance), _select_multiple)
    end
    function FileChooserWidget_new(_action)
        ret = ccall(("gtk_file_chooser_widget_new", libgtk4), Ptr{GObject}, (UInt32,), _action)
        ret2 = GtkFileChooserWidgetLeaf(ret, false)
        ret2
    end
    function announce(instance::GtkFileChooserWidget, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkFileChooserWidget)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkFileChooserWidget)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkFileChooserWidget)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkFileChooserWidget)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkFileChooserWidget)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkFileChooserWidget)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkFileChooserWidget, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkFileChooserWidget, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkFileChooserWidget, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkFileChooserWidget, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkFileChooserWidget, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkFileChooserWidget, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkFileChooserWidget, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkFileChooserWidget, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkFileChooserWidget, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkFileChooserWidget)
        get_buildable_id(GtkBuildable(instance))
    end
    function add_choice(instance::GtkFileChooserWidget, _id::Union{AbstractString, Symbol}, _label::Union{AbstractString, Symbol}, _options, _option_labels)
        add_choice(GtkFileChooser(instance), _id, _label, _options, _option_labels)
    end
    function add_filter(instance::GtkFileChooserWidget, _filter::GtkFileFilter)
        add_filter(GtkFileChooser(instance), _filter)
    end
    function add_shortcut_folder(instance::GtkFileChooserWidget, _folder::GFile)
        add_shortcut_folder(GtkFileChooser(instance), _folder)
    end
    function get_action(instance::GtkFileChooserWidget)
        get_action(GtkFileChooser(instance))
    end
    function get_choice(instance::GtkFileChooserWidget, _id::Union{AbstractString, Symbol})
        get_choice(GtkFileChooser(instance), _id)
    end
    function get_create_folders(instance::GtkFileChooserWidget)
        get_create_folders(GtkFileChooser(instance))
    end
    function get_current_folder(instance::GtkFileChooserWidget)
        get_current_folder(GtkFileChooser(instance))
    end
    function get_current_name(instance::GtkFileChooserWidget)
        get_current_name(GtkFileChooser(instance))
    end
    function get_file(instance::GtkFileChooserWidget)
        get_file(GtkFileChooser(instance))
    end
    function get_files(instance::GtkFileChooserWidget)
        get_files(GtkFileChooser(instance))
    end
    function get_filter(instance::GtkFileChooserWidget)
        get_filter(GtkFileChooser(instance))
    end
    function get_filters(instance::GtkFileChooserWidget)
        get_filters(GtkFileChooser(instance))
    end
    function get_select_multiple(instance::GtkFileChooserWidget)
        get_select_multiple(GtkFileChooser(instance))
    end
    function get_shortcut_folders(instance::GtkFileChooserWidget)
        get_shortcut_folders(GtkFileChooser(instance))
    end
    function remove_choice(instance::GtkFileChooserWidget, _id::Union{AbstractString, Symbol})
        remove_choice(GtkFileChooser(instance), _id)
    end
    function remove_filter(instance::GtkFileChooserWidget, _filter::GtkFileFilter)
        remove_filter(GtkFileChooser(instance), _filter)
    end
    function remove_shortcut_folder(instance::GtkFileChooserWidget, _folder::GFile)
        remove_shortcut_folder(GtkFileChooser(instance), _folder)
    end
    function set_action(instance::GtkFileChooserWidget, _action)
        set_action(GtkFileChooser(instance), _action)
    end
    function set_choice(instance::GtkFileChooserWidget, _id::Union{AbstractString, Symbol}, _option::Union{AbstractString, Symbol})
        set_choice(GtkFileChooser(instance), _id, _option)
    end
    function set_create_folders(instance::GtkFileChooserWidget, _create_folders::Bool)
        set_create_folders(GtkFileChooser(instance), _create_folders)
    end
    function set_current_folder(instance::GtkFileChooserWidget, _file::Maybe(GFile))
        set_current_folder(GtkFileChooser(instance), _file)
    end
    function set_current_name(instance::GtkFileChooserWidget, _name::Union{AbstractString, Symbol})
        set_current_name(GtkFileChooser(instance), _name)
    end
    function set_file(instance::GtkFileChooserWidget, _file::GFile)
        set_file(GtkFileChooser(instance), _file)
    end
    function set_filter(instance::GtkFileChooserWidget, _filter::GtkFileFilter)
        set_filter(GtkFileChooser(instance), _filter)
    end
    function set_select_multiple(instance::GtkFileChooserWidget, _select_multiple::Bool)
        set_select_multiple(GtkFileChooser(instance), _select_multiple)
    end
    function FileDialog_new()
        ret = ccall(("gtk_file_dialog_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkFileDialogLeaf(ret, true)
        ret2
    end
    function get_accept_label(instance::GtkFileDialog)
        ret = ccall(("gtk_file_dialog_get_accept_label", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_default_filter(instance::GtkFileDialog)
        ret = ccall(("gtk_file_dialog_get_default_filter", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkFileFilter, ret, false)
        ret2
    end
    function get_filters(instance::GtkFileDialog)
        ret = ccall(("gtk_file_dialog_get_filters", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, false)
        ret2
    end
    function get_initial_file(instance::GtkFileDialog)
        ret = ccall(("gtk_file_dialog_get_initial_file", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, false)
        ret2
    end
    function get_initial_folder(instance::GtkFileDialog)
        ret = ccall(("gtk_file_dialog_get_initial_folder", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, false)
        ret2
    end
    function get_initial_name(instance::GtkFileDialog)
        ret = ccall(("gtk_file_dialog_get_initial_name", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_modal(instance::GtkFileDialog)
        ret = ccall(("gtk_file_dialog_get_modal", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_title(instance::GtkFileDialog)
        ret = ccall(("gtk_file_dialog_get_title", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function open(instance::GtkFileDialog, _parent::Maybe(GtkWindow), _cancellable::Maybe(GCancellable), _callback::Maybe(Function))
        _parent_maybe = nothing_to_null(_parent)
        _cancellable_maybe = nothing_to_null(_cancellable)
        if _callback === nothing
            _callback_cfunc = C_NULL
            _callback_closure = C_NULL
        else
            _callback_cfunc = @cfunction(GAsyncReadyCallback, Nothing, (Ptr{GObject}, Ptr{GObject}, Ref{Function}))
            _callback_closure = GLib.gc_ref(_callback)
        end
        ret = ccall(("gtk_file_dialog_open", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{GObject}, Ptr{Cvoid}, Ptr{Nothing}), instance, _parent_maybe, _cancellable_maybe, _callback_cfunc, _callback_closure)
        nothing
    end
    function open_finish(instance::GtkFileDialog, _result::GAsyncResult)
        err = err_buf()
        ret = ccall(("gtk_file_dialog_open_finish", libgtk4), Ptr{GObject}, (Ptr{GObject}, Ptr{GObject}, Ptr{Ptr{GError}}), instance, _result, err)
        check_err(err)
        ret2 = GLib.find_leaf_type_if_not_null(ret, true)
        ret2
    end
    function open_multiple(instance::GtkFileDialog, _parent::Maybe(GtkWindow), _cancellable::Maybe(GCancellable), _callback::Maybe(Function))
        _parent_maybe = nothing_to_null(_parent)
        _cancellable_maybe = nothing_to_null(_cancellable)
        if _callback === nothing
            _callback_cfunc = C_NULL
            _callback_closure = C_NULL
        else
            _callback_cfunc = @cfunction(GAsyncReadyCallback, Nothing, (Ptr{GObject}, Ptr{GObject}, Ref{Function}))
            _callback_closure = GLib.gc_ref(_callback)
        end
        ret = ccall(("gtk_file_dialog_open_multiple", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{GObject}, Ptr{Cvoid}, Ptr{Nothing}), instance, _parent_maybe, _cancellable_maybe, _callback_cfunc, _callback_closure)
        nothing
    end
    function open_multiple_finish(instance::GtkFileDialog, _result::GAsyncResult)
        err = err_buf()
        ret = ccall(("gtk_file_dialog_open_multiple_finish", libgtk4), Ptr{GObject}, (Ptr{GObject}, Ptr{GObject}, Ptr{Ptr{GError}}), instance, _result, err)
        check_err(err)
        ret2 = GLib.find_leaf_type_if_not_null(ret, true)
        ret2
    end
    function save(instance::GtkFileDialog, _parent::Maybe(GtkWindow), _cancellable::Maybe(GCancellable), _callback::Maybe(Function))
        _parent_maybe = nothing_to_null(_parent)
        _cancellable_maybe = nothing_to_null(_cancellable)
        if _callback === nothing
            _callback_cfunc = C_NULL
            _callback_closure = C_NULL
        else
            _callback_cfunc = @cfunction(GAsyncReadyCallback, Nothing, (Ptr{GObject}, Ptr{GObject}, Ref{Function}))
            _callback_closure = GLib.gc_ref(_callback)
        end
        ret = ccall(("gtk_file_dialog_save", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{GObject}, Ptr{Cvoid}, Ptr{Nothing}), instance, _parent_maybe, _cancellable_maybe, _callback_cfunc, _callback_closure)
        nothing
    end
    function save_finish(instance::GtkFileDialog, _result::GAsyncResult)
        err = err_buf()
        ret = ccall(("gtk_file_dialog_save_finish", libgtk4), Ptr{GObject}, (Ptr{GObject}, Ptr{GObject}, Ptr{Ptr{GError}}), instance, _result, err)
        check_err(err)
        ret2 = GLib.find_leaf_type_if_not_null(ret, true)
        ret2
    end
    function select_folder(instance::GtkFileDialog, _parent::Maybe(GtkWindow), _cancellable::Maybe(GCancellable), _callback::Maybe(Function))
        _parent_maybe = nothing_to_null(_parent)
        _cancellable_maybe = nothing_to_null(_cancellable)
        if _callback === nothing
            _callback_cfunc = C_NULL
            _callback_closure = C_NULL
        else
            _callback_cfunc = @cfunction(GAsyncReadyCallback, Nothing, (Ptr{GObject}, Ptr{GObject}, Ref{Function}))
            _callback_closure = GLib.gc_ref(_callback)
        end
        ret = ccall(("gtk_file_dialog_select_folder", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{GObject}, Ptr{Cvoid}, Ptr{Nothing}), instance, _parent_maybe, _cancellable_maybe, _callback_cfunc, _callback_closure)
        nothing
    end
    function select_folder_finish(instance::GtkFileDialog, _result::GAsyncResult)
        err = err_buf()
        ret = ccall(("gtk_file_dialog_select_folder_finish", libgtk4), Ptr{GObject}, (Ptr{GObject}, Ptr{GObject}, Ptr{Ptr{GError}}), instance, _result, err)
        check_err(err)
        ret2 = GLib.find_leaf_type_if_not_null(ret, true)
        ret2
    end
    function select_multiple_folders(instance::GtkFileDialog, _parent::Maybe(GtkWindow), _cancellable::Maybe(GCancellable), _callback::Maybe(Function))
        _parent_maybe = nothing_to_null(_parent)
        _cancellable_maybe = nothing_to_null(_cancellable)
        if _callback === nothing
            _callback_cfunc = C_NULL
            _callback_closure = C_NULL
        else
            _callback_cfunc = @cfunction(GAsyncReadyCallback, Nothing, (Ptr{GObject}, Ptr{GObject}, Ref{Function}))
            _callback_closure = GLib.gc_ref(_callback)
        end
        ret = ccall(("gtk_file_dialog_select_multiple_folders", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{GObject}, Ptr{Cvoid}, Ptr{Nothing}), instance, _parent_maybe, _cancellable_maybe, _callback_cfunc, _callback_closure)
        nothing
    end
    function select_multiple_folders_finish(instance::GtkFileDialog, _result::GAsyncResult)
        err = err_buf()
        ret = ccall(("gtk_file_dialog_select_multiple_folders_finish", libgtk4), Ptr{GObject}, (Ptr{GObject}, Ptr{GObject}, Ptr{Ptr{GError}}), instance, _result, err)
        check_err(err)
        ret2 = GLib.find_leaf_type_if_not_null(ret, true)
        ret2
    end
    function set_accept_label(instance::GtkFileDialog, _accept_label::Maybe(Union{AbstractString, Symbol}))
        _accept_label_maybe = nothing_to_null(_accept_label)
        ret = ccall(("gtk_file_dialog_set_accept_label", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _accept_label_maybe)
        nothing
    end
    function set_default_filter(instance::GtkFileDialog, _filter::Maybe(GtkFileFilter))
        _filter_maybe = nothing_to_null(_filter)
        ret = ccall(("gtk_file_dialog_set_default_filter", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _filter_maybe)
        nothing
    end
    function set_filters(instance::GtkFileDialog, _filters::Maybe(GListModel))
        _filters_maybe = nothing_to_null(_filters)
        ret = ccall(("gtk_file_dialog_set_filters", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _filters_maybe)
        nothing
    end
    function set_initial_file(instance::GtkFileDialog, _file::Maybe(GFile))
        _file_maybe = nothing_to_null(_file)
        ret = ccall(("gtk_file_dialog_set_initial_file", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _file_maybe)
        nothing
    end
    function set_initial_folder(instance::GtkFileDialog, _folder::Maybe(GFile))
        _folder_maybe = nothing_to_null(_folder)
        ret = ccall(("gtk_file_dialog_set_initial_folder", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _folder_maybe)
        nothing
    end
    function set_initial_name(instance::GtkFileDialog, _name::Maybe(Union{AbstractString, Symbol}))
        _name_maybe = nothing_to_null(_name)
        ret = ccall(("gtk_file_dialog_set_initial_name", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _name_maybe)
        nothing
    end
    function set_modal(instance::GtkFileDialog, _modal::Bool)
        ret = ccall(("gtk_file_dialog_set_modal", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _modal)
        nothing
    end
    function set_title(instance::GtkFileDialog, _title::Union{AbstractString, Symbol})
        ret = ccall(("gtk_file_dialog_set_title", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _title)
        nothing
    end
    function FileFilter_new()
        ret = ccall(("gtk_file_filter_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkFileFilterLeaf(ret, true)
        ret2
    end
    function FileFilter_new_from_gvariant(_variant::GVariant)
        ret = ccall(("gtk_file_filter_new_from_gvariant", libgtk4), Ptr{GObject}, (Ptr{GVariant},), _variant)
        ret2 = GtkFileFilterLeaf(ret, true)
        ret2
    end
    function add_mime_type(instance::GtkFileFilter, _mime_type::Union{AbstractString, Symbol})
        ret = ccall(("gtk_file_filter_add_mime_type", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _mime_type)
        nothing
    end
    function add_pattern(instance::GtkFileFilter, _pattern::Union{AbstractString, Symbol})
        ret = ccall(("gtk_file_filter_add_pattern", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _pattern)
        nothing
    end
    function add_pixbuf_formats(instance::GtkFileFilter)
        ret = ccall(("gtk_file_filter_add_pixbuf_formats", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function add_suffix(instance::GtkFileFilter, _suffix::Union{AbstractString, Symbol})
        ret = ccall(("gtk_file_filter_add_suffix", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _suffix)
        nothing
    end
    function get_attributes(instance::GtkFileFilter)
        ret = ccall(("gtk_file_filter_get_attributes", libgtk4), Ptr{Cstring}, (Ptr{GObject},), instance)
        ret2 = begin
                _len = length_zt(ret)
                arrtemp = bytestring.(unsafe_wrap(Vector{Cstring}, ret, _len))
                arrtemp
            end
        ret2
    end
    function get_name(instance::GtkFileFilter)
        ret = ccall(("gtk_file_filter_get_name", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function set_name(instance::GtkFileFilter, _name::Maybe(Union{AbstractString, Symbol}))
        _name_maybe = nothing_to_null(_name)
        ret = ccall(("gtk_file_filter_set_name", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _name_maybe)
        nothing
    end
    function to_gvariant(instance::GtkFileFilter)
        ret = ccall(("gtk_file_filter_to_gvariant", libgtk4), Ptr{GVariant}, (Ptr{GObject},), instance)
        ret2 = convert(GVariant, ret)
        ret2
    end
    function get_buildable_id(instance::GtkFileFilter)
        get_buildable_id(GtkBuildable(instance))
    end
    function FileLauncher_new(_file::Maybe(GFile))
        _file_maybe = nothing_to_null(_file)
        ret = ccall(("gtk_file_launcher_new", libgtk4), Ptr{GObject}, (Ptr{GObject},), _file_maybe)
        ret2 = GtkFileLauncherLeaf(ret, true)
        ret2
    end
    function get_always_ask(instance::GtkFileLauncher)
        ret = ccall(("gtk_file_launcher_get_always_ask", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_file(instance::GtkFileLauncher)
        ret = ccall(("gtk_file_launcher_get_file", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, false)
        ret2
    end
    function get_writable(instance::GtkFileLauncher)
        ret = ccall(("gtk_file_launcher_get_writable", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function launch(instance::GtkFileLauncher, _parent::Maybe(GtkWindow), _cancellable::Maybe(GCancellable), _callback::Maybe(Function))
        _parent_maybe = nothing_to_null(_parent)
        _cancellable_maybe = nothing_to_null(_cancellable)
        if _callback === nothing
            _callback_cfunc = C_NULL
            _callback_closure = C_NULL
        else
            _callback_cfunc = @cfunction(GAsyncReadyCallback, Nothing, (Ptr{GObject}, Ptr{GObject}, Ref{Function}))
            _callback_closure = GLib.gc_ref(_callback)
        end
        ret = ccall(("gtk_file_launcher_launch", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{GObject}, Ptr{Cvoid}, Ptr{Nothing}), instance, _parent_maybe, _cancellable_maybe, _callback_cfunc, _callback_closure)
        nothing
    end
    function launch_finish(instance::GtkFileLauncher, _result::GAsyncResult)
        err = err_buf()
        ret = ccall(("gtk_file_launcher_launch_finish", libgtk4), Cint, (Ptr{GObject}, Ptr{GObject}, Ptr{Ptr{GError}}), instance, _result, err)
        check_err(err)
        ret2 = convert(Bool, ret)
        ret2
    end
    function open_containing_folder(instance::GtkFileLauncher, _parent::Maybe(GtkWindow), _cancellable::Maybe(GCancellable), _callback::Maybe(Function))
        _parent_maybe = nothing_to_null(_parent)
        _cancellable_maybe = nothing_to_null(_cancellable)
        if _callback === nothing
            _callback_cfunc = C_NULL
            _callback_closure = C_NULL
        else
            _callback_cfunc = @cfunction(GAsyncReadyCallback, Nothing, (Ptr{GObject}, Ptr{GObject}, Ref{Function}))
            _callback_closure = GLib.gc_ref(_callback)
        end
        ret = ccall(("gtk_file_launcher_open_containing_folder", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{GObject}, Ptr{Cvoid}, Ptr{Nothing}), instance, _parent_maybe, _cancellable_maybe, _callback_cfunc, _callback_closure)
        nothing
    end
    function open_containing_folder_finish(instance::GtkFileLauncher, _result::GAsyncResult)
        err = err_buf()
        ret = ccall(("gtk_file_launcher_open_containing_folder_finish", libgtk4), Cint, (Ptr{GObject}, Ptr{GObject}, Ptr{Ptr{GError}}), instance, _result, err)
        check_err(err)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_always_ask(instance::GtkFileLauncher, _always_ask::Bool)
        ret = ccall(("gtk_file_launcher_set_always_ask", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _always_ask)
        nothing
    end
    function set_file(instance::GtkFileLauncher, _file::Maybe(GFile))
        _file_maybe = nothing_to_null(_file)
        ret = ccall(("gtk_file_launcher_set_file", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _file_maybe)
        nothing
    end
    function set_writable(instance::GtkFileLauncher, _writable::Bool)
        ret = ccall(("gtk_file_launcher_set_writable", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _writable)
        nothing
    end
    function changed(instance::GtkFilter, _change)
        ret = ccall(("gtk_filter_changed", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _change)
        nothing
    end
    function get_strictness(instance::GtkFilter)
        ret = ccall(("gtk_filter_get_strictness", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = FilterMatch(ret)
        ret2
    end
    function match(instance::GtkFilter, _item::GObject)
        ret = ccall(("gtk_filter_match", libgtk4), Cint, (Ptr{GObject}, Ptr{GObject}), instance, _item)
        ret2 = convert(Bool, ret)
        ret2
    end
    function FilterListModel_new(_model::Maybe(GListModel), _filter::Maybe(GtkFilter))
        _model_maybe = begin
                if _model !== nothing
                    GLib.glib_ref(_model)
                end
                nothing_to_null(_model)
            end
        _filter_maybe = begin
                if _filter !== nothing
                    GLib.glib_ref(_filter)
                end
                nothing_to_null(_filter)
            end
        ret = ccall(("gtk_filter_list_model_new", libgtk4), Ptr{GObject}, (Ptr{GObject}, Ptr{GObject}), _model_maybe, _filter_maybe)
        ret2 = GtkFilterListModelLeaf(ret, true)
        ret2
    end
    function get_filter(instance::GtkFilterListModel)
        ret = ccall(("gtk_filter_list_model_get_filter", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkFilter, ret, false)
        ret2
    end
    function get_incremental(instance::GtkFilterListModel)
        ret = ccall(("gtk_filter_list_model_get_incremental", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_model(instance::GtkFilterListModel)
        ret = ccall(("gtk_filter_list_model_get_model", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, false)
        ret2
    end
    function get_pending(instance::GtkFilterListModel)
        ret = ccall(("gtk_filter_list_model_get_pending", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function set_filter(instance::GtkFilterListModel, _filter::Maybe(GtkFilter))
        _filter_maybe = nothing_to_null(_filter)
        ret = ccall(("gtk_filter_list_model_set_filter", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _filter_maybe)
        nothing
    end
    function set_incremental(instance::GtkFilterListModel, _incremental::Bool)
        ret = ccall(("gtk_filter_list_model_set_incremental", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _incremental)
        nothing
    end
    function set_model(instance::GtkFilterListModel, _model::Maybe(GListModel))
        _model_maybe = nothing_to_null(_model)
        ret = ccall(("gtk_filter_list_model_set_model", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _model_maybe)
        nothing
    end
    function get_item_type(instance::GtkFilterListModel)
        get_item_type(GListModel(instance))
    end
    function get_n_items(instance::GtkFilterListModel)
        get_n_items(GListModel(instance))
    end
    function get_item(instance::GtkFilterListModel, _position::Integer)
        get_item(GListModel(instance), _position)
    end
    function items_changed(instance::GtkFilterListModel, _position::Integer, _removed::Integer, _added::Integer)
        items_changed(GListModel(instance), _position, _removed, _added)
    end
    function get_section(instance::GtkFilterListModel, _position::Integer)
        get_section(GtkSectionModel(instance), _position)
    end
    function sections_changed(instance::GtkFilterListModel, _position::Integer, _n_items::Integer)
        sections_changed(GtkSectionModel(instance), _position, _n_items)
    end
    function Fixed_new()
        ret = ccall(("gtk_fixed_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkFixedLeaf(ret, false)
        ret2
    end
    function get_child_position(instance::GtkFixed, _widget::GtkWidget)
        m_x = Ref{Float64}()
        m_y = Ref{Float64}()
        ret = ccall(("gtk_fixed_get_child_position", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{Float64}, Ptr{Float64}), instance, _widget, m_x, m_y)
        _x = m_x[]
        _y = m_y[]
        (_x, _y)
    end
    function get_child_transform(instance::GtkFixed, _widget::GtkWidget)
        ret = ccall(("gtk_fixed_get_child_transform", libgtk4), Ptr{GskTransform}, (Ptr{GObject}, Ptr{GObject}), instance, _widget)
        ret2 = convert_if_not_null(GskTransform, ret, false)
        ret2
    end
    function move(instance::GtkFixed, _widget::GtkWidget, _x::Real, _y::Real)
        ret = ccall(("gtk_fixed_move", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Float64, Float64), instance, _widget, _x, _y)
        nothing
    end
    function put(instance::GtkFixed, _widget::GtkWidget, _x::Real, _y::Real)
        ret = ccall(("gtk_fixed_put", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Float64, Float64), instance, _widget, _x, _y)
        nothing
    end
    function remove(instance::GtkFixed, _widget::GtkWidget)
        ret = ccall(("gtk_fixed_remove", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _widget)
        nothing
    end
    function set_child_transform(instance::GtkFixed, _widget::GtkWidget, _transform::Maybe(GskTransform))
        _transform_maybe = nothing_to_null(_transform)
        ret = ccall(("gtk_fixed_set_child_transform", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{GskTransform}), instance, _widget, _transform_maybe)
        nothing
    end
    function announce(instance::GtkFixed, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkFixed)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkFixed)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkFixed)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkFixed)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkFixed)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkFixed)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkFixed, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkFixed, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkFixed, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkFixed, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkFixed, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkFixed, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkFixed, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkFixed, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkFixed, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkFixed)
        get_buildable_id(GtkBuildable(instance))
    end
    function FixedLayout_new()
        ret = ccall(("gtk_fixed_layout_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkFixedLayoutLeaf(ret, true)
        ret2
    end
    function get_transform(instance::GtkFixedLayoutChild)
        ret = ccall(("gtk_fixed_layout_child_get_transform", libgtk4), Ptr{GskTransform}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GskTransform, ret, false)
        ret2
    end
    function set_transform(instance::GtkFixedLayoutChild, _transform::GskTransform)
        ret = ccall(("gtk_fixed_layout_child_set_transform", libgtk4), Nothing, (Ptr{GObject}, Ptr{GskTransform}), instance, _transform)
        nothing
    end
    function FlattenListModel_new(_model::Maybe(GListModel))
        _model_maybe = begin
                if _model !== nothing
                    GLib.glib_ref(_model)
                end
                nothing_to_null(_model)
            end
        ret = ccall(("gtk_flatten_list_model_new", libgtk4), Ptr{GObject}, (Ptr{GObject},), _model_maybe)
        ret2 = GtkFlattenListModelLeaf(ret, true)
        ret2
    end
    function get_model(instance::GtkFlattenListModel)
        ret = ccall(("gtk_flatten_list_model_get_model", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, false)
        ret2
    end
    function get_model_for_item(instance::GtkFlattenListModel, _position::Integer)
        ret = ccall(("gtk_flatten_list_model_get_model_for_item", libgtk4), Ptr{GObject}, (Ptr{GObject}, UInt32), instance, _position)
        ret2 = GLib.find_leaf_type_if_not_null(ret, false)
        ret2
    end
    function set_model(instance::GtkFlattenListModel, _model::Maybe(GListModel))
        _model_maybe = nothing_to_null(_model)
        ret = ccall(("gtk_flatten_list_model_set_model", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _model_maybe)
        nothing
    end
    function get_item_type(instance::GtkFlattenListModel)
        get_item_type(GListModel(instance))
    end
    function get_n_items(instance::GtkFlattenListModel)
        get_n_items(GListModel(instance))
    end
    function get_item(instance::GtkFlattenListModel, _position::Integer)
        get_item(GListModel(instance), _position)
    end
    function items_changed(instance::GtkFlattenListModel, _position::Integer, _removed::Integer, _added::Integer)
        items_changed(GListModel(instance), _position, _removed, _added)
    end
    function get_section(instance::GtkFlattenListModel, _position::Integer)
        get_section(GtkSectionModel(instance), _position)
    end
    function sections_changed(instance::GtkFlattenListModel, _position::Integer, _n_items::Integer)
        sections_changed(GtkSectionModel(instance), _position, _n_items)
    end
    function FlowBox_new()
        ret = ccall(("gtk_flow_box_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkFlowBoxLeaf(ret, false)
        ret2
    end
    function append(instance::GtkFlowBox, _child::GtkWidget)
        ret = ccall(("gtk_flow_box_append", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child)
        nothing
    end
    function get_activate_on_single_click(instance::GtkFlowBox)
        ret = ccall(("gtk_flow_box_get_activate_on_single_click", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_child_at_index(instance::GtkFlowBox, _idx::Integer)
        ret = ccall(("gtk_flow_box_get_child_at_index", libgtk4), Ptr{GObject}, (Ptr{GObject}, Int32), instance, _idx)
        ret2 = convert_if_not_null(GtkFlowBoxChild, ret, false)
        ret2
    end
    function get_child_at_pos(instance::GtkFlowBox, _x::Integer, _y::Integer)
        ret = ccall(("gtk_flow_box_get_child_at_pos", libgtk4), Ptr{GObject}, (Ptr{GObject}, Int32, Int32), instance, _x, _y)
        ret2 = convert_if_not_null(GtkFlowBoxChild, ret, false)
        ret2
    end
    function get_column_spacing(instance::GtkFlowBox)
        ret = ccall(("gtk_flow_box_get_column_spacing", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function get_homogeneous(instance::GtkFlowBox)
        ret = ccall(("gtk_flow_box_get_homogeneous", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_max_children_per_line(instance::GtkFlowBox)
        ret = ccall(("gtk_flow_box_get_max_children_per_line", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function get_min_children_per_line(instance::GtkFlowBox)
        ret = ccall(("gtk_flow_box_get_min_children_per_line", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function get_row_spacing(instance::GtkFlowBox)
        ret = ccall(("gtk_flow_box_get_row_spacing", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function get_selected_children(instance::GtkFlowBox)
        ret = ccall(("gtk_flow_box_get_selected_children", libgtk4), Ptr{GLib._GList{Ptr{GObject}}}, (Ptr{GObject},), instance)
        ret2 = GLib.GList(ret, false)
        ret2
    end
    function get_selection_mode(instance::GtkFlowBox)
        ret = ccall(("gtk_flow_box_get_selection_mode", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = SelectionMode(ret)
        ret2
    end
    function insert(instance::GtkFlowBox, _widget::GtkWidget, _position::Integer)
        ret = ccall(("gtk_flow_box_insert", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Int32), instance, _widget, _position)
        nothing
    end
    function invalidate_filter(instance::GtkFlowBox)
        ret = ccall(("gtk_flow_box_invalidate_filter", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function invalidate_sort(instance::GtkFlowBox)
        ret = ccall(("gtk_flow_box_invalidate_sort", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function prepend(instance::GtkFlowBox, _child::GtkWidget)
        ret = ccall(("gtk_flow_box_prepend", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child)
        nothing
    end
    function remove(instance::GtkFlowBox, _widget::GtkWidget)
        ret = ccall(("gtk_flow_box_remove", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _widget)
        nothing
    end
    function remove_all(instance::GtkFlowBox)
        ret = ccall(("gtk_flow_box_remove_all", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function select_all(instance::GtkFlowBox)
        ret = ccall(("gtk_flow_box_select_all", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function select_child(instance::GtkFlowBox, _child::GtkFlowBoxChild)
        ret = ccall(("gtk_flow_box_select_child", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child)
        nothing
    end
    function selected_foreach(instance::GtkFlowBox, _func::Function)
        begin
            _func_cfunc = @cfunction(GtkFlowBoxForeachFunc, Nothing, (Ptr{GObject}, Ptr{GObject}, Ref{Function}))
            begin
                ref = Ref{Any}(_func)
                _func_closure = unsafe_load(convert(Ptr{Ptr{Nothing}}, Base.unsafe_convert(Ptr{Any}, ref)))
            end
        end
        ret = ccall(("gtk_flow_box_selected_foreach", libgtk4), Nothing, (Ptr{GObject}, Ptr{Cvoid}, Ptr{Nothing}), instance, _func_cfunc, _func_closure)
        nothing
    end
    function set_activate_on_single_click(instance::GtkFlowBox, _single::Bool)
        ret = ccall(("gtk_flow_box_set_activate_on_single_click", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _single)
        nothing
    end
    function set_column_spacing(instance::GtkFlowBox, _spacing::Integer)
        ret = ccall(("gtk_flow_box_set_column_spacing", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _spacing)
        nothing
    end
    function set_hadjustment(instance::GtkFlowBox, _adjustment::GtkAdjustment)
        ret = ccall(("gtk_flow_box_set_hadjustment", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _adjustment)
        nothing
    end
    function set_homogeneous(instance::GtkFlowBox, _homogeneous::Bool)
        ret = ccall(("gtk_flow_box_set_homogeneous", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _homogeneous)
        nothing
    end
    function set_max_children_per_line(instance::GtkFlowBox, _n_children::Integer)
        ret = ccall(("gtk_flow_box_set_max_children_per_line", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _n_children)
        nothing
    end
    function set_min_children_per_line(instance::GtkFlowBox, _n_children::Integer)
        ret = ccall(("gtk_flow_box_set_min_children_per_line", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _n_children)
        nothing
    end
    function set_row_spacing(instance::GtkFlowBox, _spacing::Integer)
        ret = ccall(("gtk_flow_box_set_row_spacing", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _spacing)
        nothing
    end
    function set_selection_mode(instance::GtkFlowBox, _mode)
        ret = ccall(("gtk_flow_box_set_selection_mode", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _mode)
        nothing
    end
    function set_vadjustment(instance::GtkFlowBox, _adjustment::GtkAdjustment)
        ret = ccall(("gtk_flow_box_set_vadjustment", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _adjustment)
        nothing
    end
    function unselect_all(instance::GtkFlowBox)
        ret = ccall(("gtk_flow_box_unselect_all", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function unselect_child(instance::GtkFlowBox, _child::GtkFlowBoxChild)
        ret = ccall(("gtk_flow_box_unselect_child", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child)
        nothing
    end
    function announce(instance::GtkFlowBox, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkFlowBox)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkFlowBox)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkFlowBox)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkFlowBox)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkFlowBox)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkFlowBox)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkFlowBox, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkFlowBox, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkFlowBox, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkFlowBox, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkFlowBox, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkFlowBox, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkFlowBox, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkFlowBox, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkFlowBox, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkFlowBox)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_orientation(instance::GtkFlowBox)
        get_orientation(GtkOrientable(instance))
    end
    function set_orientation(instance::GtkFlowBox, _orientation)
        set_orientation(GtkOrientable(instance), _orientation)
    end
    function FlowBoxChild_new()
        ret = ccall(("gtk_flow_box_child_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkFlowBoxChildLeaf(ret, false)
        ret2
    end
    function changed(instance::GtkFlowBoxChild)
        ret = ccall(("gtk_flow_box_child_changed", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function get_child(instance::GtkFlowBoxChild)
        ret = ccall(("gtk_flow_box_child_get_child", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_index(instance::GtkFlowBoxChild)
        ret = ccall(("gtk_flow_box_child_get_index", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function is_selected(instance::GtkFlowBoxChild)
        ret = ccall(("gtk_flow_box_child_is_selected", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_child(instance::GtkFlowBoxChild, _child::Maybe(GtkWidget))
        _child_maybe = nothing_to_null(_child)
        ret = ccall(("gtk_flow_box_child_set_child", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child_maybe)
        nothing
    end
    function announce(instance::GtkFlowBoxChild, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkFlowBoxChild)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkFlowBoxChild)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkFlowBoxChild)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkFlowBoxChild)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkFlowBoxChild)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkFlowBoxChild)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkFlowBoxChild, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkFlowBoxChild, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkFlowBoxChild, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkFlowBoxChild, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkFlowBoxChild, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkFlowBoxChild, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkFlowBoxChild, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkFlowBoxChild, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkFlowBoxChild, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkFlowBoxChild)
        get_buildable_id(GtkBuildable(instance))
    end
    function FontButton_new()
        ret = ccall(("gtk_font_button_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkFontButtonLeaf(ret, false)
        ret2
    end
    function FontButton_new_with_font(_fontname::Union{AbstractString, Symbol})
        ret = ccall(("gtk_font_button_new_with_font", libgtk4), Ptr{GObject}, (Cstring,), _fontname)
        ret2 = GtkFontButtonLeaf(ret, false)
        ret2
    end
    function get_modal(instance::GtkFontButton)
        ret = ccall(("gtk_font_button_get_modal", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_title(instance::GtkFontButton)
        ret = ccall(("gtk_font_button_get_title", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_use_font(instance::GtkFontButton)
        ret = ccall(("gtk_font_button_get_use_font", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_use_size(instance::GtkFontButton)
        ret = ccall(("gtk_font_button_get_use_size", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_modal(instance::GtkFontButton, _modal::Bool)
        ret = ccall(("gtk_font_button_set_modal", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _modal)
        nothing
    end
    function set_title(instance::GtkFontButton, _title::Union{AbstractString, Symbol})
        ret = ccall(("gtk_font_button_set_title", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _title)
        nothing
    end
    function set_use_font(instance::GtkFontButton, _use_font::Bool)
        ret = ccall(("gtk_font_button_set_use_font", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _use_font)
        nothing
    end
    function set_use_size(instance::GtkFontButton, _use_size::Bool)
        ret = ccall(("gtk_font_button_set_use_size", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _use_size)
        nothing
    end
    function announce(instance::GtkFontButton, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkFontButton)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkFontButton)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkFontButton)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkFontButton)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkFontButton)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkFontButton)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkFontButton, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkFontButton, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkFontButton, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkFontButton, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkFontButton, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkFontButton, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkFontButton, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkFontButton, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkFontButton, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkFontButton)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_font(instance::GtkFontButton)
        get_font(GtkFontChooser(instance))
    end
    function get_font_desc(instance::GtkFontButton)
        get_font_desc(GtkFontChooser(instance))
    end
    function get_font_face(instance::GtkFontButton)
        get_font_face(GtkFontChooser(instance))
    end
    function get_font_family(instance::GtkFontButton)
        get_font_family(GtkFontChooser(instance))
    end
    function get_font_features(instance::GtkFontButton)
        get_font_features(GtkFontChooser(instance))
    end
    function get_font_map(instance::GtkFontButton)
        get_font_map(GtkFontChooser(instance))
    end
    function get_font_size(instance::GtkFontButton)
        get_font_size(GtkFontChooser(instance))
    end
    function get_language(instance::GtkFontButton)
        get_language(GtkFontChooser(instance))
    end
    function get_level(instance::GtkFontButton)
        get_level(GtkFontChooser(instance))
    end
    function get_preview_text(instance::GtkFontButton)
        get_preview_text(GtkFontChooser(instance))
    end
    function get_show_preview_entry(instance::GtkFontButton)
        get_show_preview_entry(GtkFontChooser(instance))
    end
    function set_filter_func(instance::GtkFontButton, _filter::Maybe(Function), _destroy::Function)
        set_filter_func(GtkFontChooser(instance), _filter, _destroy)
    end
    function set_font(instance::GtkFontButton, _fontname::Union{AbstractString, Symbol})
        set_font(GtkFontChooser(instance), _fontname)
    end
    function set_font_desc(instance::GtkFontButton, _font_desc::PangoFontDescription)
        set_font_desc(GtkFontChooser(instance), _font_desc)
    end
    function set_font_map(instance::GtkFontButton, _fontmap::Maybe(PangoFontMap))
        set_font_map(GtkFontChooser(instance), _fontmap)
    end
    function set_language(instance::GtkFontButton, _language::Union{AbstractString, Symbol})
        set_language(GtkFontChooser(instance), _language)
    end
    function set_level(instance::GtkFontButton, _level)
        set_level(GtkFontChooser(instance), _level)
    end
    function set_preview_text(instance::GtkFontButton, _text::Union{AbstractString, Symbol})
        set_preview_text(GtkFontChooser(instance), _text)
    end
    function set_show_preview_entry(instance::GtkFontButton, _show_preview_entry::Bool)
        set_show_preview_entry(GtkFontChooser(instance), _show_preview_entry)
    end
    function FontChooserDialog_new(_title::Maybe(Union{AbstractString, Symbol}), _parent::Maybe(GtkWindow))
        _title_maybe = nothing_to_null(_title)
        _parent_maybe = nothing_to_null(_parent)
        ret = ccall(("gtk_font_chooser_dialog_new", libgtk4), Ptr{GObject}, (Cstring, Ptr{GObject}), _title_maybe, _parent_maybe)
        ret2 = GtkFontChooserDialogLeaf(ret, false)
        ret2
    end
    function announce(instance::GtkFontChooserDialog, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkFontChooserDialog)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkFontChooserDialog)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkFontChooserDialog)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkFontChooserDialog)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkFontChooserDialog)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkFontChooserDialog)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkFontChooserDialog, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkFontChooserDialog, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkFontChooserDialog, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkFontChooserDialog, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkFontChooserDialog, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkFontChooserDialog, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkFontChooserDialog, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkFontChooserDialog, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkFontChooserDialog, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkFontChooserDialog)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_font(instance::GtkFontChooserDialog)
        get_font(GtkFontChooser(instance))
    end
    function get_font_desc(instance::GtkFontChooserDialog)
        get_font_desc(GtkFontChooser(instance))
    end
    function get_font_face(instance::GtkFontChooserDialog)
        get_font_face(GtkFontChooser(instance))
    end
    function get_font_family(instance::GtkFontChooserDialog)
        get_font_family(GtkFontChooser(instance))
    end
    function get_font_features(instance::GtkFontChooserDialog)
        get_font_features(GtkFontChooser(instance))
    end
    function get_font_map(instance::GtkFontChooserDialog)
        get_font_map(GtkFontChooser(instance))
    end
    function get_font_size(instance::GtkFontChooserDialog)
        get_font_size(GtkFontChooser(instance))
    end
    function get_language(instance::GtkFontChooserDialog)
        get_language(GtkFontChooser(instance))
    end
    function get_level(instance::GtkFontChooserDialog)
        get_level(GtkFontChooser(instance))
    end
    function get_preview_text(instance::GtkFontChooserDialog)
        get_preview_text(GtkFontChooser(instance))
    end
    function get_show_preview_entry(instance::GtkFontChooserDialog)
        get_show_preview_entry(GtkFontChooser(instance))
    end
    function set_filter_func(instance::GtkFontChooserDialog, _filter::Maybe(Function), _destroy::Function)
        set_filter_func(GtkFontChooser(instance), _filter, _destroy)
    end
    function set_font(instance::GtkFontChooserDialog, _fontname::Union{AbstractString, Symbol})
        set_font(GtkFontChooser(instance), _fontname)
    end
    function set_font_desc(instance::GtkFontChooserDialog, _font_desc::PangoFontDescription)
        set_font_desc(GtkFontChooser(instance), _font_desc)
    end
    function set_font_map(instance::GtkFontChooserDialog, _fontmap::Maybe(PangoFontMap))
        set_font_map(GtkFontChooser(instance), _fontmap)
    end
    function set_language(instance::GtkFontChooserDialog, _language::Union{AbstractString, Symbol})
        set_language(GtkFontChooser(instance), _language)
    end
    function set_level(instance::GtkFontChooserDialog, _level)
        set_level(GtkFontChooser(instance), _level)
    end
    function set_preview_text(instance::GtkFontChooserDialog, _text::Union{AbstractString, Symbol})
        set_preview_text(GtkFontChooser(instance), _text)
    end
    function set_show_preview_entry(instance::GtkFontChooserDialog, _show_preview_entry::Bool)
        set_show_preview_entry(GtkFontChooser(instance), _show_preview_entry)
    end
    function get_renderer(instance::GtkFontChooserDialog)
        get_renderer(GtkNative(instance))
    end
    function get_surface(instance::GtkFontChooserDialog)
        get_surface(GtkNative(instance))
    end
    function get_surface_transform(instance::GtkFontChooserDialog)
        get_surface_transform(GtkNative(instance))
    end
    function realize(instance::GtkFontChooserDialog)
        realize(GtkNative(instance))
    end
    function unrealize(instance::GtkFontChooserDialog)
        unrealize(GtkNative(instance))
    end
    function get_display(instance::GtkFontChooserDialog)
        get_display(GtkRoot(instance))
    end
    function get_focus(instance::GtkFontChooserDialog)
        get_focus(GtkRoot(instance))
    end
    function set_focus(instance::GtkFontChooserDialog, _focus::Maybe(GtkWidget))
        set_focus(GtkRoot(instance), _focus)
    end
    function FontChooserWidget_new()
        ret = ccall(("gtk_font_chooser_widget_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkFontChooserWidgetLeaf(ret, false)
        ret2
    end
    function announce(instance::GtkFontChooserWidget, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkFontChooserWidget)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkFontChooserWidget)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkFontChooserWidget)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkFontChooserWidget)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkFontChooserWidget)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkFontChooserWidget)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkFontChooserWidget, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkFontChooserWidget, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkFontChooserWidget, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkFontChooserWidget, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkFontChooserWidget, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkFontChooserWidget, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkFontChooserWidget, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkFontChooserWidget, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkFontChooserWidget, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkFontChooserWidget)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_font(instance::GtkFontChooserWidget)
        get_font(GtkFontChooser(instance))
    end
    function get_font_desc(instance::GtkFontChooserWidget)
        get_font_desc(GtkFontChooser(instance))
    end
    function get_font_face(instance::GtkFontChooserWidget)
        get_font_face(GtkFontChooser(instance))
    end
    function get_font_family(instance::GtkFontChooserWidget)
        get_font_family(GtkFontChooser(instance))
    end
    function get_font_features(instance::GtkFontChooserWidget)
        get_font_features(GtkFontChooser(instance))
    end
    function get_font_map(instance::GtkFontChooserWidget)
        get_font_map(GtkFontChooser(instance))
    end
    function get_font_size(instance::GtkFontChooserWidget)
        get_font_size(GtkFontChooser(instance))
    end
    function get_language(instance::GtkFontChooserWidget)
        get_language(GtkFontChooser(instance))
    end
    function get_level(instance::GtkFontChooserWidget)
        get_level(GtkFontChooser(instance))
    end
    function get_preview_text(instance::GtkFontChooserWidget)
        get_preview_text(GtkFontChooser(instance))
    end
    function get_show_preview_entry(instance::GtkFontChooserWidget)
        get_show_preview_entry(GtkFontChooser(instance))
    end
    function set_filter_func(instance::GtkFontChooserWidget, _filter::Maybe(Function), _destroy::Function)
        set_filter_func(GtkFontChooser(instance), _filter, _destroy)
    end
    function set_font(instance::GtkFontChooserWidget, _fontname::Union{AbstractString, Symbol})
        set_font(GtkFontChooser(instance), _fontname)
    end
    function set_font_desc(instance::GtkFontChooserWidget, _font_desc::PangoFontDescription)
        set_font_desc(GtkFontChooser(instance), _font_desc)
    end
    function set_font_map(instance::GtkFontChooserWidget, _fontmap::Maybe(PangoFontMap))
        set_font_map(GtkFontChooser(instance), _fontmap)
    end
    function set_language(instance::GtkFontChooserWidget, _language::Union{AbstractString, Symbol})
        set_language(GtkFontChooser(instance), _language)
    end
    function set_level(instance::GtkFontChooserWidget, _level)
        set_level(GtkFontChooser(instance), _level)
    end
    function set_preview_text(instance::GtkFontChooserWidget, _text::Union{AbstractString, Symbol})
        set_preview_text(GtkFontChooser(instance), _text)
    end
    function set_show_preview_entry(instance::GtkFontChooserWidget, _show_preview_entry::Bool)
        set_show_preview_entry(GtkFontChooser(instance), _show_preview_entry)
    end
    function FontDialog_new()
        ret = ccall(("gtk_font_dialog_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkFontDialogLeaf(ret, true)
        ret2
    end
    function choose_face(instance::GtkFontDialog, _parent::Maybe(GtkWindow), _initial_value::Maybe(PangoFontFace), _cancellable::Maybe(GCancellable), _callback::Maybe(Function))
        _parent_maybe = nothing_to_null(_parent)
        _initial_value_maybe = nothing_to_null(_initial_value)
        _cancellable_maybe = nothing_to_null(_cancellable)
        if _callback === nothing
            _callback_cfunc = C_NULL
            _callback_closure = C_NULL
        else
            _callback_cfunc = @cfunction(GAsyncReadyCallback, Nothing, (Ptr{GObject}, Ptr{GObject}, Ref{Function}))
            _callback_closure = GLib.gc_ref(_callback)
        end
        ret = ccall(("gtk_font_dialog_choose_face", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{GObject}, Ptr{GObject}, Ptr{Cvoid}, Ptr{Nothing}), instance, _parent_maybe, _initial_value_maybe, _cancellable_maybe, _callback_cfunc, _callback_closure)
        nothing
    end
    function choose_face_finish(instance::GtkFontDialog, _result::GAsyncResult)
        err = err_buf()
        ret = ccall(("gtk_font_dialog_choose_face_finish", libgtk4), Ptr{GObject}, (Ptr{GObject}, Ptr{GObject}, Ptr{Ptr{GError}}), instance, _result, err)
        check_err(err)
        ret2 = convert_if_not_null(PangoFontFace, ret, true)
        ret2
    end
    function choose_family(instance::GtkFontDialog, _parent::Maybe(GtkWindow), _initial_value::Maybe(PangoFontFamily), _cancellable::Maybe(GCancellable), _callback::Maybe(Function))
        _parent_maybe = nothing_to_null(_parent)
        _initial_value_maybe = nothing_to_null(_initial_value)
        _cancellable_maybe = nothing_to_null(_cancellable)
        if _callback === nothing
            _callback_cfunc = C_NULL
            _callback_closure = C_NULL
        else
            _callback_cfunc = @cfunction(GAsyncReadyCallback, Nothing, (Ptr{GObject}, Ptr{GObject}, Ref{Function}))
            _callback_closure = GLib.gc_ref(_callback)
        end
        ret = ccall(("gtk_font_dialog_choose_family", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{GObject}, Ptr{GObject}, Ptr{Cvoid}, Ptr{Nothing}), instance, _parent_maybe, _initial_value_maybe, _cancellable_maybe, _callback_cfunc, _callback_closure)
        nothing
    end
    function choose_family_finish(instance::GtkFontDialog, _result::GAsyncResult)
        err = err_buf()
        ret = ccall(("gtk_font_dialog_choose_family_finish", libgtk4), Ptr{GObject}, (Ptr{GObject}, Ptr{GObject}, Ptr{Ptr{GError}}), instance, _result, err)
        check_err(err)
        ret2 = convert_if_not_null(PangoFontFamily, ret, true)
        ret2
    end
    function choose_font(instance::GtkFontDialog, _parent::Maybe(GtkWindow), _initial_value::Maybe(PangoFontDescription), _cancellable::Maybe(GCancellable), _callback::Maybe(Function))
        _parent_maybe = nothing_to_null(_parent)
        _initial_value_maybe = nothing_to_null(_initial_value)
        _cancellable_maybe = nothing_to_null(_cancellable)
        if _callback === nothing
            _callback_cfunc = C_NULL
            _callback_closure = C_NULL
        else
            _callback_cfunc = @cfunction(GAsyncReadyCallback, Nothing, (Ptr{GObject}, Ptr{GObject}, Ref{Function}))
            _callback_closure = GLib.gc_ref(_callback)
        end
        ret = ccall(("gtk_font_dialog_choose_font", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{PangoFontDescription}, Ptr{GObject}, Ptr{Cvoid}, Ptr{Nothing}), instance, _parent_maybe, _initial_value_maybe, _cancellable_maybe, _callback_cfunc, _callback_closure)
        nothing
    end
    function choose_font_and_features(instance::GtkFontDialog, _parent::Maybe(GtkWindow), _initial_value::Maybe(PangoFontDescription), _cancellable::Maybe(GCancellable), _callback::Maybe(Function))
        _parent_maybe = nothing_to_null(_parent)
        _initial_value_maybe = nothing_to_null(_initial_value)
        _cancellable_maybe = nothing_to_null(_cancellable)
        if _callback === nothing
            _callback_cfunc = C_NULL
            _callback_closure = C_NULL
        else
            _callback_cfunc = @cfunction(GAsyncReadyCallback, Nothing, (Ptr{GObject}, Ptr{GObject}, Ref{Function}))
            _callback_closure = GLib.gc_ref(_callback)
        end
        ret = ccall(("gtk_font_dialog_choose_font_and_features", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{PangoFontDescription}, Ptr{GObject}, Ptr{Cvoid}, Ptr{Nothing}), instance, _parent_maybe, _initial_value_maybe, _cancellable_maybe, _callback_cfunc, _callback_closure)
        nothing
    end
    function choose_font_and_features_finish(instance::GtkFontDialog, _result::GAsyncResult)
        m_font_desc = Ref{Ptr{PangoFontDescription}}()
        m_font_features = Ref{Cstring}()
        m_language = Ref{Ptr{PangoLanguage}}()
        err = err_buf()
        ret = ccall(("gtk_font_dialog_choose_font_and_features_finish", libgtk4), Cint, (Ptr{GObject}, Ptr{GObject}, Ptr{Ptr{PangoFontDescription}}, Ptr{Cstring}, Ptr{Ptr{PangoLanguage}}, Ptr{Ptr{GError}}), instance, _result, m_font_desc, m_font_features, m_language, err)
        check_err(err)
        ret2 = convert(Bool, ret)
        _font_desc = m_font_desc[]
        _font_desc = convert(PangoFontDescription, _font_desc, true)
        _font_features = m_font_features[]
        _font_features = string_or_nothing(_font_features, true)
        _language = m_language[]
        _language = convert(PangoLanguage, _language, true)
        (ret2, _font_desc, _font_features, _language)
    end
    function choose_font_finish(instance::GtkFontDialog, _result::GAsyncResult)
        err = err_buf()
        ret = ccall(("gtk_font_dialog_choose_font_finish", libgtk4), Ptr{PangoFontDescription}, (Ptr{GObject}, Ptr{GObject}, Ptr{Ptr{GError}}), instance, _result, err)
        check_err(err)
        ret2 = convert_if_not_null(PangoFontDescription, ret, true)
        ret2
    end
    function get_filter(instance::GtkFontDialog)
        ret = ccall(("gtk_font_dialog_get_filter", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkFilter, ret, false)
        ret2
    end
    function get_font_map(instance::GtkFontDialog)
        ret = ccall(("gtk_font_dialog_get_font_map", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(PangoFontMap, ret, false)
        ret2
    end
    function get_language(instance::GtkFontDialog)
        ret = ccall(("gtk_font_dialog_get_language", libgtk4), Ptr{PangoLanguage}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(PangoLanguage, ret, true)
        ret2
    end
    function get_modal(instance::GtkFontDialog)
        ret = ccall(("gtk_font_dialog_get_modal", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_title(instance::GtkFontDialog)
        ret = ccall(("gtk_font_dialog_get_title", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function set_filter(instance::GtkFontDialog, _filter::Maybe(GtkFilter))
        _filter_maybe = nothing_to_null(_filter)
        ret = ccall(("gtk_font_dialog_set_filter", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _filter_maybe)
        nothing
    end
    function set_font_map(instance::GtkFontDialog, _fontmap::Maybe(PangoFontMap))
        _fontmap_maybe = nothing_to_null(_fontmap)
        ret = ccall(("gtk_font_dialog_set_font_map", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _fontmap_maybe)
        nothing
    end
    function set_language(instance::GtkFontDialog, _language::PangoLanguage)
        ret = ccall(("gtk_font_dialog_set_language", libgtk4), Nothing, (Ptr{GObject}, Ptr{PangoLanguage}), instance, _language)
        nothing
    end
    function set_modal(instance::GtkFontDialog, _modal::Bool)
        ret = ccall(("gtk_font_dialog_set_modal", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _modal)
        nothing
    end
    function set_title(instance::GtkFontDialog, _title::Union{AbstractString, Symbol})
        ret = ccall(("gtk_font_dialog_set_title", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _title)
        nothing
    end
    function FontDialogButton_new(_dialog::Maybe(GtkFontDialog))
        _dialog_maybe = begin
                if _dialog !== nothing
                    GLib.glib_ref(_dialog)
                end
                nothing_to_null(_dialog)
            end
        ret = ccall(("gtk_font_dialog_button_new", libgtk4), Ptr{GObject}, (Ptr{GObject},), _dialog_maybe)
        ret2 = GtkFontDialogButtonLeaf(ret, false)
        ret2
    end
    function get_dialog(instance::GtkFontDialogButton)
        ret = ccall(("gtk_font_dialog_button_get_dialog", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkFontDialog, ret, false)
        ret2
    end
    function get_font_desc(instance::GtkFontDialogButton)
        ret = ccall(("gtk_font_dialog_button_get_font_desc", libgtk4), Ptr{PangoFontDescription}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(PangoFontDescription, ret, false)
        ret2
    end
    function get_font_features(instance::GtkFontDialogButton)
        ret = ccall(("gtk_font_dialog_button_get_font_features", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_language(instance::GtkFontDialogButton)
        ret = ccall(("gtk_font_dialog_button_get_language", libgtk4), Ptr{PangoLanguage}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(PangoLanguage, ret, true)
        ret2
    end
    function get_level(instance::GtkFontDialogButton)
        ret = ccall(("gtk_font_dialog_button_get_level", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = FontLevel(ret)
        ret2
    end
    function get_use_font(instance::GtkFontDialogButton)
        ret = ccall(("gtk_font_dialog_button_get_use_font", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_use_size(instance::GtkFontDialogButton)
        ret = ccall(("gtk_font_dialog_button_get_use_size", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_dialog(instance::GtkFontDialogButton, _dialog::GtkFontDialog)
        ret = ccall(("gtk_font_dialog_button_set_dialog", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _dialog)
        nothing
    end
    function set_font_desc(instance::GtkFontDialogButton, _font_desc::PangoFontDescription)
        ret = ccall(("gtk_font_dialog_button_set_font_desc", libgtk4), Nothing, (Ptr{GObject}, Ptr{PangoFontDescription}), instance, _font_desc)
        nothing
    end
    function set_font_features(instance::GtkFontDialogButton, _font_features::Maybe(Union{AbstractString, Symbol}))
        _font_features_maybe = nothing_to_null(_font_features)
        ret = ccall(("gtk_font_dialog_button_set_font_features", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _font_features_maybe)
        nothing
    end
    function set_language(instance::GtkFontDialogButton, _language::Maybe(PangoLanguage))
        _language_maybe = nothing_to_null(_language)
        ret = ccall(("gtk_font_dialog_button_set_language", libgtk4), Nothing, (Ptr{GObject}, Ptr{PangoLanguage}), instance, _language_maybe)
        nothing
    end
    function set_level(instance::GtkFontDialogButton, _level)
        ret = ccall(("gtk_font_dialog_button_set_level", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _level)
        nothing
    end
    function set_use_font(instance::GtkFontDialogButton, _use_font::Bool)
        ret = ccall(("gtk_font_dialog_button_set_use_font", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _use_font)
        nothing
    end
    function set_use_size(instance::GtkFontDialogButton, _use_size::Bool)
        ret = ccall(("gtk_font_dialog_button_set_use_size", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _use_size)
        nothing
    end
    function announce(instance::GtkFontDialogButton, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkFontDialogButton)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkFontDialogButton)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkFontDialogButton)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkFontDialogButton)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkFontDialogButton)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkFontDialogButton)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkFontDialogButton, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkFontDialogButton, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkFontDialogButton, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkFontDialogButton, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkFontDialogButton, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkFontDialogButton, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkFontDialogButton, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkFontDialogButton, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkFontDialogButton, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkFontDialogButton)
        get_buildable_id(GtkBuildable(instance))
    end
    function Frame_new(_label::Maybe(Union{AbstractString, Symbol}))
        _label_maybe = nothing_to_null(_label)
        ret = ccall(("gtk_frame_new", libgtk4), Ptr{GObject}, (Cstring,), _label_maybe)
        ret2 = GtkFrameLeaf(ret, false)
        ret2
    end
    function get_child(instance::GtkFrame)
        ret = ccall(("gtk_frame_get_child", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_label(instance::GtkFrame)
        ret = ccall(("gtk_frame_get_label", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_label_align(instance::GtkFrame)
        ret = ccall(("gtk_frame_get_label_align", libgtk4), Float32, (Ptr{GObject},), instance)
        ret
    end
    function get_label_widget(instance::GtkFrame)
        ret = ccall(("gtk_frame_get_label_widget", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function set_child(instance::GtkFrame, _child::Maybe(GtkWidget))
        _child_maybe = nothing_to_null(_child)
        ret = ccall(("gtk_frame_set_child", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child_maybe)
        nothing
    end
    function set_label(instance::GtkFrame, _label::Maybe(Union{AbstractString, Symbol}))
        _label_maybe = nothing_to_null(_label)
        ret = ccall(("gtk_frame_set_label", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _label_maybe)
        nothing
    end
    function set_label_align(instance::GtkFrame, _xalign::Real)
        ret = ccall(("gtk_frame_set_label_align", libgtk4), Nothing, (Ptr{GObject}, Float32), instance, _xalign)
        nothing
    end
    function set_label_widget(instance::GtkFrame, _label_widget::Maybe(GtkWidget))
        _label_widget_maybe = nothing_to_null(_label_widget)
        ret = ccall(("gtk_frame_set_label_widget", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _label_widget_maybe)
        nothing
    end
    function announce(instance::GtkFrame, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkFrame)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkFrame)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkFrame)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkFrame)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkFrame)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkFrame)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkFrame, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkFrame, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkFrame, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkFrame, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkFrame, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkFrame, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkFrame, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkFrame, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkFrame, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkFrame)
        get_buildable_id(GtkBuildable(instance))
    end
    function GLArea_new()
        ret = ccall(("gtk_gl_area_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkGLAreaLeaf(ret, false)
        ret2
    end
    function attach_buffers(instance::GtkGLArea)
        ret = ccall(("gtk_gl_area_attach_buffers", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function get_allowed_apis(instance::GtkGLArea)
        ret = ccall(("gtk_gl_area_get_allowed_apis", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = GLAPI(ret)
        ret2
    end
    function get_api(instance::GtkGLArea)
        ret = ccall(("gtk_gl_area_get_api", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = GLAPI(ret)
        ret2
    end
    function get_auto_render(instance::GtkGLArea)
        ret = ccall(("gtk_gl_area_get_auto_render", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_context(instance::GtkGLArea)
        ret = ccall(("gtk_gl_area_get_context", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GdkGLContext, ret, false)
        ret2
    end
    function get_error(instance::GtkGLArea)
        ret = ccall(("gtk_gl_area_get_error", libgtk4), Ptr{GError}, (Ptr{GObject},), instance)
        ret
    end
    function get_has_depth_buffer(instance::GtkGLArea)
        ret = ccall(("gtk_gl_area_get_has_depth_buffer", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_has_stencil_buffer(instance::GtkGLArea)
        ret = ccall(("gtk_gl_area_get_has_stencil_buffer", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_required_version(instance::GtkGLArea)
        m_major = Ref{Int32}()
        m_minor = Ref{Int32}()
        ret = ccall(("gtk_gl_area_get_required_version", libgtk4), Nothing, (Ptr{GObject}, Ptr{Int32}, Ptr{Int32}), instance, m_major, m_minor)
        _major = m_major[]
        _minor = m_minor[]
        (_major, _minor)
    end
    function get_use_es(instance::GtkGLArea)
        ret = ccall(("gtk_gl_area_get_use_es", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function make_current(instance::GtkGLArea)
        ret = ccall(("gtk_gl_area_make_current", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function queue_render(instance::GtkGLArea)
        ret = ccall(("gtk_gl_area_queue_render", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function set_allowed_apis(instance::GtkGLArea, _apis)
        ret = ccall(("gtk_gl_area_set_allowed_apis", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _apis)
        nothing
    end
    function set_auto_render(instance::GtkGLArea, _auto_render::Bool)
        ret = ccall(("gtk_gl_area_set_auto_render", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _auto_render)
        nothing
    end
    function set_error(instance::GtkGLArea, _error)
        _error_maybe = nothing_to_null(_error)
        ret = ccall(("gtk_gl_area_set_error", libgtk4), Nothing, (Ptr{GObject}, Ptr{GError}), instance, _error_maybe)
        nothing
    end
    function set_has_depth_buffer(instance::GtkGLArea, _has_depth_buffer::Bool)
        ret = ccall(("gtk_gl_area_set_has_depth_buffer", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _has_depth_buffer)
        nothing
    end
    function set_has_stencil_buffer(instance::GtkGLArea, _has_stencil_buffer::Bool)
        ret = ccall(("gtk_gl_area_set_has_stencil_buffer", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _has_stencil_buffer)
        nothing
    end
    function set_required_version(instance::GtkGLArea, _major::Integer, _minor::Integer)
        ret = ccall(("gtk_gl_area_set_required_version", libgtk4), Nothing, (Ptr{GObject}, Int32, Int32), instance, _major, _minor)
        nothing
    end
    function set_use_es(instance::GtkGLArea, _use_es::Bool)
        ret = ccall(("gtk_gl_area_set_use_es", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _use_es)
        nothing
    end
    function announce(instance::GtkGLArea, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkGLArea)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkGLArea)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkGLArea)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkGLArea)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkGLArea)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkGLArea)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkGLArea, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkGLArea, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkGLArea, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkGLArea, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkGLArea, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkGLArea, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkGLArea, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkGLArea, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkGLArea, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkGLArea)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_bounding_box(instance::GtkGesture)
        m_rect = Ref{_GdkRectangle}()
        ret = ccall(("gtk_gesture_get_bounding_box", libgtk4), Cint, (Ptr{GObject}, Ptr{_GdkRectangle}), instance, m_rect)
        ret2 = convert(Bool, ret)
        _rect = m_rect[]
        (ret2, _rect)
    end
    function get_bounding_box_center(instance::GtkGesture)
        m_x = Ref{Float64}()
        m_y = Ref{Float64}()
        ret = ccall(("gtk_gesture_get_bounding_box_center", libgtk4), Cint, (Ptr{GObject}, Ptr{Float64}, Ptr{Float64}), instance, m_x, m_y)
        ret2 = convert(Bool, ret)
        _x = m_x[]
        _y = m_y[]
        (ret2, _x, _y)
    end
    function get_device(instance::GtkGesture)
        ret = ccall(("gtk_gesture_get_device", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GdkDevice, ret, false)
        ret2
    end
    function get_group(instance::GtkGesture)
        ret = ccall(("gtk_gesture_get_group", libgtk4), Ptr{GLib._GList{Ptr{GObject}}}, (Ptr{GObject},), instance)
        ret2 = GLib.GList(ret, false)
        ret2
    end
    function get_last_event(instance::GtkGesture, _sequence::Maybe(GdkEventSequence))
        _sequence_maybe = nothing_to_null(_sequence)
        ret = ccall(("gtk_gesture_get_last_event", libgtk4), Ptr{GdkEvent}, (Ptr{GObject}, Ptr{GdkEventSequence}), instance, _sequence_maybe)
        ret2 = convert(GdkEvent, ret)
        ret2
    end
    function get_last_updated_sequence(instance::GtkGesture)
        ret = ccall(("gtk_gesture_get_last_updated_sequence", libgtk4), Ptr{GdkEventSequence}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GdkEventSequence, ret, false)
        ret2
    end
    function get_point(instance::GtkGesture, _sequence::Maybe(GdkEventSequence))
        _sequence_maybe = nothing_to_null(_sequence)
        m_x = Ref{Float64}()
        m_y = Ref{Float64}()
        ret = ccall(("gtk_gesture_get_point", libgtk4), Cint, (Ptr{GObject}, Ptr{GdkEventSequence}, Ptr{Float64}, Ptr{Float64}), instance, _sequence_maybe, m_x, m_y)
        ret2 = convert(Bool, ret)
        _x = m_x[]
        _y = m_y[]
        (ret2, _x, _y)
    end
    function get_sequence_state(instance::GtkGesture, _sequence::GdkEventSequence)
        ret = ccall(("gtk_gesture_get_sequence_state", libgtk4), UInt32, (Ptr{GObject}, Ptr{GdkEventSequence}), instance, _sequence)
        ret2 = EventSequenceState(ret)
        ret2
    end
    function get_sequences(instance::GtkGesture)
        ret = ccall(("gtk_gesture_get_sequences", libgtk4), Ptr{GLib._GList{GdkEventSequence}}, (Ptr{GObject},), instance)
        ret2 = GLib.GList(ret, false)
        ret2
    end
    function group(instance::GtkGesture, _gesture::GtkGesture)
        ret = ccall(("gtk_gesture_group", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _gesture)
        nothing
    end
    function handles_sequence(instance::GtkGesture, _sequence::Maybe(GdkEventSequence))
        _sequence_maybe = nothing_to_null(_sequence)
        ret = ccall(("gtk_gesture_handles_sequence", libgtk4), Cint, (Ptr{GObject}, Ptr{GdkEventSequence}), instance, _sequence_maybe)
        ret2 = convert(Bool, ret)
        ret2
    end
    function is_active(instance::GtkGesture)
        ret = ccall(("gtk_gesture_is_active", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function is_grouped_with(instance::GtkGesture, _other::GtkGesture)
        ret = ccall(("gtk_gesture_is_grouped_with", libgtk4), Cint, (Ptr{GObject}, Ptr{GObject}), instance, _other)
        ret2 = convert(Bool, ret)
        ret2
    end
    function is_recognized(instance::GtkGesture)
        ret = ccall(("gtk_gesture_is_recognized", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_sequence_state(instance::GtkGesture, _sequence::GdkEventSequence, _state)
        ret = ccall(("gtk_gesture_set_sequence_state", libgtk4), Cint, (Ptr{GObject}, Ptr{GdkEventSequence}, UInt32), instance, _sequence, _state)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_state(instance::GtkGesture, _state)
        ret = ccall(("gtk_gesture_set_state", libgtk4), Cint, (Ptr{GObject}, UInt32), instance, _state)
        ret2 = convert(Bool, ret)
        ret2
    end
    function ungroup(instance::GtkGesture)
        ret = ccall(("gtk_gesture_ungroup", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function GestureClick_new()
        ret = ccall(("gtk_gesture_click_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkGestureClickLeaf(ret, true)
        ret2
    end
    function GestureDrag_new()
        ret = ccall(("gtk_gesture_drag_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkGestureDragLeaf(ret, true)
        ret2
    end
    function get_offset(instance::GtkGestureDrag)
        m_x = Ref{Float64}()
        m_y = Ref{Float64}()
        ret = ccall(("gtk_gesture_drag_get_offset", libgtk4), Cint, (Ptr{GObject}, Ptr{Float64}, Ptr{Float64}), instance, m_x, m_y)
        ret2 = convert(Bool, ret)
        _x = m_x[]
        _y = m_y[]
        (ret2, _x, _y)
    end
    function get_start_point(instance::GtkGestureDrag)
        m_x = Ref{Float64}()
        m_y = Ref{Float64}()
        ret = ccall(("gtk_gesture_drag_get_start_point", libgtk4), Cint, (Ptr{GObject}, Ptr{Float64}, Ptr{Float64}), instance, m_x, m_y)
        ret2 = convert(Bool, ret)
        _x = m_x[]
        _y = m_y[]
        (ret2, _x, _y)
    end
    function GestureLongPress_new()
        ret = ccall(("gtk_gesture_long_press_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkGestureLongPressLeaf(ret, true)
        ret2
    end
    function get_delay_factor(instance::GtkGestureLongPress)
        ret = ccall(("gtk_gesture_long_press_get_delay_factor", libgtk4), Float64, (Ptr{GObject},), instance)
        ret
    end
    function set_delay_factor(instance::GtkGestureLongPress, _delay_factor::Real)
        ret = ccall(("gtk_gesture_long_press_set_delay_factor", libgtk4), Nothing, (Ptr{GObject}, Float64), instance, _delay_factor)
        nothing
    end
    function GesturePan_new(_orientation)
        ret = ccall(("gtk_gesture_pan_new", libgtk4), Ptr{GObject}, (UInt32,), _orientation)
        ret2 = GtkGesturePanLeaf(ret, true)
        ret2
    end
    function get_orientation(instance::GtkGesturePan)
        ret = ccall(("gtk_gesture_pan_get_orientation", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = Orientation(ret)
        ret2
    end
    function set_orientation(instance::GtkGesturePan, _orientation)
        ret = ccall(("gtk_gesture_pan_set_orientation", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _orientation)
        nothing
    end
    function GestureRotate_new()
        ret = ccall(("gtk_gesture_rotate_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkGestureRotateLeaf(ret, true)
        ret2
    end
    function get_angle_delta(instance::GtkGestureRotate)
        ret = ccall(("gtk_gesture_rotate_get_angle_delta", libgtk4), Float64, (Ptr{GObject},), instance)
        ret
    end
    function get_button(instance::GtkGestureSingle)
        ret = ccall(("gtk_gesture_single_get_button", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function get_current_button(instance::GtkGestureSingle)
        ret = ccall(("gtk_gesture_single_get_current_button", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function get_current_sequence(instance::GtkGestureSingle)
        ret = ccall(("gtk_gesture_single_get_current_sequence", libgtk4), Ptr{GdkEventSequence}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GdkEventSequence, ret, true)
        ret2
    end
    function get_exclusive(instance::GtkGestureSingle)
        ret = ccall(("gtk_gesture_single_get_exclusive", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_touch_only(instance::GtkGestureSingle)
        ret = ccall(("gtk_gesture_single_get_touch_only", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_button(instance::GtkGestureSingle, _button::Integer)
        ret = ccall(("gtk_gesture_single_set_button", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _button)
        nothing
    end
    function set_exclusive(instance::GtkGestureSingle, _exclusive::Bool)
        ret = ccall(("gtk_gesture_single_set_exclusive", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _exclusive)
        nothing
    end
    function set_touch_only(instance::GtkGestureSingle, _touch_only::Bool)
        ret = ccall(("gtk_gesture_single_set_touch_only", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _touch_only)
        nothing
    end
    function GestureStylus_new()
        ret = ccall(("gtk_gesture_stylus_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkGestureStylusLeaf(ret, true)
        ret2
    end
    function get_axis(instance::GtkGestureStylus, _axis)
        m_value = Ref{Float64}()
        ret = ccall(("gtk_gesture_stylus_get_axis", libgtk4), Cint, (Ptr{GObject}, UInt32, Ptr{Float64}), instance, _axis, m_value)
        ret2 = convert(Bool, ret)
        _value = m_value[]
        (ret2, _value)
    end
    function get_device_tool(instance::GtkGestureStylus)
        ret = ccall(("gtk_gesture_stylus_get_device_tool", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GdkDeviceTool, ret, false)
        ret2
    end
    function get_stylus_only(instance::GtkGestureStylus)
        ret = ccall(("gtk_gesture_stylus_get_stylus_only", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_stylus_only(instance::GtkGestureStylus, _stylus_only::Bool)
        ret = ccall(("gtk_gesture_stylus_set_stylus_only", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _stylus_only)
        nothing
    end
    function GestureSwipe_new()
        ret = ccall(("gtk_gesture_swipe_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkGestureSwipeLeaf(ret, true)
        ret2
    end
    function get_velocity(instance::GtkGestureSwipe)
        m_velocity_x = Ref{Float64}()
        m_velocity_y = Ref{Float64}()
        ret = ccall(("gtk_gesture_swipe_get_velocity", libgtk4), Cint, (Ptr{GObject}, Ptr{Float64}, Ptr{Float64}), instance, m_velocity_x, m_velocity_y)
        ret2 = convert(Bool, ret)
        _velocity_x = m_velocity_x[]
        _velocity_y = m_velocity_y[]
        (ret2, _velocity_x, _velocity_y)
    end
    function GestureZoom_new()
        ret = ccall(("gtk_gesture_zoom_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkGestureZoomLeaf(ret, true)
        ret2
    end
    function get_scale_delta(instance::GtkGestureZoom)
        ret = ccall(("gtk_gesture_zoom_get_scale_delta", libgtk4), Float64, (Ptr{GObject},), instance)
        ret
    end
    function GraphicsOffload_new(_child::Maybe(GtkWidget))
        _child_maybe = nothing_to_null(_child)
        ret = ccall(("gtk_graphics_offload_new", libgtk4), Ptr{GObject}, (Ptr{GObject},), _child_maybe)
        ret2 = GtkGraphicsOffloadLeaf(ret, false)
        ret2
    end
    function get_child(instance::GtkGraphicsOffload)
        ret = ccall(("gtk_graphics_offload_get_child", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_enabled(instance::GtkGraphicsOffload)
        ret = ccall(("gtk_graphics_offload_get_enabled", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = GraphicsOffloadEnabled(ret)
        ret2
    end
    function set_child(instance::GtkGraphicsOffload, _child::Maybe(GtkWidget))
        _child_maybe = nothing_to_null(_child)
        ret = ccall(("gtk_graphics_offload_set_child", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child_maybe)
        nothing
    end
    function set_enabled(instance::GtkGraphicsOffload, _enabled)
        ret = ccall(("gtk_graphics_offload_set_enabled", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _enabled)
        nothing
    end
    function announce(instance::GtkGraphicsOffload, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkGraphicsOffload)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkGraphicsOffload)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkGraphicsOffload)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkGraphicsOffload)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkGraphicsOffload)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkGraphicsOffload)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkGraphicsOffload, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkGraphicsOffload, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkGraphicsOffload, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkGraphicsOffload, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkGraphicsOffload, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkGraphicsOffload, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkGraphicsOffload, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkGraphicsOffload, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkGraphicsOffload, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkGraphicsOffload)
        get_buildable_id(GtkBuildable(instance))
    end
    function Grid_new()
        ret = ccall(("gtk_grid_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkGridLeaf(ret, false)
        ret2
    end
    function attach(instance::GtkGrid, _child::GtkWidget, _column::Integer, _row::Integer, _width::Integer, _height::Integer)
        ret = ccall(("gtk_grid_attach", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Int32, Int32, Int32, Int32), instance, _child, _column, _row, _width, _height)
        nothing
    end
    function attach_next_to(instance::GtkGrid, _child::GtkWidget, _sibling::Maybe(GtkWidget), _side, _width::Integer, _height::Integer)
        _sibling_maybe = nothing_to_null(_sibling)
        ret = ccall(("gtk_grid_attach_next_to", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{GObject}, UInt32, Int32, Int32), instance, _child, _sibling_maybe, _side, _width, _height)
        nothing
    end
    function get_baseline_row(instance::GtkGrid)
        ret = ccall(("gtk_grid_get_baseline_row", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_child_at(instance::GtkGrid, _column::Integer, _row::Integer)
        ret = ccall(("gtk_grid_get_child_at", libgtk4), Ptr{GObject}, (Ptr{GObject}, Int32, Int32), instance, _column, _row)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_column_homogeneous(instance::GtkGrid)
        ret = ccall(("gtk_grid_get_column_homogeneous", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_column_spacing(instance::GtkGrid)
        ret = ccall(("gtk_grid_get_column_spacing", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function get_row_baseline_position(instance::GtkGrid, _row::Integer)
        ret = ccall(("gtk_grid_get_row_baseline_position", libgtk4), UInt32, (Ptr{GObject}, Int32), instance, _row)
        ret2 = BaselinePosition(ret)
        ret2
    end
    function get_row_homogeneous(instance::GtkGrid)
        ret = ccall(("gtk_grid_get_row_homogeneous", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_row_spacing(instance::GtkGrid)
        ret = ccall(("gtk_grid_get_row_spacing", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function insert_column(instance::GtkGrid, _position::Integer)
        ret = ccall(("gtk_grid_insert_column", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _position)
        nothing
    end
    function insert_next_to(instance::GtkGrid, _sibling::GtkWidget, _side)
        ret = ccall(("gtk_grid_insert_next_to", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, UInt32), instance, _sibling, _side)
        nothing
    end
    function insert_row(instance::GtkGrid, _position::Integer)
        ret = ccall(("gtk_grid_insert_row", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _position)
        nothing
    end
    function query_child(instance::GtkGrid, _child::GtkWidget)
        m_column = Ref{Int32}()
        m_row = Ref{Int32}()
        m_width = Ref{Int32}()
        m_height = Ref{Int32}()
        ret = ccall(("gtk_grid_query_child", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{Int32}, Ptr{Int32}, Ptr{Int32}, Ptr{Int32}), instance, _child, m_column, m_row, m_width, m_height)
        _column = m_column[]
        _row = m_row[]
        _width = m_width[]
        _height = m_height[]
        (_column, _row, _width, _height)
    end
    function remove(instance::GtkGrid, _child::GtkWidget)
        ret = ccall(("gtk_grid_remove", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child)
        nothing
    end
    function remove_column(instance::GtkGrid, _position::Integer)
        ret = ccall(("gtk_grid_remove_column", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _position)
        nothing
    end
    function remove_row(instance::GtkGrid, _position::Integer)
        ret = ccall(("gtk_grid_remove_row", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _position)
        nothing
    end
    function set_baseline_row(instance::GtkGrid, _row::Integer)
        ret = ccall(("gtk_grid_set_baseline_row", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _row)
        nothing
    end
    function set_column_homogeneous(instance::GtkGrid, _homogeneous::Bool)
        ret = ccall(("gtk_grid_set_column_homogeneous", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _homogeneous)
        nothing
    end
    function set_column_spacing(instance::GtkGrid, _spacing::Integer)
        ret = ccall(("gtk_grid_set_column_spacing", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _spacing)
        nothing
    end
    function set_row_baseline_position(instance::GtkGrid, _row::Integer, _pos)
        ret = ccall(("gtk_grid_set_row_baseline_position", libgtk4), Nothing, (Ptr{GObject}, Int32, UInt32), instance, _row, _pos)
        nothing
    end
    function set_row_homogeneous(instance::GtkGrid, _homogeneous::Bool)
        ret = ccall(("gtk_grid_set_row_homogeneous", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _homogeneous)
        nothing
    end
    function set_row_spacing(instance::GtkGrid, _spacing::Integer)
        ret = ccall(("gtk_grid_set_row_spacing", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _spacing)
        nothing
    end
    function announce(instance::GtkGrid, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkGrid)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkGrid)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkGrid)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkGrid)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkGrid)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkGrid)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkGrid, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkGrid, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkGrid, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkGrid, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkGrid, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkGrid, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkGrid, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkGrid, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkGrid, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkGrid)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_orientation(instance::GtkGrid)
        get_orientation(GtkOrientable(instance))
    end
    function set_orientation(instance::GtkGrid, _orientation)
        set_orientation(GtkOrientable(instance), _orientation)
    end
    function GridLayout_new()
        ret = ccall(("gtk_grid_layout_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkGridLayoutLeaf(ret, true)
        ret2
    end
    function get_baseline_row(instance::GtkGridLayout)
        ret = ccall(("gtk_grid_layout_get_baseline_row", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_column_homogeneous(instance::GtkGridLayout)
        ret = ccall(("gtk_grid_layout_get_column_homogeneous", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_column_spacing(instance::GtkGridLayout)
        ret = ccall(("gtk_grid_layout_get_column_spacing", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function get_row_baseline_position(instance::GtkGridLayout, _row::Integer)
        ret = ccall(("gtk_grid_layout_get_row_baseline_position", libgtk4), UInt32, (Ptr{GObject}, Int32), instance, _row)
        ret2 = BaselinePosition(ret)
        ret2
    end
    function get_row_homogeneous(instance::GtkGridLayout)
        ret = ccall(("gtk_grid_layout_get_row_homogeneous", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_row_spacing(instance::GtkGridLayout)
        ret = ccall(("gtk_grid_layout_get_row_spacing", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function set_baseline_row(instance::GtkGridLayout, _row::Integer)
        ret = ccall(("gtk_grid_layout_set_baseline_row", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _row)
        nothing
    end
    function set_column_homogeneous(instance::GtkGridLayout, _homogeneous::Bool)
        ret = ccall(("gtk_grid_layout_set_column_homogeneous", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _homogeneous)
        nothing
    end
    function set_column_spacing(instance::GtkGridLayout, _spacing::Integer)
        ret = ccall(("gtk_grid_layout_set_column_spacing", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _spacing)
        nothing
    end
    function set_row_baseline_position(instance::GtkGridLayout, _row::Integer, _pos)
        ret = ccall(("gtk_grid_layout_set_row_baseline_position", libgtk4), Nothing, (Ptr{GObject}, Int32, UInt32), instance, _row, _pos)
        nothing
    end
    function set_row_homogeneous(instance::GtkGridLayout, _homogeneous::Bool)
        ret = ccall(("gtk_grid_layout_set_row_homogeneous", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _homogeneous)
        nothing
    end
    function set_row_spacing(instance::GtkGridLayout, _spacing::Integer)
        ret = ccall(("gtk_grid_layout_set_row_spacing", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _spacing)
        nothing
    end
    function get_column(instance::GtkGridLayoutChild)
        ret = ccall(("gtk_grid_layout_child_get_column", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_column_span(instance::GtkGridLayoutChild)
        ret = ccall(("gtk_grid_layout_child_get_column_span", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_row(instance::GtkGridLayoutChild)
        ret = ccall(("gtk_grid_layout_child_get_row", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_row_span(instance::GtkGridLayoutChild)
        ret = ccall(("gtk_grid_layout_child_get_row_span", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function set_column(instance::GtkGridLayoutChild, _column::Integer)
        ret = ccall(("gtk_grid_layout_child_set_column", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _column)
        nothing
    end
    function set_column_span(instance::GtkGridLayoutChild, _span::Integer)
        ret = ccall(("gtk_grid_layout_child_set_column_span", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _span)
        nothing
    end
    function set_row(instance::GtkGridLayoutChild, _row::Integer)
        ret = ccall(("gtk_grid_layout_child_set_row", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _row)
        nothing
    end
    function set_row_span(instance::GtkGridLayoutChild, _span::Integer)
        ret = ccall(("gtk_grid_layout_child_set_row_span", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _span)
        nothing
    end
    function GridView_new(_model::Maybe(GtkSelectionModel), _factory::Maybe(GtkListItemFactory))
        _model_maybe = begin
                if _model !== nothing
                    GLib.glib_ref(_model)
                end
                nothing_to_null(_model)
            end
        _factory_maybe = begin
                if _factory !== nothing
                    GLib.glib_ref(_factory)
                end
                nothing_to_null(_factory)
            end
        ret = ccall(("gtk_grid_view_new", libgtk4), Ptr{GObject}, (Ptr{GObject}, Ptr{GObject}), _model_maybe, _factory_maybe)
        ret2 = GtkGridViewLeaf(ret, false)
        ret2
    end
    function get_enable_rubberband(instance::GtkGridView)
        ret = ccall(("gtk_grid_view_get_enable_rubberband", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_factory(instance::GtkGridView)
        ret = ccall(("gtk_grid_view_get_factory", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkListItemFactory, ret, false)
        ret2
    end
    function get_max_columns(instance::GtkGridView)
        ret = ccall(("gtk_grid_view_get_max_columns", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function get_min_columns(instance::GtkGridView)
        ret = ccall(("gtk_grid_view_get_min_columns", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function get_model(instance::GtkGridView)
        ret = ccall(("gtk_grid_view_get_model", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, false)
        ret2
    end
    function get_single_click_activate(instance::GtkGridView)
        ret = ccall(("gtk_grid_view_get_single_click_activate", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_tab_behavior(instance::GtkGridView)
        ret = ccall(("gtk_grid_view_get_tab_behavior", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = ListTabBehavior(ret)
        ret2
    end
    function scroll_to(instance::GtkGridView, _pos::Integer, _flags, _scroll::Maybe(GtkScrollInfo))
        _scroll_maybe = nothing_to_null(_scroll)
        ret = ccall(("gtk_grid_view_scroll_to", libgtk4), Nothing, (Ptr{GObject}, UInt32, UInt32, Ptr{GtkScrollInfo}), instance, _pos, _flags, _scroll_maybe)
        nothing
    end
    function set_enable_rubberband(instance::GtkGridView, _enable_rubberband::Bool)
        ret = ccall(("gtk_grid_view_set_enable_rubberband", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _enable_rubberband)
        nothing
    end
    function set_factory(instance::GtkGridView, _factory::Maybe(GtkListItemFactory))
        _factory_maybe = nothing_to_null(_factory)
        ret = ccall(("gtk_grid_view_set_factory", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _factory_maybe)
        nothing
    end
    function set_max_columns(instance::GtkGridView, _max_columns::Integer)
        ret = ccall(("gtk_grid_view_set_max_columns", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _max_columns)
        nothing
    end
    function set_min_columns(instance::GtkGridView, _min_columns::Integer)
        ret = ccall(("gtk_grid_view_set_min_columns", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _min_columns)
        nothing
    end
    function set_model(instance::GtkGridView, _model::Maybe(GtkSelectionModel))
        _model_maybe = nothing_to_null(_model)
        ret = ccall(("gtk_grid_view_set_model", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _model_maybe)
        nothing
    end
    function set_single_click_activate(instance::GtkGridView, _single_click_activate::Bool)
        ret = ccall(("gtk_grid_view_set_single_click_activate", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _single_click_activate)
        nothing
    end
    function set_tab_behavior(instance::GtkGridView, _tab_behavior)
        ret = ccall(("gtk_grid_view_set_tab_behavior", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _tab_behavior)
        nothing
    end
    function announce(instance::GtkGridView, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkGridView)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkGridView)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkGridView)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkGridView)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkGridView)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkGridView)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkGridView, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkGridView, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkGridView, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkGridView, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkGridView, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkGridView, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkGridView, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkGridView, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkGridView, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkGridView)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_orientation(instance::GtkGridView)
        get_orientation(GtkOrientable(instance))
    end
    function set_orientation(instance::GtkGridView, _orientation)
        set_orientation(GtkOrientable(instance), _orientation)
    end
    function get_border(instance::GtkGridView)
        get_border(GtkScrollable(instance))
    end
    function get_hadjustment(instance::GtkGridView)
        get_hadjustment(GtkScrollable(instance))
    end
    function get_hscroll_policy(instance::GtkGridView)
        get_hscroll_policy(GtkScrollable(instance))
    end
    function get_vadjustment(instance::GtkGridView)
        get_vadjustment(GtkScrollable(instance))
    end
    function get_vscroll_policy(instance::GtkGridView)
        get_vscroll_policy(GtkScrollable(instance))
    end
    function set_hadjustment(instance::GtkGridView, _hadjustment::Maybe(GtkAdjustment))
        set_hadjustment(GtkScrollable(instance), _hadjustment)
    end
    function set_hscroll_policy(instance::GtkGridView, _policy)
        set_hscroll_policy(GtkScrollable(instance), _policy)
    end
    function set_vadjustment(instance::GtkGridView, _vadjustment::Maybe(GtkAdjustment))
        set_vadjustment(GtkScrollable(instance), _vadjustment)
    end
    function set_vscroll_policy(instance::GtkGridView, _policy)
        set_vscroll_policy(GtkScrollable(instance), _policy)
    end
    function HeaderBar_new()
        ret = ccall(("gtk_header_bar_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkHeaderBarLeaf(ret, false)
        ret2
    end
    function get_decoration_layout(instance::GtkHeaderBar)
        ret = ccall(("gtk_header_bar_get_decoration_layout", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_show_title_buttons(instance::GtkHeaderBar)
        ret = ccall(("gtk_header_bar_get_show_title_buttons", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_title_widget(instance::GtkHeaderBar)
        ret = ccall(("gtk_header_bar_get_title_widget", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function pack_end(instance::GtkHeaderBar, _child::GtkWidget)
        ret = ccall(("gtk_header_bar_pack_end", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child)
        nothing
    end
    function pack_start(instance::GtkHeaderBar, _child::GtkWidget)
        ret = ccall(("gtk_header_bar_pack_start", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child)
        nothing
    end
    function remove(instance::GtkHeaderBar, _child::GtkWidget)
        ret = ccall(("gtk_header_bar_remove", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child)
        nothing
    end
    function set_decoration_layout(instance::GtkHeaderBar, _layout::Maybe(Union{AbstractString, Symbol}))
        _layout_maybe = nothing_to_null(_layout)
        ret = ccall(("gtk_header_bar_set_decoration_layout", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _layout_maybe)
        nothing
    end
    function set_show_title_buttons(instance::GtkHeaderBar, _setting::Bool)
        ret = ccall(("gtk_header_bar_set_show_title_buttons", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _setting)
        nothing
    end
    function set_title_widget(instance::GtkHeaderBar, _title_widget::Maybe(GtkWidget))
        _title_widget_maybe = nothing_to_null(_title_widget)
        ret = ccall(("gtk_header_bar_set_title_widget", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _title_widget_maybe)
        nothing
    end
    function announce(instance::GtkHeaderBar, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkHeaderBar)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkHeaderBar)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkHeaderBar)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkHeaderBar)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkHeaderBar)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkHeaderBar)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkHeaderBar, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkHeaderBar, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkHeaderBar, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkHeaderBar, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkHeaderBar, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkHeaderBar, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkHeaderBar, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkHeaderBar, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkHeaderBar, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkHeaderBar)
        get_buildable_id(GtkBuildable(instance))
    end
    function activate_osk(instance::GtkIMContext, _event::Maybe(GdkEvent))
        _event_maybe = nothing_to_null(_event)
        ret = ccall(("gtk_im_context_activate_osk", libgtk4), Cint, (Ptr{GObject}, Ptr{GdkEvent}), instance, _event_maybe)
        ret2 = convert(Bool, ret)
        ret2
    end
    function delete_surrounding(instance::GtkIMContext, _offset::Integer, _n_chars::Integer)
        ret = ccall(("gtk_im_context_delete_surrounding", libgtk4), Cint, (Ptr{GObject}, Int32, Int32), instance, _offset, _n_chars)
        ret2 = convert(Bool, ret)
        ret2
    end
    function filter_key(instance::GtkIMContext, _press::Bool, _surface::GdkSurface, _device::GdkDevice, _time::Integer, _keycode::Integer, _state, _group::Integer)
        ret = ccall(("gtk_im_context_filter_key", libgtk4), Cint, (Ptr{GObject}, Cint, Ptr{GObject}, Ptr{GObject}, UInt32, UInt32, UInt32, Int32), instance, _press, _surface, _device, _time, _keycode, _state, _group)
        ret2 = convert(Bool, ret)
        ret2
    end
    function focus_in(instance::GtkIMContext)
        ret = ccall(("gtk_im_context_focus_in", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function focus_out(instance::GtkIMContext)
        ret = ccall(("gtk_im_context_focus_out", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function get_preedit_string(instance::GtkIMContext)
        m_str = Ref{Cstring}()
        m_attrs = Ref{Ptr{PangoAttrList}}()
        m_cursor_pos = Ref{Int32}()
        ret = ccall(("gtk_im_context_get_preedit_string", libgtk4), Nothing, (Ptr{GObject}, Ptr{Cstring}, Ptr{Ptr{PangoAttrList}}, Ptr{Int32}), instance, m_str, m_attrs, m_cursor_pos)
        _str = m_str[]
        _str = string_or_nothing(_str, true)
        _attrs = m_attrs[]
        _attrs = convert(PangoAttrList, _attrs, true)
        _cursor_pos = m_cursor_pos[]
        (_str, _attrs, _cursor_pos)
    end
    function get_surrounding(instance::GtkIMContext)
        m_text = Ref{Cstring}()
        m_cursor_index = Ref{Int32}()
        ret = ccall(("gtk_im_context_get_surrounding", libgtk4), Cint, (Ptr{GObject}, Ptr{Cstring}, Ptr{Int32}), instance, m_text, m_cursor_index)
        ret2 = convert(Bool, ret)
        _text = m_text[]
        _text = string_or_nothing(_text, true)
        _cursor_index = m_cursor_index[]
        (ret2, _text, _cursor_index)
    end
    function get_surrounding_with_selection(instance::GtkIMContext)
        m_text = Ref{Cstring}()
        m_cursor_index = Ref{Int32}()
        m_anchor_index = Ref{Int32}()
        ret = ccall(("gtk_im_context_get_surrounding_with_selection", libgtk4), Cint, (Ptr{GObject}, Ptr{Cstring}, Ptr{Int32}, Ptr{Int32}), instance, m_text, m_cursor_index, m_anchor_index)
        ret2 = convert(Bool, ret)
        _text = m_text[]
        _text = string_or_nothing(_text, true)
        _cursor_index = m_cursor_index[]
        _anchor_index = m_anchor_index[]
        (ret2, _text, _cursor_index, _anchor_index)
    end
    function reset(instance::GtkIMContext)
        ret = ccall(("gtk_im_context_reset", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function set_client_widget(instance::GtkIMContext, _widget::Maybe(GtkWidget))
        _widget_maybe = nothing_to_null(_widget)
        ret = ccall(("gtk_im_context_set_client_widget", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _widget_maybe)
        nothing
    end
    function set_cursor_location(instance::GtkIMContext, _area::Union{GdkRectangle, Ref{_GdkRectangle}})
        ret = ccall(("gtk_im_context_set_cursor_location", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GdkRectangle}), instance, _area)
        nothing
    end
    function set_surrounding(instance::GtkIMContext, _text::Union{AbstractString, Symbol}, _len::Integer, _cursor_index::Integer)
        ret = ccall(("gtk_im_context_set_surrounding", libgtk4), Nothing, (Ptr{GObject}, Cstring, Int32, Int32), instance, _text, _len, _cursor_index)
        nothing
    end
    function set_surrounding_with_selection(instance::GtkIMContext, _text::Union{AbstractString, Symbol}, _len::Integer, _cursor_index::Integer, _anchor_index::Integer)
        ret = ccall(("gtk_im_context_set_surrounding_with_selection", libgtk4), Nothing, (Ptr{GObject}, Cstring, Int32, Int32, Int32), instance, _text, _len, _cursor_index, _anchor_index)
        nothing
    end
    function set_use_preedit(instance::GtkIMContext, _use_preedit::Bool)
        ret = ccall(("gtk_im_context_set_use_preedit", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _use_preedit)
        nothing
    end
    function IMContextSimple_new()
        ret = ccall(("gtk_im_context_simple_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkIMContextSimpleLeaf(ret, true)
        ret2
    end
    function add_compose_file(instance::GtkIMContextSimple, _compose_file::Union{AbstractString, Symbol})
        ret = ccall(("gtk_im_context_simple_add_compose_file", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _compose_file)
        nothing
    end
    function IMMulticontext_new()
        ret = ccall(("gtk_im_multicontext_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkIMMulticontextLeaf(ret, true)
        ret2
    end
    function get_context_id(instance::GtkIMMulticontext)
        ret = ccall(("gtk_im_multicontext_get_context_id", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function set_context_id(instance::GtkIMMulticontext, _context_id::Maybe(Union{AbstractString, Symbol}))
        _context_id_maybe = nothing_to_null(_context_id)
        ret = ccall(("gtk_im_multicontext_set_context_id", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _context_id_maybe)
        nothing
    end
    function IconPaintable_new_for_file(_file::GFile, _size::Integer, _scale::Integer)
        ret = ccall(("gtk_icon_paintable_new_for_file", libgtk4), Ptr{GObject}, (Ptr{GObject}, Int32, Int32), _file, _size, _scale)
        ret2 = GtkIconPaintableLeaf(ret, true)
        ret2
    end
    function get_file(instance::GtkIconPaintable)
        ret = ccall(("gtk_icon_paintable_get_file", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, true)
        ret2
    end
    function get_icon_name(instance::GtkIconPaintable)
        ret = ccall(("gtk_icon_paintable_get_icon_name", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function is_symbolic(instance::GtkIconPaintable)
        ret = ccall(("gtk_icon_paintable_is_symbolic", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function compute_concrete_size(instance::GtkIconPaintable, _specified_width::Real, _specified_height::Real, _default_width::Real, _default_height::Real)
        compute_concrete_size(GdkPaintable(instance), _specified_width, _specified_height, _default_width, _default_height)
    end
    function get_current_image(instance::GtkIconPaintable)
        get_current_image(GdkPaintable(instance))
    end
    function get_flags(instance::GtkIconPaintable)
        get_flags(GdkPaintable(instance))
    end
    function get_intrinsic_aspect_ratio(instance::GtkIconPaintable)
        get_intrinsic_aspect_ratio(GdkPaintable(instance))
    end
    function get_intrinsic_height(instance::GtkIconPaintable)
        get_intrinsic_height(GdkPaintable(instance))
    end
    function get_intrinsic_width(instance::GtkIconPaintable)
        get_intrinsic_width(GdkPaintable(instance))
    end
    function invalidate_contents(instance::GtkIconPaintable)
        invalidate_contents(GdkPaintable(instance))
    end
    function invalidate_size(instance::GtkIconPaintable)
        invalidate_size(GdkPaintable(instance))
    end
    function snapshot(instance::GtkIconPaintable, _snapshot::GdkSnapshot, _width::Real, _height::Real)
        snapshot(GdkPaintable(instance), _snapshot, _width, _height)
    end
    function snapshot_symbolic(instance::GtkIconPaintable, _snapshot::GdkSnapshot, _width::Real, _height::Real, _colors)
        snapshot_symbolic(GtkSymbolicPaintable(instance), _snapshot, _width, _height, _colors)
    end
    function IconTheme_new()
        ret = ccall(("gtk_icon_theme_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkIconThemeLeaf(ret, true)
        ret2
    end
    function add_resource_path(instance::GtkIconTheme, _path::Union{AbstractString, Symbol})
        ret = ccall(("gtk_icon_theme_add_resource_path", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _path)
        nothing
    end
    function add_search_path(instance::GtkIconTheme, _path::Union{AbstractString, Symbol})
        ret = ccall(("gtk_icon_theme_add_search_path", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _path)
        nothing
    end
    function get_display(instance::GtkIconTheme)
        ret = ccall(("gtk_icon_theme_get_display", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GdkDisplay, ret, false)
        ret2
    end
    function get_icon_names(instance::GtkIconTheme)
        ret = ccall(("gtk_icon_theme_get_icon_names", libgtk4), Ptr{Cstring}, (Ptr{GObject},), instance)
        ret2 = begin
                _len = length_zt(ret)
                arrtemp = bytestring.(unsafe_wrap(Vector{Cstring}, ret, _len))
                GLib.g_strfreev(ret)
                arrtemp
            end
        ret2
    end
    function get_resource_path(instance::GtkIconTheme)
        ret = ccall(("gtk_icon_theme_get_resource_path", libgtk4), Ptr{Cstring}, (Ptr{GObject},), instance)
        ret2 = begin
                _len = length_zt(ret)
                arrtemp = bytestring.(unsafe_wrap(Vector{Cstring}, ret, _len))
                GLib.g_strfreev(ret)
                arrtemp
            end
        ret2
    end
    function get_search_path(instance::GtkIconTheme)
        ret = ccall(("gtk_icon_theme_get_search_path", libgtk4), Ptr{Cstring}, (Ptr{GObject},), instance)
        ret2 = begin
                _len = length_zt(ret)
                arrtemp = bytestring.(unsafe_wrap(Vector{Cstring}, ret, _len))
                GLib.g_strfreev(ret)
                arrtemp
            end
        ret2
    end
    function get_theme_name(instance::GtkIconTheme)
        ret = ccall(("gtk_icon_theme_get_theme_name", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, true)
        ret2
    end
    function has_gicon(instance::GtkIconTheme, _gicon::GIcon)
        ret = ccall(("gtk_icon_theme_has_gicon", libgtk4), Cint, (Ptr{GObject}, Ptr{GObject}), instance, _gicon)
        ret2 = convert(Bool, ret)
        ret2
    end
    function has_icon(instance::GtkIconTheme, _icon_name::Union{AbstractString, Symbol})
        ret = ccall(("gtk_icon_theme_has_icon", libgtk4), Cint, (Ptr{GObject}, Cstring), instance, _icon_name)
        ret2 = convert(Bool, ret)
        ret2
    end
    function lookup_by_gicon(instance::GtkIconTheme, _icon::GIcon, _size::Integer, _scale::Integer, _direction, _flags)
        ret = ccall(("gtk_icon_theme_lookup_by_gicon", libgtk4), Ptr{GObject}, (Ptr{GObject}, Ptr{GObject}, Int32, Int32, UInt32, UInt32), instance, _icon, _size, _scale, _direction, _flags)
        ret2 = convert(GtkIconPaintable, ret, true)
        ret2
    end
    function lookup_icon(instance::GtkIconTheme, _icon_name::Union{AbstractString, Symbol}, _fallbacks, _size::Integer, _scale::Integer, _direction, _flags)
        _fallbacks_maybe = nothing_to_null(_fallbacks)
        ret = ccall(("gtk_icon_theme_lookup_icon", libgtk4), Ptr{GObject}, (Ptr{GObject}, Cstring, Ptr{Cstring}, Int32, Int32, UInt32, UInt32), instance, _icon_name, _fallbacks_maybe, _size, _scale, _direction, _flags)
        ret2 = convert(GtkIconPaintable, ret, true)
        ret2
    end
    function set_resource_path(instance::GtkIconTheme, _path)
        _path_maybe = nothing_to_null(_path)
        ret = ccall(("gtk_icon_theme_set_resource_path", libgtk4), Nothing, (Ptr{GObject}, Ptr{Cstring}), instance, _path_maybe)
        nothing
    end
    function set_search_path(instance::GtkIconTheme, _path)
        _path_maybe = nothing_to_null(_path)
        ret = ccall(("gtk_icon_theme_set_search_path", libgtk4), Nothing, (Ptr{GObject}, Ptr{Cstring}), instance, _path_maybe)
        nothing
    end
    function set_theme_name(instance::GtkIconTheme, _theme_name::Maybe(Union{AbstractString, Symbol}))
        _theme_name_maybe = nothing_to_null(_theme_name)
        ret = ccall(("gtk_icon_theme_set_theme_name", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _theme_name_maybe)
        nothing
    end
    function IconView_new()
        ret = ccall(("gtk_icon_view_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkIconViewLeaf(ret, false)
        ret2
    end
    function IconView_new_with_area(_area::GtkCellArea)
        ret = ccall(("gtk_icon_view_new_with_area", libgtk4), Ptr{GObject}, (Ptr{GObject},), _area)
        ret2 = GtkIconViewLeaf(ret, false)
        ret2
    end
    function IconView_new_with_model(_model::GtkTreeModel)
        ret = ccall(("gtk_icon_view_new_with_model", libgtk4), Ptr{GObject}, (Ptr{GObject},), _model)
        ret2 = GtkIconViewLeaf(ret, false)
        ret2
    end
    function create_drag_icon(instance::GtkIconView, _path::GtkTreePath)
        ret = ccall(("gtk_icon_view_create_drag_icon", libgtk4), Ptr{GObject}, (Ptr{GObject}, Ptr{GtkTreePath}), instance, _path)
        ret2 = GLib.find_leaf_type_if_not_null(ret, true)
        ret2
    end
    function enable_model_drag_dest(instance::GtkIconView, _formats::GdkContentFormats, _actions)
        ret = ccall(("gtk_icon_view_enable_model_drag_dest", libgtk4), Nothing, (Ptr{GObject}, Ptr{GdkContentFormats}, UInt32), instance, _formats, _actions)
        nothing
    end
    function enable_model_drag_source(instance::GtkIconView, _start_button_mask, _formats::GdkContentFormats, _actions)
        ret = ccall(("gtk_icon_view_enable_model_drag_source", libgtk4), Nothing, (Ptr{GObject}, UInt32, Ptr{GdkContentFormats}, UInt32), instance, _start_button_mask, _formats, _actions)
        nothing
    end
    function get_activate_on_single_click(instance::GtkIconView)
        ret = ccall(("gtk_icon_view_get_activate_on_single_click", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_cell_rect(instance::GtkIconView, _path::GtkTreePath, _cell::Maybe(GtkCellRenderer))
        _cell_maybe = nothing_to_null(_cell)
        m_rect = Ref{_GdkRectangle}()
        ret = ccall(("gtk_icon_view_get_cell_rect", libgtk4), Cint, (Ptr{GObject}, Ptr{GtkTreePath}, Ptr{GObject}, Ptr{_GdkRectangle}), instance, _path, _cell_maybe, m_rect)
        ret2 = convert(Bool, ret)
        _rect = m_rect[]
        (ret2, _rect)
    end
    function get_column_spacing(instance::GtkIconView)
        ret = ccall(("gtk_icon_view_get_column_spacing", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_columns(instance::GtkIconView)
        ret = ccall(("gtk_icon_view_get_columns", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_cursor(instance::GtkIconView)
        m_path = Ref{Ptr{GtkTreePath}}()
        m_cell = Ref{Ptr{GObject}}()
        ret = ccall(("gtk_icon_view_get_cursor", libgtk4), Cint, (Ptr{GObject}, Ptr{Ptr{GtkTreePath}}, Ptr{Ptr{GObject}}), instance, m_path, m_cell)
        ret2 = convert(Bool, ret)
        _path = m_path[]
        _path = convert(GtkTreePath, _path, true)
        _cell = m_cell[]
        _cell = convert(GtkCellRenderer, _cell, false)
        (ret2, _path, _cell)
    end
    function get_dest_item_at_pos(instance::GtkIconView, _drag_x::Integer, _drag_y::Integer)
        m_path = Ref{Ptr{GtkTreePath}}()
        m_pos = Ref{UInt32}()
        ret = ccall(("gtk_icon_view_get_dest_item_at_pos", libgtk4), Cint, (Ptr{GObject}, Int32, Int32, Ptr{Ptr{GtkTreePath}}, Ptr{UInt32}), instance, _drag_x, _drag_y, m_path, m_pos)
        ret2 = convert(Bool, ret)
        _path = m_path[]
        _path = convert(GtkTreePath, _path, true)
        _pos = m_pos[]
        _pos = IconViewDropPosition(_pos)
        (ret2, _path, _pos)
    end
    function get_drag_dest_item(instance::GtkIconView)
        m_path = Ref{Ptr{GtkTreePath}}()
        m_pos = Ref{UInt32}()
        ret = ccall(("gtk_icon_view_get_drag_dest_item", libgtk4), Nothing, (Ptr{GObject}, Ptr{Ptr{GtkTreePath}}, Ptr{UInt32}), instance, m_path, m_pos)
        _path = m_path[]
        _path = convert_if_not_null(GtkTreePath, _path, true)
        _pos = m_pos[]
        _pos = IconViewDropPosition(_pos)
        (_path, _pos)
    end
    function get_item_at_pos(instance::GtkIconView, _x::Integer, _y::Integer)
        m_path = Ref{Ptr{GtkTreePath}}()
        m_cell = Ref{Ptr{GObject}}()
        ret = ccall(("gtk_icon_view_get_item_at_pos", libgtk4), Cint, (Ptr{GObject}, Int32, Int32, Ptr{Ptr{GtkTreePath}}, Ptr{Ptr{GObject}}), instance, _x, _y, m_path, m_cell)
        ret2 = convert(Bool, ret)
        _path = m_path[]
        _path = convert(GtkTreePath, _path, true)
        _cell = m_cell[]
        _cell = convert(GtkCellRenderer, _cell, false)
        (ret2, _path, _cell)
    end
    function get_item_column(instance::GtkIconView, _path::GtkTreePath)
        ret = ccall(("gtk_icon_view_get_item_column", libgtk4), Int32, (Ptr{GObject}, Ptr{GtkTreePath}), instance, _path)
        ret
    end
    function get_item_orientation(instance::GtkIconView)
        ret = ccall(("gtk_icon_view_get_item_orientation", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = Orientation(ret)
        ret2
    end
    function get_item_padding(instance::GtkIconView)
        ret = ccall(("gtk_icon_view_get_item_padding", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_item_row(instance::GtkIconView, _path::GtkTreePath)
        ret = ccall(("gtk_icon_view_get_item_row", libgtk4), Int32, (Ptr{GObject}, Ptr{GtkTreePath}), instance, _path)
        ret
    end
    function get_item_width(instance::GtkIconView)
        ret = ccall(("gtk_icon_view_get_item_width", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_margin(instance::GtkIconView)
        ret = ccall(("gtk_icon_view_get_margin", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_markup_column(instance::GtkIconView)
        ret = ccall(("gtk_icon_view_get_markup_column", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_model(instance::GtkIconView)
        ret = ccall(("gtk_icon_view_get_model", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, false)
        ret2
    end
    function get_path_at_pos(instance::GtkIconView, _x::Integer, _y::Integer)
        ret = ccall(("gtk_icon_view_get_path_at_pos", libgtk4), Ptr{GtkTreePath}, (Ptr{GObject}, Int32, Int32), instance, _x, _y)
        ret2 = convert_if_not_null(GtkTreePath, ret, true)
        ret2
    end
    function get_pixbuf_column(instance::GtkIconView)
        ret = ccall(("gtk_icon_view_get_pixbuf_column", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_reorderable(instance::GtkIconView)
        ret = ccall(("gtk_icon_view_get_reorderable", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_row_spacing(instance::GtkIconView)
        ret = ccall(("gtk_icon_view_get_row_spacing", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_selected_items(instance::GtkIconView)
        ret = ccall(("gtk_icon_view_get_selected_items", libgtk4), Ptr{GLib._GList{GtkTreePath}}, (Ptr{GObject},), instance)
        ret2 = GLib.GList(ret, true)
        ret2
    end
    function get_selection_mode(instance::GtkIconView)
        ret = ccall(("gtk_icon_view_get_selection_mode", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = SelectionMode(ret)
        ret2
    end
    function get_spacing(instance::GtkIconView)
        ret = ccall(("gtk_icon_view_get_spacing", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_text_column(instance::GtkIconView)
        ret = ccall(("gtk_icon_view_get_text_column", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_tooltip_column(instance::GtkIconView)
        ret = ccall(("gtk_icon_view_get_tooltip_column", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_tooltip_context(instance::GtkIconView, _x::Integer, _y::Integer, _keyboard_tip::Bool)
        m_model = Ref{Ptr{GObject}}()
        m_path = Ref{Ptr{GtkTreePath}}()
        m_iter = Ref{_GtkTreeIter}()
        ret = ccall(("gtk_icon_view_get_tooltip_context", libgtk4), Cint, (Ptr{GObject}, Int32, Int32, Cint, Ptr{Ptr{GObject}}, Ptr{Ptr{GtkTreePath}}, Ptr{_GtkTreeIter}), instance, _x, _y, _keyboard_tip, m_model, m_path, m_iter)
        ret2 = convert(Bool, ret)
        _model = m_model[]
        _model = begin
                leaftype = GLib.find_leaf_type(_model)
                convert(leaftype, _model, false)
            end
        _path = m_path[]
        _path = convert(GtkTreePath, _path, true)
        _iter = m_iter[]
        (ret2, _model, _path, _iter)
    end
    function get_visible_range(instance::GtkIconView)
        m_start_path = Ref{Ptr{GtkTreePath}}()
        m_end_path = Ref{Ptr{GtkTreePath}}()
        ret = ccall(("gtk_icon_view_get_visible_range", libgtk4), Cint, (Ptr{GObject}, Ptr{Ptr{GtkTreePath}}, Ptr{Ptr{GtkTreePath}}), instance, m_start_path, m_end_path)
        ret2 = convert(Bool, ret)
        _start_path = m_start_path[]
        _start_path = convert(GtkTreePath, _start_path, true)
        _end_path = m_end_path[]
        _end_path = convert(GtkTreePath, _end_path, true)
        (ret2, _start_path, _end_path)
    end
    function item_activated(instance::GtkIconView, _path::GtkTreePath)
        ret = ccall(("gtk_icon_view_item_activated", libgtk4), Nothing, (Ptr{GObject}, Ptr{GtkTreePath}), instance, _path)
        nothing
    end
    function path_is_selected(instance::GtkIconView, _path::GtkTreePath)
        ret = ccall(("gtk_icon_view_path_is_selected", libgtk4), Cint, (Ptr{GObject}, Ptr{GtkTreePath}), instance, _path)
        ret2 = convert(Bool, ret)
        ret2
    end
    function scroll_to_path(instance::GtkIconView, _path::GtkTreePath, _use_align::Bool, _row_align::Real, _col_align::Real)
        ret = ccall(("gtk_icon_view_scroll_to_path", libgtk4), Nothing, (Ptr{GObject}, Ptr{GtkTreePath}, Cint, Float32, Float32), instance, _path, _use_align, _row_align, _col_align)
        nothing
    end
    function select_all(instance::GtkIconView)
        ret = ccall(("gtk_icon_view_select_all", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function select_path(instance::GtkIconView, _path::GtkTreePath)
        ret = ccall(("gtk_icon_view_select_path", libgtk4), Nothing, (Ptr{GObject}, Ptr{GtkTreePath}), instance, _path)
        nothing
    end
    function selected_foreach(instance::GtkIconView, _func::Function)
        begin
            _func_cfunc = @cfunction(GtkIconViewForeachFunc, Nothing, (Ptr{GObject}, Ptr{GtkTreePath}, Ref{Function}))
            begin
                ref = Ref{Any}(_func)
                _func_closure = unsafe_load(convert(Ptr{Ptr{Nothing}}, Base.unsafe_convert(Ptr{Any}, ref)))
            end
        end
        ret = ccall(("gtk_icon_view_selected_foreach", libgtk4), Nothing, (Ptr{GObject}, Ptr{Cvoid}, Ptr{Nothing}), instance, _func_cfunc, _func_closure)
        nothing
    end
    function set_activate_on_single_click(instance::GtkIconView, _single::Bool)
        ret = ccall(("gtk_icon_view_set_activate_on_single_click", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _single)
        nothing
    end
    function set_column_spacing(instance::GtkIconView, _column_spacing::Integer)
        ret = ccall(("gtk_icon_view_set_column_spacing", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _column_spacing)
        nothing
    end
    function set_columns(instance::GtkIconView, _columns::Integer)
        ret = ccall(("gtk_icon_view_set_columns", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _columns)
        nothing
    end
    function set_cursor(instance::GtkIconView, _path::GtkTreePath, _cell::Maybe(GtkCellRenderer), _start_editing::Bool)
        _cell_maybe = nothing_to_null(_cell)
        ret = ccall(("gtk_icon_view_set_cursor", libgtk4), Nothing, (Ptr{GObject}, Ptr{GtkTreePath}, Ptr{GObject}, Cint), instance, _path, _cell_maybe, _start_editing)
        nothing
    end
    function set_drag_dest_item(instance::GtkIconView, _path::Maybe(GtkTreePath), _pos)
        _path_maybe = nothing_to_null(_path)
        ret = ccall(("gtk_icon_view_set_drag_dest_item", libgtk4), Nothing, (Ptr{GObject}, Ptr{GtkTreePath}, UInt32), instance, _path_maybe, _pos)
        nothing
    end
    function set_item_orientation(instance::GtkIconView, _orientation)
        ret = ccall(("gtk_icon_view_set_item_orientation", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _orientation)
        nothing
    end
    function set_item_padding(instance::GtkIconView, _item_padding::Integer)
        ret = ccall(("gtk_icon_view_set_item_padding", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _item_padding)
        nothing
    end
    function set_item_width(instance::GtkIconView, _item_width::Integer)
        ret = ccall(("gtk_icon_view_set_item_width", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _item_width)
        nothing
    end
    function set_margin(instance::GtkIconView, _margin::Integer)
        ret = ccall(("gtk_icon_view_set_margin", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _margin)
        nothing
    end
    function set_markup_column(instance::GtkIconView, _column::Integer)
        ret = ccall(("gtk_icon_view_set_markup_column", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _column)
        nothing
    end
    function set_model(instance::GtkIconView, _model::Maybe(GtkTreeModel))
        _model_maybe = nothing_to_null(_model)
        ret = ccall(("gtk_icon_view_set_model", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _model_maybe)
        nothing
    end
    function set_pixbuf_column(instance::GtkIconView, _column::Integer)
        ret = ccall(("gtk_icon_view_set_pixbuf_column", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _column)
        nothing
    end
    function set_reorderable(instance::GtkIconView, _reorderable::Bool)
        ret = ccall(("gtk_icon_view_set_reorderable", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _reorderable)
        nothing
    end
    function set_row_spacing(instance::GtkIconView, _row_spacing::Integer)
        ret = ccall(("gtk_icon_view_set_row_spacing", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _row_spacing)
        nothing
    end
    function set_selection_mode(instance::GtkIconView, _mode)
        ret = ccall(("gtk_icon_view_set_selection_mode", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _mode)
        nothing
    end
    function set_spacing(instance::GtkIconView, _spacing::Integer)
        ret = ccall(("gtk_icon_view_set_spacing", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _spacing)
        nothing
    end
    function set_text_column(instance::GtkIconView, _column::Integer)
        ret = ccall(("gtk_icon_view_set_text_column", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _column)
        nothing
    end
    function set_tooltip_cell(instance::GtkIconView, _tooltip::GtkTooltip, _path::GtkTreePath, _cell::Maybe(GtkCellRenderer))
        _cell_maybe = nothing_to_null(_cell)
        ret = ccall(("gtk_icon_view_set_tooltip_cell", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{GtkTreePath}, Ptr{GObject}), instance, _tooltip, _path, _cell_maybe)
        nothing
    end
    function set_tooltip_column(instance::GtkIconView, _column::Integer)
        ret = ccall(("gtk_icon_view_set_tooltip_column", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _column)
        nothing
    end
    function set_tooltip_item(instance::GtkIconView, _tooltip::GtkTooltip, _path::GtkTreePath)
        ret = ccall(("gtk_icon_view_set_tooltip_item", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{GtkTreePath}), instance, _tooltip, _path)
        nothing
    end
    function unselect_all(instance::GtkIconView)
        ret = ccall(("gtk_icon_view_unselect_all", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function unselect_path(instance::GtkIconView, _path::GtkTreePath)
        ret = ccall(("gtk_icon_view_unselect_path", libgtk4), Nothing, (Ptr{GObject}, Ptr{GtkTreePath}), instance, _path)
        nothing
    end
    function unset_model_drag_dest(instance::GtkIconView)
        ret = ccall(("gtk_icon_view_unset_model_drag_dest", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function unset_model_drag_source(instance::GtkIconView)
        ret = ccall(("gtk_icon_view_unset_model_drag_source", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function announce(instance::GtkIconView, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkIconView)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkIconView)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkIconView)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkIconView)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkIconView)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkIconView)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkIconView, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkIconView, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkIconView, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkIconView, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkIconView, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkIconView, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkIconView, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkIconView, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkIconView, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkIconView)
        get_buildable_id(GtkBuildable(instance))
    end
    function add_attribute(instance::GtkIconView, _cell::GtkCellRenderer, _attribute::Union{AbstractString, Symbol}, _column::Integer)
        add_attribute(GtkCellLayout(instance), _cell, _attribute, _column)
    end
    function clear(instance::GtkIconView)
        clear(GtkCellLayout(instance))
    end
    function clear_attributes(instance::GtkIconView, _cell::GtkCellRenderer)
        clear_attributes(GtkCellLayout(instance), _cell)
    end
    function get_area(instance::GtkIconView)
        get_area(GtkCellLayout(instance))
    end
    function get_cells(instance::GtkIconView)
        get_cells(GtkCellLayout(instance))
    end
    function pack_end(instance::GtkIconView, _cell::GtkCellRenderer, _expand::Bool)
        pack_end(GtkCellLayout(instance), _cell, _expand)
    end
    function pack_start(instance::GtkIconView, _cell::GtkCellRenderer, _expand::Bool)
        pack_start(GtkCellLayout(instance), _cell, _expand)
    end
    function reorder(instance::GtkIconView, _cell::GtkCellRenderer, _position::Integer)
        reorder(GtkCellLayout(instance), _cell, _position)
    end
    function set_cell_data_func(instance::GtkIconView, _cell::GtkCellRenderer, _func::Maybe(Function), _destroy::Function)
        set_cell_data_func(GtkCellLayout(instance), _cell, _func, _destroy)
    end
    function get_border(instance::GtkIconView)
        get_border(GtkScrollable(instance))
    end
    function get_hadjustment(instance::GtkIconView)
        get_hadjustment(GtkScrollable(instance))
    end
    function get_hscroll_policy(instance::GtkIconView)
        get_hscroll_policy(GtkScrollable(instance))
    end
    function get_vadjustment(instance::GtkIconView)
        get_vadjustment(GtkScrollable(instance))
    end
    function get_vscroll_policy(instance::GtkIconView)
        get_vscroll_policy(GtkScrollable(instance))
    end
    function set_hadjustment(instance::GtkIconView, _hadjustment::Maybe(GtkAdjustment))
        set_hadjustment(GtkScrollable(instance), _hadjustment)
    end
    function set_hscroll_policy(instance::GtkIconView, _policy)
        set_hscroll_policy(GtkScrollable(instance), _policy)
    end
    function set_vadjustment(instance::GtkIconView, _vadjustment::Maybe(GtkAdjustment))
        set_vadjustment(GtkScrollable(instance), _vadjustment)
    end
    function set_vscroll_policy(instance::GtkIconView, _policy)
        set_vscroll_policy(GtkScrollable(instance), _policy)
    end
    function Image_new()
        ret = ccall(("gtk_image_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkImageLeaf(ret, false)
        ret2
    end
    function Image_new_from_file(_filename::Union{AbstractString, Symbol})
        ret = ccall(("gtk_image_new_from_file", libgtk4), Ptr{GObject}, (Cstring,), _filename)
        ret2 = GtkImageLeaf(ret, false)
        ret2
    end
    function Image_new_from_gicon(_icon::GIcon)
        ret = ccall(("gtk_image_new_from_gicon", libgtk4), Ptr{GObject}, (Ptr{GObject},), _icon)
        ret2 = GtkImageLeaf(ret, false)
        ret2
    end
    function Image_new_from_icon_name(_icon_name::Maybe(Union{AbstractString, Symbol}))
        _icon_name_maybe = nothing_to_null(_icon_name)
        ret = ccall(("gtk_image_new_from_icon_name", libgtk4), Ptr{GObject}, (Cstring,), _icon_name_maybe)
        ret2 = GtkImageLeaf(ret, false)
        ret2
    end
    function Image_new_from_paintable(_paintable::Maybe(GdkPaintable))
        _paintable_maybe = nothing_to_null(_paintable)
        ret = ccall(("gtk_image_new_from_paintable", libgtk4), Ptr{GObject}, (Ptr{GObject},), _paintable_maybe)
        ret2 = GtkImageLeaf(ret, false)
        ret2
    end
    function Image_new_from_pixbuf(_pixbuf::Maybe(GdkPixbuf))
        _pixbuf_maybe = nothing_to_null(_pixbuf)
        ret = ccall(("gtk_image_new_from_pixbuf", libgtk4), Ptr{GObject}, (Ptr{GObject},), _pixbuf_maybe)
        ret2 = GtkImageLeaf(ret, false)
        ret2
    end
    function Image_new_from_resource(_resource_path::Union{AbstractString, Symbol})
        ret = ccall(("gtk_image_new_from_resource", libgtk4), Ptr{GObject}, (Cstring,), _resource_path)
        ret2 = GtkImageLeaf(ret, false)
        ret2
    end
    function clear(instance::GtkImage)
        ret = ccall(("gtk_image_clear", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function get_gicon(instance::GtkImage)
        ret = ccall(("gtk_image_get_gicon", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, false)
        ret2
    end
    function get_icon_name(instance::GtkImage)
        ret = ccall(("gtk_image_get_icon_name", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_icon_size(instance::GtkImage)
        ret = ccall(("gtk_image_get_icon_size", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = IconSize(ret)
        ret2
    end
    function get_paintable(instance::GtkImage)
        ret = ccall(("gtk_image_get_paintable", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, false)
        ret2
    end
    function get_pixel_size(instance::GtkImage)
        ret = ccall(("gtk_image_get_pixel_size", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_storage_type(instance::GtkImage)
        ret = ccall(("gtk_image_get_storage_type", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = ImageType(ret)
        ret2
    end
    function set_from_file(instance::GtkImage, _filename::Maybe(Union{AbstractString, Symbol}))
        _filename_maybe = nothing_to_null(_filename)
        ret = ccall(("gtk_image_set_from_file", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _filename_maybe)
        nothing
    end
    function set_from_gicon(instance::GtkImage, _icon::GIcon)
        ret = ccall(("gtk_image_set_from_gicon", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _icon)
        nothing
    end
    function set_from_icon_name(instance::GtkImage, _icon_name::Maybe(Union{AbstractString, Symbol}))
        _icon_name_maybe = nothing_to_null(_icon_name)
        ret = ccall(("gtk_image_set_from_icon_name", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _icon_name_maybe)
        nothing
    end
    function set_from_paintable(instance::GtkImage, _paintable::Maybe(GdkPaintable))
        _paintable_maybe = nothing_to_null(_paintable)
        ret = ccall(("gtk_image_set_from_paintable", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _paintable_maybe)
        nothing
    end
    function set_from_pixbuf(instance::GtkImage, _pixbuf::Maybe(GdkPixbuf))
        _pixbuf_maybe = nothing_to_null(_pixbuf)
        ret = ccall(("gtk_image_set_from_pixbuf", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _pixbuf_maybe)
        nothing
    end
    function set_from_resource(instance::GtkImage, _resource_path::Maybe(Union{AbstractString, Symbol}))
        _resource_path_maybe = nothing_to_null(_resource_path)
        ret = ccall(("gtk_image_set_from_resource", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _resource_path_maybe)
        nothing
    end
    function set_icon_size(instance::GtkImage, _icon_size)
        ret = ccall(("gtk_image_set_icon_size", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _icon_size)
        nothing
    end
    function set_pixel_size(instance::GtkImage, _pixel_size::Integer)
        ret = ccall(("gtk_image_set_pixel_size", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _pixel_size)
        nothing
    end
    function announce(instance::GtkImage, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkImage)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkImage)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkImage)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkImage)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkImage)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkImage)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkImage, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkImage, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkImage, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkImage, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkImage, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkImage, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkImage, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkImage, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkImage, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkImage)
        get_buildable_id(GtkBuildable(instance))
    end
    function InfoBar_new()
        ret = ccall(("gtk_info_bar_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkInfoBarLeaf(ret, false)
        ret2
    end
    function add_action_widget(instance::GtkInfoBar, _child::GtkWidget, _response_id::Integer)
        ret = ccall(("gtk_info_bar_add_action_widget", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Int32), instance, _child, _response_id)
        nothing
    end
    function add_button(instance::GtkInfoBar, _button_text::Union{AbstractString, Symbol}, _response_id::Integer)
        ret = ccall(("gtk_info_bar_add_button", libgtk4), Ptr{GObject}, (Ptr{GObject}, Cstring, Int32), instance, _button_text, _response_id)
        ret2 = convert(GtkButton, ret, false)
        ret2
    end
    function add_child(instance::GtkInfoBar, _widget::GtkWidget)
        ret = ccall(("gtk_info_bar_add_child", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _widget)
        nothing
    end
    function get_message_type(instance::GtkInfoBar)
        ret = ccall(("gtk_info_bar_get_message_type", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = MessageType(ret)
        ret2
    end
    function get_revealed(instance::GtkInfoBar)
        ret = ccall(("gtk_info_bar_get_revealed", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_show_close_button(instance::GtkInfoBar)
        ret = ccall(("gtk_info_bar_get_show_close_button", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function remove_action_widget(instance::GtkInfoBar, _widget::GtkWidget)
        ret = ccall(("gtk_info_bar_remove_action_widget", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _widget)
        nothing
    end
    function remove_child(instance::GtkInfoBar, _widget::GtkWidget)
        ret = ccall(("gtk_info_bar_remove_child", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _widget)
        nothing
    end
    function response(instance::GtkInfoBar, _response_id::Integer)
        ret = ccall(("gtk_info_bar_response", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _response_id)
        nothing
    end
    function set_default_response(instance::GtkInfoBar, _response_id::Integer)
        ret = ccall(("gtk_info_bar_set_default_response", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _response_id)
        nothing
    end
    function set_message_type(instance::GtkInfoBar, _message_type)
        ret = ccall(("gtk_info_bar_set_message_type", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _message_type)
        nothing
    end
    function set_response_sensitive(instance::GtkInfoBar, _response_id::Integer, _setting::Bool)
        ret = ccall(("gtk_info_bar_set_response_sensitive", libgtk4), Nothing, (Ptr{GObject}, Int32, Cint), instance, _response_id, _setting)
        nothing
    end
    function set_revealed(instance::GtkInfoBar, _revealed::Bool)
        ret = ccall(("gtk_info_bar_set_revealed", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _revealed)
        nothing
    end
    function set_show_close_button(instance::GtkInfoBar, _setting::Bool)
        ret = ccall(("gtk_info_bar_set_show_close_button", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _setting)
        nothing
    end
    function announce(instance::GtkInfoBar, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkInfoBar)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkInfoBar)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkInfoBar)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkInfoBar)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkInfoBar)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkInfoBar)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkInfoBar, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkInfoBar, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkInfoBar, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkInfoBar, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkInfoBar, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkInfoBar, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkInfoBar, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkInfoBar, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkInfoBar, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkInfoBar)
        get_buildable_id(GtkBuildable(instance))
    end
    function Inscription_new(_text::Maybe(Union{AbstractString, Symbol}))
        _text_maybe = nothing_to_null(_text)
        ret = ccall(("gtk_inscription_new", libgtk4), Ptr{GObject}, (Cstring,), _text_maybe)
        ret2 = GtkInscriptionLeaf(ret, false)
        ret2
    end
    function get_attributes(instance::GtkInscription)
        ret = ccall(("gtk_inscription_get_attributes", libgtk4), Ptr{PangoAttrList}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(PangoAttrList, ret, false)
        ret2
    end
    function get_min_chars(instance::GtkInscription)
        ret = ccall(("gtk_inscription_get_min_chars", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function get_min_lines(instance::GtkInscription)
        ret = ccall(("gtk_inscription_get_min_lines", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function get_nat_chars(instance::GtkInscription)
        ret = ccall(("gtk_inscription_get_nat_chars", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function get_nat_lines(instance::GtkInscription)
        ret = ccall(("gtk_inscription_get_nat_lines", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function get_text(instance::GtkInscription)
        ret = ccall(("gtk_inscription_get_text", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_text_overflow(instance::GtkInscription)
        ret = ccall(("gtk_inscription_get_text_overflow", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = InscriptionOverflow(ret)
        ret2
    end
    function get_wrap_mode(instance::GtkInscription)
        ret = ccall(("gtk_inscription_get_wrap_mode", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = WrapMode(ret)
        ret2
    end
    function get_xalign(instance::GtkInscription)
        ret = ccall(("gtk_inscription_get_xalign", libgtk4), Float32, (Ptr{GObject},), instance)
        ret
    end
    function get_yalign(instance::GtkInscription)
        ret = ccall(("gtk_inscription_get_yalign", libgtk4), Float32, (Ptr{GObject},), instance)
        ret
    end
    function set_attributes(instance::GtkInscription, _attrs::Maybe(PangoAttrList))
        _attrs_maybe = nothing_to_null(_attrs)
        ret = ccall(("gtk_inscription_set_attributes", libgtk4), Nothing, (Ptr{GObject}, Ptr{PangoAttrList}), instance, _attrs_maybe)
        nothing
    end
    function set_markup(instance::GtkInscription, _markup::Maybe(Union{AbstractString, Symbol}))
        _markup_maybe = nothing_to_null(_markup)
        ret = ccall(("gtk_inscription_set_markup", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _markup_maybe)
        nothing
    end
    function set_min_chars(instance::GtkInscription, _min_chars::Integer)
        ret = ccall(("gtk_inscription_set_min_chars", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _min_chars)
        nothing
    end
    function set_min_lines(instance::GtkInscription, _min_lines::Integer)
        ret = ccall(("gtk_inscription_set_min_lines", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _min_lines)
        nothing
    end
    function set_nat_chars(instance::GtkInscription, _nat_chars::Integer)
        ret = ccall(("gtk_inscription_set_nat_chars", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _nat_chars)
        nothing
    end
    function set_nat_lines(instance::GtkInscription, _nat_lines::Integer)
        ret = ccall(("gtk_inscription_set_nat_lines", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _nat_lines)
        nothing
    end
    function set_text(instance::GtkInscription, _text::Maybe(Union{AbstractString, Symbol}))
        _text_maybe = nothing_to_null(_text)
        ret = ccall(("gtk_inscription_set_text", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _text_maybe)
        nothing
    end
    function set_text_overflow(instance::GtkInscription, _overflow)
        ret = ccall(("gtk_inscription_set_text_overflow", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _overflow)
        nothing
    end
    function set_wrap_mode(instance::GtkInscription, _wrap_mode)
        ret = ccall(("gtk_inscription_set_wrap_mode", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _wrap_mode)
        nothing
    end
    function set_xalign(instance::GtkInscription, _xalign::Real)
        ret = ccall(("gtk_inscription_set_xalign", libgtk4), Nothing, (Ptr{GObject}, Float32), instance, _xalign)
        nothing
    end
    function set_yalign(instance::GtkInscription, _yalign::Real)
        ret = ccall(("gtk_inscription_set_yalign", libgtk4), Nothing, (Ptr{GObject}, Float32), instance, _yalign)
        nothing
    end
    function announce(instance::GtkInscription, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkInscription)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkInscription)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkInscription)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkInscription)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkInscription)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkInscription)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkInscription, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkInscription, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkInscription, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkInscription, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkInscription, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkInscription, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkInscription, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkInscription, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkInscription, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function update_caret_position(instance::GtkInscription)
        update_caret_position(GtkAccessibleText(instance))
    end
    function update_contents(instance::GtkInscription, _change, _start::Integer, _end::Integer)
        update_contents(GtkAccessibleText(instance), _change, _start, _end)
    end
    function update_selection_bound(instance::GtkInscription)
        update_selection_bound(GtkAccessibleText(instance))
    end
    function get_buildable_id(instance::GtkInscription)
        get_buildable_id(GtkBuildable(instance))
    end
    function KeyvalTrigger_new(_keyval::Integer, _modifiers)
        ret = ccall(("gtk_keyval_trigger_new", libgtk4), Ptr{GObject}, (UInt32, UInt32), _keyval, _modifiers)
        ret2 = GtkKeyvalTriggerLeaf(ret, true)
        ret2
    end
    function get_keyval(instance::GtkKeyvalTrigger)
        ret = ccall(("gtk_keyval_trigger_get_keyval", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function get_modifiers(instance::GtkKeyvalTrigger)
        ret = ccall(("gtk_keyval_trigger_get_modifiers", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = ModifierType(ret)
        ret2
    end
    function Label_new(_str::Maybe(Union{AbstractString, Symbol}))
        _str_maybe = nothing_to_null(_str)
        ret = ccall(("gtk_label_new", libgtk4), Ptr{GObject}, (Cstring,), _str_maybe)
        ret2 = GtkLabelLeaf(ret, false)
        ret2
    end
    function Label_new_with_mnemonic(_str::Maybe(Union{AbstractString, Symbol}))
        _str_maybe = nothing_to_null(_str)
        ret = ccall(("gtk_label_new_with_mnemonic", libgtk4), Ptr{GObject}, (Cstring,), _str_maybe)
        ret2 = GtkLabelLeaf(ret, false)
        ret2
    end
    function get_attributes(instance::GtkLabel)
        ret = ccall(("gtk_label_get_attributes", libgtk4), Ptr{PangoAttrList}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(PangoAttrList, ret, false)
        ret2
    end
    function get_current_uri(instance::GtkLabel)
        ret = ccall(("gtk_label_get_current_uri", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_ellipsize(instance::GtkLabel)
        ret = ccall(("gtk_label_get_ellipsize", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = EllipsizeMode(ret)
        ret2
    end
    function get_extra_menu(instance::GtkLabel)
        ret = ccall(("gtk_label_get_extra_menu", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GMenuModel, ret, false)
        ret2
    end
    function get_justify(instance::GtkLabel)
        ret = ccall(("gtk_label_get_justify", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = Justification(ret)
        ret2
    end
    function get_label(instance::GtkLabel)
        ret = ccall(("gtk_label_get_label", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_layout(instance::GtkLabel)
        ret = ccall(("gtk_label_get_layout", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(PangoLayout, ret, false)
        ret2
    end
    function get_layout_offsets(instance::GtkLabel)
        m_x = Ref{Int32}()
        m_y = Ref{Int32}()
        ret = ccall(("gtk_label_get_layout_offsets", libgtk4), Nothing, (Ptr{GObject}, Ptr{Int32}, Ptr{Int32}), instance, m_x, m_y)
        _x = m_x[]
        _y = m_y[]
        (_x, _y)
    end
    function get_lines(instance::GtkLabel)
        ret = ccall(("gtk_label_get_lines", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_max_width_chars(instance::GtkLabel)
        ret = ccall(("gtk_label_get_max_width_chars", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_mnemonic_keyval(instance::GtkLabel)
        ret = ccall(("gtk_label_get_mnemonic_keyval", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function get_mnemonic_widget(instance::GtkLabel)
        ret = ccall(("gtk_label_get_mnemonic_widget", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_natural_wrap_mode(instance::GtkLabel)
        ret = ccall(("gtk_label_get_natural_wrap_mode", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = NaturalWrapMode(ret)
        ret2
    end
    function get_selectable(instance::GtkLabel)
        ret = ccall(("gtk_label_get_selectable", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_selection_bounds(instance::GtkLabel)
        m_start = Ref{Int32}()
        m_end = Ref{Int32}()
        ret = ccall(("gtk_label_get_selection_bounds", libgtk4), Cint, (Ptr{GObject}, Ptr{Int32}, Ptr{Int32}), instance, m_start, m_end)
        ret2 = convert(Bool, ret)
        _start = m_start[]
        _end = m_end[]
        (ret2, _start, _end)
    end
    function get_single_line_mode(instance::GtkLabel)
        ret = ccall(("gtk_label_get_single_line_mode", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_tabs(instance::GtkLabel)
        ret = ccall(("gtk_label_get_tabs", libgtk4), Ptr{PangoTabArray}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(PangoTabArray, ret, true)
        ret2
    end
    function get_text(instance::GtkLabel)
        ret = ccall(("gtk_label_get_text", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_use_markup(instance::GtkLabel)
        ret = ccall(("gtk_label_get_use_markup", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_use_underline(instance::GtkLabel)
        ret = ccall(("gtk_label_get_use_underline", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_width_chars(instance::GtkLabel)
        ret = ccall(("gtk_label_get_width_chars", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_wrap(instance::GtkLabel)
        ret = ccall(("gtk_label_get_wrap", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_wrap_mode(instance::GtkLabel)
        ret = ccall(("gtk_label_get_wrap_mode", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = WrapMode(ret)
        ret2
    end
    function get_xalign(instance::GtkLabel)
        ret = ccall(("gtk_label_get_xalign", libgtk4), Float32, (Ptr{GObject},), instance)
        ret
    end
    function get_yalign(instance::GtkLabel)
        ret = ccall(("gtk_label_get_yalign", libgtk4), Float32, (Ptr{GObject},), instance)
        ret
    end
    function select_region(instance::GtkLabel, _start_offset::Integer, _end_offset::Integer)
        ret = ccall(("gtk_label_select_region", libgtk4), Nothing, (Ptr{GObject}, Int32, Int32), instance, _start_offset, _end_offset)
        nothing
    end
    function set_attributes(instance::GtkLabel, _attrs::Maybe(PangoAttrList))
        _attrs_maybe = nothing_to_null(_attrs)
        ret = ccall(("gtk_label_set_attributes", libgtk4), Nothing, (Ptr{GObject}, Ptr{PangoAttrList}), instance, _attrs_maybe)
        nothing
    end
    function set_ellipsize(instance::GtkLabel, _mode)
        ret = ccall(("gtk_label_set_ellipsize", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _mode)
        nothing
    end
    function set_extra_menu(instance::GtkLabel, _model::Maybe(GMenuModel))
        _model_maybe = nothing_to_null(_model)
        ret = ccall(("gtk_label_set_extra_menu", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _model_maybe)
        nothing
    end
    function set_justify(instance::GtkLabel, _jtype)
        ret = ccall(("gtk_label_set_justify", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _jtype)
        nothing
    end
    function set_label(instance::GtkLabel, _str::Union{AbstractString, Symbol})
        ret = ccall(("gtk_label_set_label", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _str)
        nothing
    end
    function set_lines(instance::GtkLabel, _lines::Integer)
        ret = ccall(("gtk_label_set_lines", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _lines)
        nothing
    end
    function set_markup(instance::GtkLabel, _str::Union{AbstractString, Symbol})
        ret = ccall(("gtk_label_set_markup", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _str)
        nothing
    end
    function set_markup_with_mnemonic(instance::GtkLabel, _str::Union{AbstractString, Symbol})
        ret = ccall(("gtk_label_set_markup_with_mnemonic", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _str)
        nothing
    end
    function set_max_width_chars(instance::GtkLabel, _n_chars::Integer)
        ret = ccall(("gtk_label_set_max_width_chars", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _n_chars)
        nothing
    end
    function set_mnemonic_widget(instance::GtkLabel, _widget::Maybe(GtkWidget))
        _widget_maybe = nothing_to_null(_widget)
        ret = ccall(("gtk_label_set_mnemonic_widget", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _widget_maybe)
        nothing
    end
    function set_natural_wrap_mode(instance::GtkLabel, _wrap_mode)
        ret = ccall(("gtk_label_set_natural_wrap_mode", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _wrap_mode)
        nothing
    end
    function set_selectable(instance::GtkLabel, _setting::Bool)
        ret = ccall(("gtk_label_set_selectable", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _setting)
        nothing
    end
    function set_single_line_mode(instance::GtkLabel, _single_line_mode::Bool)
        ret = ccall(("gtk_label_set_single_line_mode", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _single_line_mode)
        nothing
    end
    function set_tabs(instance::GtkLabel, _tabs::Maybe(PangoTabArray))
        _tabs_maybe = nothing_to_null(_tabs)
        ret = ccall(("gtk_label_set_tabs", libgtk4), Nothing, (Ptr{GObject}, Ptr{PangoTabArray}), instance, _tabs_maybe)
        nothing
    end
    function set_text(instance::GtkLabel, _str::Union{AbstractString, Symbol})
        ret = ccall(("gtk_label_set_text", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _str)
        nothing
    end
    function set_text_with_mnemonic(instance::GtkLabel, _str::Union{AbstractString, Symbol})
        ret = ccall(("gtk_label_set_text_with_mnemonic", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _str)
        nothing
    end
    function set_use_markup(instance::GtkLabel, _setting::Bool)
        ret = ccall(("gtk_label_set_use_markup", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _setting)
        nothing
    end
    function set_use_underline(instance::GtkLabel, _setting::Bool)
        ret = ccall(("gtk_label_set_use_underline", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _setting)
        nothing
    end
    function set_width_chars(instance::GtkLabel, _n_chars::Integer)
        ret = ccall(("gtk_label_set_width_chars", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _n_chars)
        nothing
    end
    function set_wrap(instance::GtkLabel, _wrap::Bool)
        ret = ccall(("gtk_label_set_wrap", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _wrap)
        nothing
    end
    function set_wrap_mode(instance::GtkLabel, _wrap_mode)
        ret = ccall(("gtk_label_set_wrap_mode", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _wrap_mode)
        nothing
    end
    function set_xalign(instance::GtkLabel, _xalign::Real)
        ret = ccall(("gtk_label_set_xalign", libgtk4), Nothing, (Ptr{GObject}, Float32), instance, _xalign)
        nothing
    end
    function set_yalign(instance::GtkLabel, _yalign::Real)
        ret = ccall(("gtk_label_set_yalign", libgtk4), Nothing, (Ptr{GObject}, Float32), instance, _yalign)
        nothing
    end
    function announce(instance::GtkLabel, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkLabel)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkLabel)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkLabel)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkLabel)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkLabel)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkLabel)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkLabel, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkLabel, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkLabel, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkLabel, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkLabel, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkLabel, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkLabel, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkLabel, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkLabel, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function update_caret_position(instance::GtkLabel)
        update_caret_position(GtkAccessibleText(instance))
    end
    function update_contents(instance::GtkLabel, _change, _start::Integer, _end::Integer)
        update_contents(GtkAccessibleText(instance), _change, _start, _end)
    end
    function update_selection_bound(instance::GtkLabel)
        update_selection_bound(GtkAccessibleText(instance))
    end
    function get_buildable_id(instance::GtkLabel)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_child_widget(instance::GtkLayoutChild)
        ret = ccall(("gtk_layout_child_get_child_widget", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GtkWidget, ret, false)
        ret2
    end
    function get_layout_manager(instance::GtkLayoutChild)
        ret = ccall(("gtk_layout_child_get_layout_manager", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GtkLayoutManager, ret, false)
        ret2
    end
    function allocate(instance::GtkLayoutManager, _widget::GtkWidget, _width::Integer, _height::Integer, _baseline::Integer)
        ret = ccall(("gtk_layout_manager_allocate", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Int32, Int32, Int32), instance, _widget, _width, _height, _baseline)
        nothing
    end
    function get_layout_child(instance::GtkLayoutManager, _child::GtkWidget)
        ret = ccall(("gtk_layout_manager_get_layout_child", libgtk4), Ptr{GObject}, (Ptr{GObject}, Ptr{GObject}), instance, _child)
        ret2 = convert(GtkLayoutChild, ret, false)
        ret2
    end
    function get_request_mode(instance::GtkLayoutManager)
        ret = ccall(("gtk_layout_manager_get_request_mode", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = SizeRequestMode(ret)
        ret2
    end
    function get_widget(instance::GtkLayoutManager)
        ret = ccall(("gtk_layout_manager_get_widget", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function layout_changed(instance::GtkLayoutManager)
        ret = ccall(("gtk_layout_manager_layout_changed", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function measure(instance::GtkLayoutManager, _widget::GtkWidget, _orientation, _for_size::Integer)
        m_minimum = Ref{Int32}()
        m_natural = Ref{Int32}()
        m_minimum_baseline = Ref{Int32}()
        m_natural_baseline = Ref{Int32}()
        ret = ccall(("gtk_layout_manager_measure", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, UInt32, Int32, Ptr{Int32}, Ptr{Int32}, Ptr{Int32}, Ptr{Int32}), instance, _widget, _orientation, _for_size, m_minimum, m_natural, m_minimum_baseline, m_natural_baseline)
        _minimum = m_minimum[]
        _natural = m_natural[]
        _minimum_baseline = m_minimum_baseline[]
        _natural_baseline = m_natural_baseline[]
        (_minimum, _natural, _minimum_baseline, _natural_baseline)
    end
    function LevelBar_new()
        ret = ccall(("gtk_level_bar_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkLevelBarLeaf(ret, false)
        ret2
    end
    function LevelBar_new_for_interval(_min_value::Real, _max_value::Real)
        ret = ccall(("gtk_level_bar_new_for_interval", libgtk4), Ptr{GObject}, (Float64, Float64), _min_value, _max_value)
        ret2 = GtkLevelBarLeaf(ret, false)
        ret2
    end
    function add_offset_value(instance::GtkLevelBar, _name::Union{AbstractString, Symbol}, _value::Real)
        ret = ccall(("gtk_level_bar_add_offset_value", libgtk4), Nothing, (Ptr{GObject}, Cstring, Float64), instance, _name, _value)
        nothing
    end
    function get_inverted(instance::GtkLevelBar)
        ret = ccall(("gtk_level_bar_get_inverted", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_max_value(instance::GtkLevelBar)
        ret = ccall(("gtk_level_bar_get_max_value", libgtk4), Float64, (Ptr{GObject},), instance)
        ret
    end
    function get_min_value(instance::GtkLevelBar)
        ret = ccall(("gtk_level_bar_get_min_value", libgtk4), Float64, (Ptr{GObject},), instance)
        ret
    end
    function get_mode(instance::GtkLevelBar)
        ret = ccall(("gtk_level_bar_get_mode", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = LevelBarMode(ret)
        ret2
    end
    function get_offset_value(instance::GtkLevelBar, _name::Maybe(Union{AbstractString, Symbol}))
        _name_maybe = nothing_to_null(_name)
        m_value = Ref{Float64}()
        ret = ccall(("gtk_level_bar_get_offset_value", libgtk4), Cint, (Ptr{GObject}, Cstring, Ptr{Float64}), instance, _name_maybe, m_value)
        ret2 = convert(Bool, ret)
        _value = m_value[]
        (ret2, _value)
    end
    function get_value(instance::GtkLevelBar)
        ret = ccall(("gtk_level_bar_get_value", libgtk4), Float64, (Ptr{GObject},), instance)
        ret
    end
    function remove_offset_value(instance::GtkLevelBar, _name::Maybe(Union{AbstractString, Symbol}))
        _name_maybe = nothing_to_null(_name)
        ret = ccall(("gtk_level_bar_remove_offset_value", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _name_maybe)
        nothing
    end
    function set_inverted(instance::GtkLevelBar, _inverted::Bool)
        ret = ccall(("gtk_level_bar_set_inverted", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _inverted)
        nothing
    end
    function set_max_value(instance::GtkLevelBar, _value::Real)
        ret = ccall(("gtk_level_bar_set_max_value", libgtk4), Nothing, (Ptr{GObject}, Float64), instance, _value)
        nothing
    end
    function set_min_value(instance::GtkLevelBar, _value::Real)
        ret = ccall(("gtk_level_bar_set_min_value", libgtk4), Nothing, (Ptr{GObject}, Float64), instance, _value)
        nothing
    end
    function set_mode(instance::GtkLevelBar, _mode)
        ret = ccall(("gtk_level_bar_set_mode", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _mode)
        nothing
    end
    function set_value(instance::GtkLevelBar, _value::Real)
        ret = ccall(("gtk_level_bar_set_value", libgtk4), Nothing, (Ptr{GObject}, Float64), instance, _value)
        nothing
    end
    function announce(instance::GtkLevelBar, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkLevelBar)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkLevelBar)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkLevelBar)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkLevelBar)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkLevelBar)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkLevelBar)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkLevelBar, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkLevelBar, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkLevelBar, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkLevelBar, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkLevelBar, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkLevelBar, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkLevelBar, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkLevelBar, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkLevelBar, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkLevelBar)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_orientation(instance::GtkLevelBar)
        get_orientation(GtkOrientable(instance))
    end
    function set_orientation(instance::GtkLevelBar, _orientation)
        set_orientation(GtkOrientable(instance), _orientation)
    end
    function LinkButton_new(_uri::Union{AbstractString, Symbol})
        ret = ccall(("gtk_link_button_new", libgtk4), Ptr{GObject}, (Cstring,), _uri)
        ret2 = GtkLinkButtonLeaf(ret, false)
        ret2
    end
    function LinkButton_new_with_label(_uri::Union{AbstractString, Symbol}, _label::Maybe(Union{AbstractString, Symbol}))
        _label_maybe = nothing_to_null(_label)
        ret = ccall(("gtk_link_button_new_with_label", libgtk4), Ptr{GObject}, (Cstring, Cstring), _uri, _label_maybe)
        ret2 = GtkLinkButtonLeaf(ret, false)
        ret2
    end
    function get_uri(instance::GtkLinkButton)
        ret = ccall(("gtk_link_button_get_uri", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_visited(instance::GtkLinkButton)
        ret = ccall(("gtk_link_button_get_visited", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_uri(instance::GtkLinkButton, _uri::Union{AbstractString, Symbol})
        ret = ccall(("gtk_link_button_set_uri", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _uri)
        nothing
    end
    function set_visited(instance::GtkLinkButton, _visited::Bool)
        ret = ccall(("gtk_link_button_set_visited", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _visited)
        nothing
    end
    function announce(instance::GtkLinkButton, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkLinkButton)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkLinkButton)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkLinkButton)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkLinkButton)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkLinkButton)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkLinkButton)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkLinkButton, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkLinkButton, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkLinkButton, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkLinkButton, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkLinkButton, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkLinkButton, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkLinkButton, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkLinkButton, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkLinkButton, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_action_name(instance::GtkLinkButton)
        get_action_name(GtkActionable(instance))
    end
    function get_action_target_value(instance::GtkLinkButton)
        get_action_target_value(GtkActionable(instance))
    end
    function set_action_name(instance::GtkLinkButton, _action_name::Maybe(Union{AbstractString, Symbol}))
        set_action_name(GtkActionable(instance), _action_name)
    end
    function set_action_target_value(instance::GtkLinkButton, _target_value::Maybe(GVariant))
        set_action_target_value(GtkActionable(instance), _target_value)
    end
    function set_detailed_action_name(instance::GtkLinkButton, _detailed_action_name::Union{AbstractString, Symbol})
        set_detailed_action_name(GtkActionable(instance), _detailed_action_name)
    end
    function get_buildable_id(instance::GtkLinkButton)
        get_buildable_id(GtkBuildable(instance))
    end
    function announce(instance::GtkListBase, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkListBase)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkListBase)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkListBase)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkListBase)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkListBase)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkListBase)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkListBase, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkListBase, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkListBase, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkListBase, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkListBase, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkListBase, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkListBase, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkListBase, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkListBase, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkListBase)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_orientation(instance::GtkListBase)
        get_orientation(GtkOrientable(instance))
    end
    function set_orientation(instance::GtkListBase, _orientation)
        set_orientation(GtkOrientable(instance), _orientation)
    end
    function get_border(instance::GtkListBase)
        get_border(GtkScrollable(instance))
    end
    function get_hadjustment(instance::GtkListBase)
        get_hadjustment(GtkScrollable(instance))
    end
    function get_hscroll_policy(instance::GtkListBase)
        get_hscroll_policy(GtkScrollable(instance))
    end
    function get_vadjustment(instance::GtkListBase)
        get_vadjustment(GtkScrollable(instance))
    end
    function get_vscroll_policy(instance::GtkListBase)
        get_vscroll_policy(GtkScrollable(instance))
    end
    function set_hadjustment(instance::GtkListBase, _hadjustment::Maybe(GtkAdjustment))
        set_hadjustment(GtkScrollable(instance), _hadjustment)
    end
    function set_hscroll_policy(instance::GtkListBase, _policy)
        set_hscroll_policy(GtkScrollable(instance), _policy)
    end
    function set_vadjustment(instance::GtkListBase, _vadjustment::Maybe(GtkAdjustment))
        set_vadjustment(GtkScrollable(instance), _vadjustment)
    end
    function set_vscroll_policy(instance::GtkListBase, _policy)
        set_vscroll_policy(GtkScrollable(instance), _policy)
    end
    function ListBox_new()
        ret = ccall(("gtk_list_box_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkListBoxLeaf(ret, false)
        ret2
    end
    function append(instance::GtkListBox, _child::GtkWidget)
        ret = ccall(("gtk_list_box_append", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child)
        nothing
    end
    function drag_highlight_row(instance::GtkListBox, _row::GtkListBoxRow)
        ret = ccall(("gtk_list_box_drag_highlight_row", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _row)
        nothing
    end
    function drag_unhighlight_row(instance::GtkListBox)
        ret = ccall(("gtk_list_box_drag_unhighlight_row", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function get_activate_on_single_click(instance::GtkListBox)
        ret = ccall(("gtk_list_box_get_activate_on_single_click", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_adjustment(instance::GtkListBox)
        ret = ccall(("gtk_list_box_get_adjustment", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkAdjustment, ret, false)
        ret2
    end
    function get_row_at_index(instance::GtkListBox, _index_::Integer)
        ret = ccall(("gtk_list_box_get_row_at_index", libgtk4), Ptr{GObject}, (Ptr{GObject}, Int32), instance, _index_)
        ret2 = convert_if_not_null(GtkListBoxRow, ret, false)
        ret2
    end
    function get_row_at_y(instance::GtkListBox, _y::Integer)
        ret = ccall(("gtk_list_box_get_row_at_y", libgtk4), Ptr{GObject}, (Ptr{GObject}, Int32), instance, _y)
        ret2 = convert_if_not_null(GtkListBoxRow, ret, false)
        ret2
    end
    function get_selected_row(instance::GtkListBox)
        ret = ccall(("gtk_list_box_get_selected_row", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkListBoxRow, ret, false)
        ret2
    end
    function get_selected_rows(instance::GtkListBox)
        ret = ccall(("gtk_list_box_get_selected_rows", libgtk4), Ptr{GLib._GList{Ptr{GObject}}}, (Ptr{GObject},), instance)
        ret2 = GLib.GList(ret, false)
        ret2
    end
    function get_selection_mode(instance::GtkListBox)
        ret = ccall(("gtk_list_box_get_selection_mode", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = SelectionMode(ret)
        ret2
    end
    function get_show_separators(instance::GtkListBox)
        ret = ccall(("gtk_list_box_get_show_separators", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function insert(instance::GtkListBox, _child::GtkWidget, _position::Integer)
        ret = ccall(("gtk_list_box_insert", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Int32), instance, _child, _position)
        nothing
    end
    function invalidate_filter(instance::GtkListBox)
        ret = ccall(("gtk_list_box_invalidate_filter", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function invalidate_headers(instance::GtkListBox)
        ret = ccall(("gtk_list_box_invalidate_headers", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function invalidate_sort(instance::GtkListBox)
        ret = ccall(("gtk_list_box_invalidate_sort", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function prepend(instance::GtkListBox, _child::GtkWidget)
        ret = ccall(("gtk_list_box_prepend", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child)
        nothing
    end
    function remove(instance::GtkListBox, _child::GtkWidget)
        ret = ccall(("gtk_list_box_remove", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child)
        nothing
    end
    function remove_all(instance::GtkListBox)
        ret = ccall(("gtk_list_box_remove_all", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function select_all(instance::GtkListBox)
        ret = ccall(("gtk_list_box_select_all", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function select_row(instance::GtkListBox, _row::Maybe(GtkListBoxRow))
        _row_maybe = nothing_to_null(_row)
        ret = ccall(("gtk_list_box_select_row", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _row_maybe)
        nothing
    end
    function selected_foreach(instance::GtkListBox, _func::Function)
        begin
            _func_cfunc = @cfunction(GtkListBoxForeachFunc, Nothing, (Ptr{GObject}, Ptr{GObject}, Ref{Function}))
            begin
                ref = Ref{Any}(_func)
                _func_closure = unsafe_load(convert(Ptr{Ptr{Nothing}}, Base.unsafe_convert(Ptr{Any}, ref)))
            end
        end
        ret = ccall(("gtk_list_box_selected_foreach", libgtk4), Nothing, (Ptr{GObject}, Ptr{Cvoid}, Ptr{Nothing}), instance, _func_cfunc, _func_closure)
        nothing
    end
    function set_activate_on_single_click(instance::GtkListBox, _single::Bool)
        ret = ccall(("gtk_list_box_set_activate_on_single_click", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _single)
        nothing
    end
    function set_adjustment(instance::GtkListBox, _adjustment::Maybe(GtkAdjustment))
        _adjustment_maybe = nothing_to_null(_adjustment)
        ret = ccall(("gtk_list_box_set_adjustment", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _adjustment_maybe)
        nothing
    end
    function set_placeholder(instance::GtkListBox, _placeholder::Maybe(GtkWidget))
        _placeholder_maybe = nothing_to_null(_placeholder)
        ret = ccall(("gtk_list_box_set_placeholder", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _placeholder_maybe)
        nothing
    end
    function set_selection_mode(instance::GtkListBox, _mode)
        ret = ccall(("gtk_list_box_set_selection_mode", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _mode)
        nothing
    end
    function set_show_separators(instance::GtkListBox, _show_separators::Bool)
        ret = ccall(("gtk_list_box_set_show_separators", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _show_separators)
        nothing
    end
    function unselect_all(instance::GtkListBox)
        ret = ccall(("gtk_list_box_unselect_all", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function unselect_row(instance::GtkListBox, _row::GtkListBoxRow)
        ret = ccall(("gtk_list_box_unselect_row", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _row)
        nothing
    end
    function announce(instance::GtkListBox, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkListBox)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkListBox)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkListBox)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkListBox)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkListBox)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkListBox)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkListBox, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkListBox, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkListBox, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkListBox, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkListBox, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkListBox, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkListBox, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkListBox, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkListBox, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkListBox)
        get_buildable_id(GtkBuildable(instance))
    end
    function ListBoxRow_new()
        ret = ccall(("gtk_list_box_row_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkListBoxRowLeaf(ret, false)
        ret2
    end
    function changed(instance::GtkListBoxRow)
        ret = ccall(("gtk_list_box_row_changed", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function get_activatable(instance::GtkListBoxRow)
        ret = ccall(("gtk_list_box_row_get_activatable", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_child(instance::GtkListBoxRow)
        ret = ccall(("gtk_list_box_row_get_child", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_header(instance::GtkListBoxRow)
        ret = ccall(("gtk_list_box_row_get_header", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_index(instance::GtkListBoxRow)
        ret = ccall(("gtk_list_box_row_get_index", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_selectable(instance::GtkListBoxRow)
        ret = ccall(("gtk_list_box_row_get_selectable", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function is_selected(instance::GtkListBoxRow)
        ret = ccall(("gtk_list_box_row_is_selected", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_activatable(instance::GtkListBoxRow, _activatable::Bool)
        ret = ccall(("gtk_list_box_row_set_activatable", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _activatable)
        nothing
    end
    function set_child(instance::GtkListBoxRow, _child::Maybe(GtkWidget))
        _child_maybe = nothing_to_null(_child)
        ret = ccall(("gtk_list_box_row_set_child", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child_maybe)
        nothing
    end
    function set_header(instance::GtkListBoxRow, _header::Maybe(GtkWidget))
        _header_maybe = nothing_to_null(_header)
        ret = ccall(("gtk_list_box_row_set_header", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _header_maybe)
        nothing
    end
    function set_selectable(instance::GtkListBoxRow, _selectable::Bool)
        ret = ccall(("gtk_list_box_row_set_selectable", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _selectable)
        nothing
    end
    function announce(instance::GtkListBoxRow, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkListBoxRow)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkListBoxRow)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkListBoxRow)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkListBoxRow)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkListBoxRow)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkListBoxRow)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkListBoxRow, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkListBoxRow, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkListBoxRow, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkListBoxRow, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkListBoxRow, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkListBoxRow, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkListBoxRow, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkListBoxRow, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkListBoxRow, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_action_name(instance::GtkListBoxRow)
        get_action_name(GtkActionable(instance))
    end
    function get_action_target_value(instance::GtkListBoxRow)
        get_action_target_value(GtkActionable(instance))
    end
    function set_action_name(instance::GtkListBoxRow, _action_name::Maybe(Union{AbstractString, Symbol}))
        set_action_name(GtkActionable(instance), _action_name)
    end
    function set_action_target_value(instance::GtkListBoxRow, _target_value::Maybe(GVariant))
        set_action_target_value(GtkActionable(instance), _target_value)
    end
    function set_detailed_action_name(instance::GtkListBoxRow, _detailed_action_name::Union{AbstractString, Symbol})
        set_detailed_action_name(GtkActionable(instance), _detailed_action_name)
    end
    function get_buildable_id(instance::GtkListBoxRow)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_child(instance::GtkListHeader)
        ret = ccall(("gtk_list_header_get_child", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_end(instance::GtkListHeader)
        ret = ccall(("gtk_list_header_get_end", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function get_item(instance::GtkListHeader)
        ret = ccall(("gtk_list_header_get_item", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GObject, ret, false)
        ret2
    end
    function get_n_items(instance::GtkListHeader)
        ret = ccall(("gtk_list_header_get_n_items", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function get_start(instance::GtkListHeader)
        ret = ccall(("gtk_list_header_get_start", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function set_child(instance::GtkListHeader, _child::Maybe(GtkWidget))
        _child_maybe = nothing_to_null(_child)
        ret = ccall(("gtk_list_header_set_child", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child_maybe)
        nothing
    end
    function get_accessible_description(instance::GtkListItem)
        ret = ccall(("gtk_list_item_get_accessible_description", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_accessible_label(instance::GtkListItem)
        ret = ccall(("gtk_list_item_get_accessible_label", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_activatable(instance::GtkListItem)
        ret = ccall(("gtk_list_item_get_activatable", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_child(instance::GtkListItem)
        ret = ccall(("gtk_list_item_get_child", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_focusable(instance::GtkListItem)
        ret = ccall(("gtk_list_item_get_focusable", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_item(instance::GtkListItem)
        ret = ccall(("gtk_list_item_get_item", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GObject, ret, false)
        ret2
    end
    function get_position(instance::GtkListItem)
        ret = ccall(("gtk_list_item_get_position", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function get_selectable(instance::GtkListItem)
        ret = ccall(("gtk_list_item_get_selectable", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_selected(instance::GtkListItem)
        ret = ccall(("gtk_list_item_get_selected", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_accessible_description(instance::GtkListItem, _description::Union{AbstractString, Symbol})
        ret = ccall(("gtk_list_item_set_accessible_description", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _description)
        nothing
    end
    function set_accessible_label(instance::GtkListItem, _label::Union{AbstractString, Symbol})
        ret = ccall(("gtk_list_item_set_accessible_label", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _label)
        nothing
    end
    function set_activatable(instance::GtkListItem, _activatable::Bool)
        ret = ccall(("gtk_list_item_set_activatable", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _activatable)
        nothing
    end
    function set_child(instance::GtkListItem, _child::Maybe(GtkWidget))
        _child_maybe = nothing_to_null(_child)
        ret = ccall(("gtk_list_item_set_child", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child_maybe)
        nothing
    end
    function set_focusable(instance::GtkListItem, _focusable::Bool)
        ret = ccall(("gtk_list_item_set_focusable", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _focusable)
        nothing
    end
    function set_selectable(instance::GtkListItem, _selectable::Bool)
        ret = ccall(("gtk_list_item_set_selectable", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _selectable)
        nothing
    end
    function ListStore_new(_types)
        _types_arr = convert(Vector{UInt64}, _types)
        _n_columns = length(_types)
        ret = ccall(("gtk_list_store_newv", libgtk4), Ptr{GObject}, (Int32, Ptr{UInt64}), _n_columns, _types_arr)
        ret2 = GtkListStoreLeaf(ret, true)
        ret2
    end
    function append(instance::GtkListStore)
        m_iter = Ref{_GtkTreeIter}()
        ret = ccall(("gtk_list_store_append", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTreeIter}), instance, m_iter)
        _iter = m_iter[]
        _iter
    end
    function clear(instance::GtkListStore)
        ret = ccall(("gtk_list_store_clear", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function insert(instance::GtkListStore, _position::Integer)
        m_iter = Ref{_GtkTreeIter}()
        ret = ccall(("gtk_list_store_insert", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTreeIter}, Int32), instance, m_iter, _position)
        _iter = m_iter[]
        _iter
    end
    function insert_after(instance::GtkListStore, _sibling::Maybe(Union{GtkTreeIter, Ref{_GtkTreeIter}}))
        m_iter = Ref{_GtkTreeIter}()
        _sibling_maybe = nothing_to_null(_sibling)
        ret = ccall(("gtk_list_store_insert_after", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTreeIter}, Ptr{_GtkTreeIter}), instance, m_iter, _sibling_maybe)
        _iter = m_iter[]
        _iter
    end
    function insert_before(instance::GtkListStore, _sibling::Maybe(Union{GtkTreeIter, Ref{_GtkTreeIter}}))
        m_iter = Ref{_GtkTreeIter}()
        _sibling_maybe = nothing_to_null(_sibling)
        ret = ccall(("gtk_list_store_insert_before", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTreeIter}, Ptr{_GtkTreeIter}), instance, m_iter, _sibling_maybe)
        _iter = m_iter[]
        _iter
    end
    function insert_with_values(instance::GtkListStore, _position::Integer, _columns, _values)
        m_iter = Ref{_GtkTreeIter}()
        _columns_arr = convert(Vector{Int32}, _columns)
        _values_arr = convert(Vector{_GValue}, _values)
        _n_values = length(_columns)
        _n_values = length(_values)
        ret = ccall(("gtk_list_store_insert_with_valuesv", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTreeIter}, Int32, Ptr{Int32}, Ptr{_GValue}, Int32), instance, m_iter, _position, _columns_arr, _values_arr, _n_values)
        _iter = m_iter[]
        _iter
    end
    function iter_is_valid(instance::GtkListStore, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        ret = ccall(("gtk_list_store_iter_is_valid", libgtk4), Cint, (Ptr{GObject}, Ptr{_GtkTreeIter}), instance, _iter)
        ret2 = convert(Bool, ret)
        ret2
    end
    function move_after(instance::GtkListStore, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}}, _position::Maybe(Union{GtkTreeIter, Ref{_GtkTreeIter}}))
        _position_maybe = nothing_to_null(_position)
        ret = ccall(("gtk_list_store_move_after", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTreeIter}, Ptr{_GtkTreeIter}), instance, _iter, _position_maybe)
        nothing
    end
    function move_before(instance::GtkListStore, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}}, _position::Maybe(Union{GtkTreeIter, Ref{_GtkTreeIter}}))
        _position_maybe = nothing_to_null(_position)
        ret = ccall(("gtk_list_store_move_before", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTreeIter}, Ptr{_GtkTreeIter}), instance, _iter, _position_maybe)
        nothing
    end
    function prepend(instance::GtkListStore)
        m_iter = Ref{_GtkTreeIter}()
        ret = ccall(("gtk_list_store_prepend", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTreeIter}), instance, m_iter)
        _iter = m_iter[]
        _iter
    end
    function remove(instance::GtkListStore, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        ret = ccall(("gtk_list_store_remove", libgtk4), Cint, (Ptr{GObject}, Ptr{_GtkTreeIter}), instance, _iter)
        ret2 = convert(Bool, ret)
        ret2
    end
    function reorder(instance::GtkListStore, _new_order)
        _new_order_arr = convert(Vector{Int32}, _new_order)
        ret = ccall(("gtk_list_store_reorder", libgtk4), Nothing, (Ptr{GObject}, Ptr{Int32}), instance, _new_order_arr)
        nothing
    end
    function set_column_types(instance::GtkListStore, _types)
        _types_arr = convert(Vector{UInt64}, _types)
        _n_columns = length(_types)
        ret = ccall(("gtk_list_store_set_column_types", libgtk4), Nothing, (Ptr{GObject}, Int32, Ptr{UInt64}), instance, _n_columns, _types_arr)
        nothing
    end
    function set_value(instance::GtkListStore, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}}, _column::Integer, _value::Union{GValue, Ref{_GValue}})
        ret = ccall(("gtk_list_store_set_value", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTreeIter}, Int32, Ptr{_GValue}), instance, _iter, _column, _value)
        nothing
    end
    function set(instance::GtkListStore, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}}, _columns, _values)
        _columns_arr = convert(Vector{Int32}, _columns)
        _values_arr = convert(Vector{_GValue}, _values)
        _n_values = length(_columns)
        _n_values = length(_values)
        ret = ccall(("gtk_list_store_set_valuesv", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTreeIter}, Ptr{Int32}, Ptr{_GValue}, Int32), instance, _iter, _columns_arr, _values_arr, _n_values)
        nothing
    end
    function swap(instance::GtkListStore, _a::Union{GtkTreeIter, Ref{_GtkTreeIter}}, _b::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        ret = ccall(("gtk_list_store_swap", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTreeIter}, Ptr{_GtkTreeIter}), instance, _a, _b)
        nothing
    end
    function get_buildable_id(instance::GtkListStore)
        get_buildable_id(GtkBuildable(instance))
    end
    function drag_data_received(instance::GtkListStore, _dest::GtkTreePath, _value::Union{GValue, Ref{_GValue}})
        drag_data_received(GtkTreeDragDest(instance), _dest, _value)
    end
    function row_drop_possible(instance::GtkListStore, _dest_path::GtkTreePath, _value::Union{GValue, Ref{_GValue}})
        row_drop_possible(GtkTreeDragDest(instance), _dest_path, _value)
    end
    function drag_data_delete(instance::GtkListStore, _path::GtkTreePath)
        drag_data_delete(GtkTreeDragSource(instance), _path)
    end
    function drag_data_get(instance::GtkListStore, _path::GtkTreePath)
        drag_data_get(GtkTreeDragSource(instance), _path)
    end
    function row_draggable(instance::GtkListStore, _path::GtkTreePath)
        row_draggable(GtkTreeDragSource(instance), _path)
    end
    function filter_new(instance::GtkListStore, _root::Maybe(GtkTreePath))
        filter_new(GtkTreeModel(instance), _root)
    end
    function foreach(instance::GtkListStore, _func::Function)
        foreach(GtkTreeModel(instance), _func)
    end
    function get_column_type(instance::GtkListStore, _index_::Integer)
        get_column_type(GtkTreeModel(instance), _index_)
    end
    function get_flags(instance::GtkListStore)
        get_flags(GtkTreeModel(instance))
    end
    function get_iter(instance::GtkListStore, _path::GtkTreePath)
        get_iter(GtkTreeModel(instance), _path)
    end
    function get_iter_first(instance::GtkListStore)
        get_iter_first(GtkTreeModel(instance))
    end
    function get_iter_from_string(instance::GtkListStore, _path_string::Union{AbstractString, Symbol})
        get_iter_from_string(GtkTreeModel(instance), _path_string)
    end
    function get_n_columns(instance::GtkListStore)
        get_n_columns(GtkTreeModel(instance))
    end
    function get_path(instance::GtkListStore, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        get_path(GtkTreeModel(instance), _iter)
    end
    function get_string_from_iter(instance::GtkListStore, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        get_string_from_iter(GtkTreeModel(instance), _iter)
    end
    function get_value(instance::GtkListStore, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}}, _column::Integer)
        get_value(GtkTreeModel(instance), _iter, _column)
    end
    function iter_children(instance::GtkListStore, _parent::Maybe(Union{GtkTreeIter, Ref{_GtkTreeIter}}))
        iter_children(GtkTreeModel(instance), _parent)
    end
    function iter_has_child(instance::GtkListStore, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        iter_has_child(GtkTreeModel(instance), _iter)
    end
    function iter_n_children(instance::GtkListStore, _iter::Maybe(Union{GtkTreeIter, Ref{_GtkTreeIter}}))
        iter_n_children(GtkTreeModel(instance), _iter)
    end
    function iter_next(instance::GtkListStore, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        iter_next(GtkTreeModel(instance), _iter)
    end
    function iter_nth_child(instance::GtkListStore, _parent::Maybe(Union{GtkTreeIter, Ref{_GtkTreeIter}}), _n::Integer)
        iter_nth_child(GtkTreeModel(instance), _parent, _n)
    end
    function iter_parent(instance::GtkListStore, _child::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        iter_parent(GtkTreeModel(instance), _child)
    end
    function iter_previous(instance::GtkListStore, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        iter_previous(GtkTreeModel(instance), _iter)
    end
    function ref_node(instance::GtkListStore, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        ref_node(GtkTreeModel(instance), _iter)
    end
    function row_changed(instance::GtkListStore, _path::GtkTreePath, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        row_changed(GtkTreeModel(instance), _path, _iter)
    end
    function row_deleted(instance::GtkListStore, _path::GtkTreePath)
        row_deleted(GtkTreeModel(instance), _path)
    end
    function row_has_child_toggled(instance::GtkListStore, _path::GtkTreePath, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        row_has_child_toggled(GtkTreeModel(instance), _path, _iter)
    end
    function row_inserted(instance::GtkListStore, _path::GtkTreePath, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        row_inserted(GtkTreeModel(instance), _path, _iter)
    end
    function rows_reordered(instance::GtkListStore, _path::GtkTreePath, _iter::Maybe(Union{GtkTreeIter, Ref{_GtkTreeIter}}), _new_order)
        rows_reordered(GtkTreeModel(instance), _path, _iter, _new_order)
    end
    function unref_node(instance::GtkListStore, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        unref_node(GtkTreeModel(instance), _iter)
    end
    function get_sort_column_id(instance::GtkListStore)
        get_sort_column_id(GtkTreeSortable(instance))
    end
    function has_default_sort_func(instance::GtkListStore)
        has_default_sort_func(GtkTreeSortable(instance))
    end
    function set_default_sort_func(instance::GtkListStore, _sort_func::Function, _destroy::Maybe(Function))
        set_default_sort_func(GtkTreeSortable(instance), _sort_func, _destroy)
    end
    function set_sort_column_id(instance::GtkListStore, _sort_column_id::Integer, _order)
        set_sort_column_id(GtkTreeSortable(instance), _sort_column_id, _order)
    end
    function set_sort_func(instance::GtkListStore, _sort_column_id::Integer, _sort_func::Function, _destroy::Maybe(Function))
        set_sort_func(GtkTreeSortable(instance), _sort_column_id, _sort_func, _destroy)
    end
    function sort_column_changed(instance::GtkListStore)
        sort_column_changed(GtkTreeSortable(instance))
    end
    function ListView_new(_model::Maybe(GtkSelectionModel), _factory::Maybe(GtkListItemFactory))
        _model_maybe = begin
                if _model !== nothing
                    GLib.glib_ref(_model)
                end
                nothing_to_null(_model)
            end
        _factory_maybe = begin
                if _factory !== nothing
                    GLib.glib_ref(_factory)
                end
                nothing_to_null(_factory)
            end
        ret = ccall(("gtk_list_view_new", libgtk4), Ptr{GObject}, (Ptr{GObject}, Ptr{GObject}), _model_maybe, _factory_maybe)
        ret2 = GtkListViewLeaf(ret, false)
        ret2
    end
    function get_enable_rubberband(instance::GtkListView)
        ret = ccall(("gtk_list_view_get_enable_rubberband", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_factory(instance::GtkListView)
        ret = ccall(("gtk_list_view_get_factory", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkListItemFactory, ret, false)
        ret2
    end
    function get_header_factory(instance::GtkListView)
        ret = ccall(("gtk_list_view_get_header_factory", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkListItemFactory, ret, false)
        ret2
    end
    function get_model(instance::GtkListView)
        ret = ccall(("gtk_list_view_get_model", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, false)
        ret2
    end
    function get_show_separators(instance::GtkListView)
        ret = ccall(("gtk_list_view_get_show_separators", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_single_click_activate(instance::GtkListView)
        ret = ccall(("gtk_list_view_get_single_click_activate", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_tab_behavior(instance::GtkListView)
        ret = ccall(("gtk_list_view_get_tab_behavior", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = ListTabBehavior(ret)
        ret2
    end
    function scroll_to(instance::GtkListView, _pos::Integer, _flags, _scroll::Maybe(GtkScrollInfo))
        _scroll_maybe = nothing_to_null(_scroll)
        ret = ccall(("gtk_list_view_scroll_to", libgtk4), Nothing, (Ptr{GObject}, UInt32, UInt32, Ptr{GtkScrollInfo}), instance, _pos, _flags, _scroll_maybe)
        nothing
    end
    function set_enable_rubberband(instance::GtkListView, _enable_rubberband::Bool)
        ret = ccall(("gtk_list_view_set_enable_rubberband", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _enable_rubberband)
        nothing
    end
    function set_factory(instance::GtkListView, _factory::Maybe(GtkListItemFactory))
        _factory_maybe = nothing_to_null(_factory)
        ret = ccall(("gtk_list_view_set_factory", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _factory_maybe)
        nothing
    end
    function set_header_factory(instance::GtkListView, _factory::Maybe(GtkListItemFactory))
        _factory_maybe = nothing_to_null(_factory)
        ret = ccall(("gtk_list_view_set_header_factory", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _factory_maybe)
        nothing
    end
    function set_model(instance::GtkListView, _model::Maybe(GtkSelectionModel))
        _model_maybe = nothing_to_null(_model)
        ret = ccall(("gtk_list_view_set_model", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _model_maybe)
        nothing
    end
    function set_show_separators(instance::GtkListView, _show_separators::Bool)
        ret = ccall(("gtk_list_view_set_show_separators", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _show_separators)
        nothing
    end
    function set_single_click_activate(instance::GtkListView, _single_click_activate::Bool)
        ret = ccall(("gtk_list_view_set_single_click_activate", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _single_click_activate)
        nothing
    end
    function set_tab_behavior(instance::GtkListView, _tab_behavior)
        ret = ccall(("gtk_list_view_set_tab_behavior", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _tab_behavior)
        nothing
    end
    function announce(instance::GtkListView, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkListView)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkListView)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkListView)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkListView)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkListView)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkListView)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkListView, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkListView, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkListView, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkListView, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkListView, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkListView, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkListView, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkListView, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkListView, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkListView)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_orientation(instance::GtkListView)
        get_orientation(GtkOrientable(instance))
    end
    function set_orientation(instance::GtkListView, _orientation)
        set_orientation(GtkOrientable(instance), _orientation)
    end
    function get_border(instance::GtkListView)
        get_border(GtkScrollable(instance))
    end
    function get_hadjustment(instance::GtkListView)
        get_hadjustment(GtkScrollable(instance))
    end
    function get_hscroll_policy(instance::GtkListView)
        get_hscroll_policy(GtkScrollable(instance))
    end
    function get_vadjustment(instance::GtkListView)
        get_vadjustment(GtkScrollable(instance))
    end
    function get_vscroll_policy(instance::GtkListView)
        get_vscroll_policy(GtkScrollable(instance))
    end
    function set_hadjustment(instance::GtkListView, _hadjustment::Maybe(GtkAdjustment))
        set_hadjustment(GtkScrollable(instance), _hadjustment)
    end
    function set_hscroll_policy(instance::GtkListView, _policy)
        set_hscroll_policy(GtkScrollable(instance), _policy)
    end
    function set_vadjustment(instance::GtkListView, _vadjustment::Maybe(GtkAdjustment))
        set_vadjustment(GtkScrollable(instance), _vadjustment)
    end
    function set_vscroll_policy(instance::GtkListView, _policy)
        set_vscroll_policy(GtkScrollable(instance), _policy)
    end
    function LockButton_new(_permission::Maybe(GPermission))
        _permission_maybe = nothing_to_null(_permission)
        ret = ccall(("gtk_lock_button_new", libgtk4), Ptr{GObject}, (Ptr{GObject},), _permission_maybe)
        ret2 = GtkLockButtonLeaf(ret, false)
        ret2
    end
    function get_permission(instance::GtkLockButton)
        ret = ccall(("gtk_lock_button_get_permission", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GPermission, ret, false)
        ret2
    end
    function set_permission(instance::GtkLockButton, _permission::Maybe(GPermission))
        _permission_maybe = nothing_to_null(_permission)
        ret = ccall(("gtk_lock_button_set_permission", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _permission_maybe)
        nothing
    end
    function announce(instance::GtkLockButton, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkLockButton)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkLockButton)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkLockButton)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkLockButton)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkLockButton)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkLockButton)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkLockButton, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkLockButton, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkLockButton, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkLockButton, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkLockButton, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkLockButton, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkLockButton, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkLockButton, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkLockButton, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_action_name(instance::GtkLockButton)
        get_action_name(GtkActionable(instance))
    end
    function get_action_target_value(instance::GtkLockButton)
        get_action_target_value(GtkActionable(instance))
    end
    function set_action_name(instance::GtkLockButton, _action_name::Maybe(Union{AbstractString, Symbol}))
        set_action_name(GtkActionable(instance), _action_name)
    end
    function set_action_target_value(instance::GtkLockButton, _target_value::Maybe(GVariant))
        set_action_target_value(GtkActionable(instance), _target_value)
    end
    function set_detailed_action_name(instance::GtkLockButton, _detailed_action_name::Union{AbstractString, Symbol})
        set_detailed_action_name(GtkActionable(instance), _detailed_action_name)
    end
    function get_buildable_id(instance::GtkLockButton)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_model(instance::GtkMapListModel)
        ret = ccall(("gtk_map_list_model_get_model", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, false)
        ret2
    end
    function has_map(instance::GtkMapListModel)
        ret = ccall(("gtk_map_list_model_has_map", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_model(instance::GtkMapListModel, _model::Maybe(GListModel))
        _model_maybe = nothing_to_null(_model)
        ret = ccall(("gtk_map_list_model_set_model", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _model_maybe)
        nothing
    end
    function get_item_type(instance::GtkMapListModel)
        get_item_type(GListModel(instance))
    end
    function get_n_items(instance::GtkMapListModel)
        get_n_items(GListModel(instance))
    end
    function get_item(instance::GtkMapListModel, _position::Integer)
        get_item(GListModel(instance), _position)
    end
    function items_changed(instance::GtkMapListModel, _position::Integer, _removed::Integer, _added::Integer)
        items_changed(GListModel(instance), _position, _removed, _added)
    end
    function get_section(instance::GtkMapListModel, _position::Integer)
        get_section(GtkSectionModel(instance), _position)
    end
    function sections_changed(instance::GtkMapListModel, _position::Integer, _n_items::Integer)
        sections_changed(GtkSectionModel(instance), _position, _n_items)
    end
    function MediaControls_new(_stream::Maybe(GtkMediaStream))
        _stream_maybe = nothing_to_null(_stream)
        ret = ccall(("gtk_media_controls_new", libgtk4), Ptr{GObject}, (Ptr{GObject},), _stream_maybe)
        ret2 = GtkMediaControlsLeaf(ret, false)
        ret2
    end
    function get_media_stream(instance::GtkMediaControls)
        ret = ccall(("gtk_media_controls_get_media_stream", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkMediaStream, ret, false)
        ret2
    end
    function set_media_stream(instance::GtkMediaControls, _stream::Maybe(GtkMediaStream))
        _stream_maybe = nothing_to_null(_stream)
        ret = ccall(("gtk_media_controls_set_media_stream", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _stream_maybe)
        nothing
    end
    function announce(instance::GtkMediaControls, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkMediaControls)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkMediaControls)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkMediaControls)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkMediaControls)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkMediaControls)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkMediaControls)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkMediaControls, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkMediaControls, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkMediaControls, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkMediaControls, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkMediaControls, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkMediaControls, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkMediaControls, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkMediaControls, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkMediaControls, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkMediaControls)
        get_buildable_id(GtkBuildable(instance))
    end
    function MediaFile_new()
        ret = ccall(("gtk_media_file_new", libgtk4), Ptr{GObject}, ())
        ret2 = convert(GtkMediaFile, ret, true)
        ret2
    end
    function MediaFile_new_for_file(_file::GFile)
        ret = ccall(("gtk_media_file_new_for_file", libgtk4), Ptr{GObject}, (Ptr{GObject},), _file)
        ret2 = convert(GtkMediaFile, ret, true)
        ret2
    end
    function MediaFile_new_for_filename(_filename::Union{AbstractString, Symbol})
        ret = ccall(("gtk_media_file_new_for_filename", libgtk4), Ptr{GObject}, (Cstring,), _filename)
        ret2 = convert(GtkMediaFile, ret, true)
        ret2
    end
    function MediaFile_new_for_input_stream(_stream::GInputStream)
        ret = ccall(("gtk_media_file_new_for_input_stream", libgtk4), Ptr{GObject}, (Ptr{GObject},), _stream)
        ret2 = convert(GtkMediaFile, ret, true)
        ret2
    end
    function MediaFile_new_for_resource(_resource_path::Union{AbstractString, Symbol})
        ret = ccall(("gtk_media_file_new_for_resource", libgtk4), Ptr{GObject}, (Cstring,), _resource_path)
        ret2 = convert(GtkMediaFile, ret, true)
        ret2
    end
    function clear(instance::GtkMediaFile)
        ret = ccall(("gtk_media_file_clear", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function get_file(instance::GtkMediaFile)
        ret = ccall(("gtk_media_file_get_file", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, false)
        ret2
    end
    function get_input_stream(instance::GtkMediaFile)
        ret = ccall(("gtk_media_file_get_input_stream", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GInputStream, ret, false)
        ret2
    end
    function set_file(instance::GtkMediaFile, _file::Maybe(GFile))
        _file_maybe = nothing_to_null(_file)
        ret = ccall(("gtk_media_file_set_file", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _file_maybe)
        nothing
    end
    function set_filename(instance::GtkMediaFile, _filename::Maybe(Union{AbstractString, Symbol}))
        _filename_maybe = nothing_to_null(_filename)
        ret = ccall(("gtk_media_file_set_filename", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _filename_maybe)
        nothing
    end
    function set_input_stream(instance::GtkMediaFile, _stream::Maybe(GInputStream))
        _stream_maybe = nothing_to_null(_stream)
        ret = ccall(("gtk_media_file_set_input_stream", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _stream_maybe)
        nothing
    end
    function set_resource(instance::GtkMediaFile, _resource_path::Maybe(Union{AbstractString, Symbol}))
        _resource_path_maybe = nothing_to_null(_resource_path)
        ret = ccall(("gtk_media_file_set_resource", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _resource_path_maybe)
        nothing
    end
    function compute_concrete_size(instance::GtkMediaFile, _specified_width::Real, _specified_height::Real, _default_width::Real, _default_height::Real)
        compute_concrete_size(GdkPaintable(instance), _specified_width, _specified_height, _default_width, _default_height)
    end
    function get_current_image(instance::GtkMediaFile)
        get_current_image(GdkPaintable(instance))
    end
    function get_flags(instance::GtkMediaFile)
        get_flags(GdkPaintable(instance))
    end
    function get_intrinsic_aspect_ratio(instance::GtkMediaFile)
        get_intrinsic_aspect_ratio(GdkPaintable(instance))
    end
    function get_intrinsic_height(instance::GtkMediaFile)
        get_intrinsic_height(GdkPaintable(instance))
    end
    function get_intrinsic_width(instance::GtkMediaFile)
        get_intrinsic_width(GdkPaintable(instance))
    end
    function invalidate_contents(instance::GtkMediaFile)
        invalidate_contents(GdkPaintable(instance))
    end
    function invalidate_size(instance::GtkMediaFile)
        invalidate_size(GdkPaintable(instance))
    end
    function snapshot(instance::GtkMediaFile, _snapshot::GdkSnapshot, _width::Real, _height::Real)
        snapshot(GdkPaintable(instance), _snapshot, _width, _height)
    end
    function gerror(instance::GtkMediaStream, _error)
        ret = ccall(("gtk_media_stream_gerror", libgtk4), Nothing, (Ptr{GObject}, Ptr{GError}), instance, _error)
        nothing
    end
    function get_duration(instance::GtkMediaStream)
        ret = ccall(("gtk_media_stream_get_duration", libgtk4), Int64, (Ptr{GObject},), instance)
        ret
    end
    function get_ended(instance::GtkMediaStream)
        ret = ccall(("gtk_media_stream_get_ended", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_error(instance::GtkMediaStream)
        ret = ccall(("gtk_media_stream_get_error", libgtk4), Ptr{GError}, (Ptr{GObject},), instance)
        ret
    end
    function get_loop(instance::GtkMediaStream)
        ret = ccall(("gtk_media_stream_get_loop", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_muted(instance::GtkMediaStream)
        ret = ccall(("gtk_media_stream_get_muted", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_playing(instance::GtkMediaStream)
        ret = ccall(("gtk_media_stream_get_playing", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_timestamp(instance::GtkMediaStream)
        ret = ccall(("gtk_media_stream_get_timestamp", libgtk4), Int64, (Ptr{GObject},), instance)
        ret
    end
    function get_volume(instance::GtkMediaStream)
        ret = ccall(("gtk_media_stream_get_volume", libgtk4), Float64, (Ptr{GObject},), instance)
        ret
    end
    function has_audio(instance::GtkMediaStream)
        ret = ccall(("gtk_media_stream_has_audio", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function has_video(instance::GtkMediaStream)
        ret = ccall(("gtk_media_stream_has_video", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function is_prepared(instance::GtkMediaStream)
        ret = ccall(("gtk_media_stream_is_prepared", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function is_seekable(instance::GtkMediaStream)
        ret = ccall(("gtk_media_stream_is_seekable", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function is_seeking(instance::GtkMediaStream)
        ret = ccall(("gtk_media_stream_is_seeking", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function pause(instance::GtkMediaStream)
        ret = ccall(("gtk_media_stream_pause", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function play(instance::GtkMediaStream)
        ret = ccall(("gtk_media_stream_play", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function realize(instance::GtkMediaStream, _surface::GdkSurface)
        ret = ccall(("gtk_media_stream_realize", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _surface)
        nothing
    end
    function seek(instance::GtkMediaStream, _timestamp::Integer)
        ret = ccall(("gtk_media_stream_seek", libgtk4), Nothing, (Ptr{GObject}, Int64), instance, _timestamp)
        nothing
    end
    function seek_failed(instance::GtkMediaStream)
        ret = ccall(("gtk_media_stream_seek_failed", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function seek_success(instance::GtkMediaStream)
        ret = ccall(("gtk_media_stream_seek_success", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function set_loop(instance::GtkMediaStream, _loop::Bool)
        ret = ccall(("gtk_media_stream_set_loop", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _loop)
        nothing
    end
    function set_muted(instance::GtkMediaStream, _muted::Bool)
        ret = ccall(("gtk_media_stream_set_muted", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _muted)
        nothing
    end
    function set_playing(instance::GtkMediaStream, _playing::Bool)
        ret = ccall(("gtk_media_stream_set_playing", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _playing)
        nothing
    end
    function set_volume(instance::GtkMediaStream, _volume::Real)
        ret = ccall(("gtk_media_stream_set_volume", libgtk4), Nothing, (Ptr{GObject}, Float64), instance, _volume)
        nothing
    end
    function stream_ended(instance::GtkMediaStream)
        ret = ccall(("gtk_media_stream_stream_ended", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function stream_prepared(instance::GtkMediaStream, _has_audio::Bool, _has_video::Bool, _seekable::Bool, _duration::Integer)
        ret = ccall(("gtk_media_stream_stream_prepared", libgtk4), Nothing, (Ptr{GObject}, Cint, Cint, Cint, Int64), instance, _has_audio, _has_video, _seekable, _duration)
        nothing
    end
    function stream_unprepared(instance::GtkMediaStream)
        ret = ccall(("gtk_media_stream_stream_unprepared", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function unrealize(instance::GtkMediaStream, _surface::GdkSurface)
        ret = ccall(("gtk_media_stream_unrealize", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _surface)
        nothing
    end
    function update(instance::GtkMediaStream, _timestamp::Integer)
        ret = ccall(("gtk_media_stream_update", libgtk4), Nothing, (Ptr{GObject}, Int64), instance, _timestamp)
        nothing
    end
    function compute_concrete_size(instance::GtkMediaStream, _specified_width::Real, _specified_height::Real, _default_width::Real, _default_height::Real)
        compute_concrete_size(GdkPaintable(instance), _specified_width, _specified_height, _default_width, _default_height)
    end
    function get_current_image(instance::GtkMediaStream)
        get_current_image(GdkPaintable(instance))
    end
    function get_flags(instance::GtkMediaStream)
        get_flags(GdkPaintable(instance))
    end
    function get_intrinsic_aspect_ratio(instance::GtkMediaStream)
        get_intrinsic_aspect_ratio(GdkPaintable(instance))
    end
    function get_intrinsic_height(instance::GtkMediaStream)
        get_intrinsic_height(GdkPaintable(instance))
    end
    function get_intrinsic_width(instance::GtkMediaStream)
        get_intrinsic_width(GdkPaintable(instance))
    end
    function invalidate_contents(instance::GtkMediaStream)
        invalidate_contents(GdkPaintable(instance))
    end
    function invalidate_size(instance::GtkMediaStream)
        invalidate_size(GdkPaintable(instance))
    end
    function snapshot(instance::GtkMediaStream, _snapshot::GdkSnapshot, _width::Real, _height::Real)
        snapshot(GdkPaintable(instance), _snapshot, _width, _height)
    end
    function MenuButton_new()
        ret = ccall(("gtk_menu_button_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkMenuButtonLeaf(ret, false)
        ret2
    end
    function get_active(instance::GtkMenuButton)
        ret = ccall(("gtk_menu_button_get_active", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_always_show_arrow(instance::GtkMenuButton)
        ret = ccall(("gtk_menu_button_get_always_show_arrow", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_can_shrink(instance::GtkMenuButton)
        ret = ccall(("gtk_menu_button_get_can_shrink", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_child(instance::GtkMenuButton)
        ret = ccall(("gtk_menu_button_get_child", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_direction(instance::GtkMenuButton)
        ret = ccall(("gtk_menu_button_get_direction", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = ArrowType(ret)
        ret2
    end
    function get_has_frame(instance::GtkMenuButton)
        ret = ccall(("gtk_menu_button_get_has_frame", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_icon_name(instance::GtkMenuButton)
        ret = ccall(("gtk_menu_button_get_icon_name", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_label(instance::GtkMenuButton)
        ret = ccall(("gtk_menu_button_get_label", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_menu_model(instance::GtkMenuButton)
        ret = ccall(("gtk_menu_button_get_menu_model", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GMenuModel, ret, false)
        ret2
    end
    function get_popover(instance::GtkMenuButton)
        ret = ccall(("gtk_menu_button_get_popover", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkPopover, ret, false)
        ret2
    end
    function get_primary(instance::GtkMenuButton)
        ret = ccall(("gtk_menu_button_get_primary", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_use_underline(instance::GtkMenuButton)
        ret = ccall(("gtk_menu_button_get_use_underline", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function popdown(instance::GtkMenuButton)
        ret = ccall(("gtk_menu_button_popdown", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function popup(instance::GtkMenuButton)
        ret = ccall(("gtk_menu_button_popup", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function set_active(instance::GtkMenuButton, _active::Bool)
        ret = ccall(("gtk_menu_button_set_active", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _active)
        nothing
    end
    function set_always_show_arrow(instance::GtkMenuButton, _always_show_arrow::Bool)
        ret = ccall(("gtk_menu_button_set_always_show_arrow", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _always_show_arrow)
        nothing
    end
    function set_can_shrink(instance::GtkMenuButton, _can_shrink::Bool)
        ret = ccall(("gtk_menu_button_set_can_shrink", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _can_shrink)
        nothing
    end
    function set_child(instance::GtkMenuButton, _child::Maybe(GtkWidget))
        _child_maybe = nothing_to_null(_child)
        ret = ccall(("gtk_menu_button_set_child", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child_maybe)
        nothing
    end
    function set_direction(instance::GtkMenuButton, _direction)
        ret = ccall(("gtk_menu_button_set_direction", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _direction)
        nothing
    end
    function set_has_frame(instance::GtkMenuButton, _has_frame::Bool)
        ret = ccall(("gtk_menu_button_set_has_frame", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _has_frame)
        nothing
    end
    function set_icon_name(instance::GtkMenuButton, _icon_name::Union{AbstractString, Symbol})
        ret = ccall(("gtk_menu_button_set_icon_name", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _icon_name)
        nothing
    end
    function set_label(instance::GtkMenuButton, _label::Union{AbstractString, Symbol})
        ret = ccall(("gtk_menu_button_set_label", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _label)
        nothing
    end
    function set_menu_model(instance::GtkMenuButton, _menu_model::Maybe(GMenuModel))
        _menu_model_maybe = nothing_to_null(_menu_model)
        ret = ccall(("gtk_menu_button_set_menu_model", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _menu_model_maybe)
        nothing
    end
    function set_popover(instance::GtkMenuButton, _popover::Maybe(GtkWidget))
        _popover_maybe = nothing_to_null(_popover)
        ret = ccall(("gtk_menu_button_set_popover", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _popover_maybe)
        nothing
    end
    function set_primary(instance::GtkMenuButton, _primary::Bool)
        ret = ccall(("gtk_menu_button_set_primary", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _primary)
        nothing
    end
    function set_use_underline(instance::GtkMenuButton, _use_underline::Bool)
        ret = ccall(("gtk_menu_button_set_use_underline", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _use_underline)
        nothing
    end
    function announce(instance::GtkMenuButton, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkMenuButton)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkMenuButton)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkMenuButton)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkMenuButton)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkMenuButton)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkMenuButton)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkMenuButton, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkMenuButton, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkMenuButton, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkMenuButton, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkMenuButton, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkMenuButton, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkMenuButton, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkMenuButton, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkMenuButton, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkMenuButton)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_message_area(instance::GtkMessageDialog)
        ret = ccall(("gtk_message_dialog_get_message_area", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GtkWidget, ret, false)
        ret2
    end
    function set_markup(instance::GtkMessageDialog, _str::Union{AbstractString, Symbol})
        ret = ccall(("gtk_message_dialog_set_markup", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _str)
        nothing
    end
    function announce(instance::GtkMessageDialog, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkMessageDialog)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkMessageDialog)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkMessageDialog)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkMessageDialog)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkMessageDialog)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkMessageDialog)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkMessageDialog, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkMessageDialog, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkMessageDialog, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkMessageDialog, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkMessageDialog, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkMessageDialog, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkMessageDialog, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkMessageDialog, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkMessageDialog, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkMessageDialog)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_renderer(instance::GtkMessageDialog)
        get_renderer(GtkNative(instance))
    end
    function get_surface(instance::GtkMessageDialog)
        get_surface(GtkNative(instance))
    end
    function get_surface_transform(instance::GtkMessageDialog)
        get_surface_transform(GtkNative(instance))
    end
    function realize(instance::GtkMessageDialog)
        realize(GtkNative(instance))
    end
    function unrealize(instance::GtkMessageDialog)
        unrealize(GtkNative(instance))
    end
    function get_display(instance::GtkMessageDialog)
        get_display(GtkRoot(instance))
    end
    function get_focus(instance::GtkMessageDialog)
        get_focus(GtkRoot(instance))
    end
    function set_focus(instance::GtkMessageDialog, _focus::Maybe(GtkWidget))
        set_focus(GtkRoot(instance), _focus)
    end
    function MnemonicTrigger_new(_keyval::Integer)
        ret = ccall(("gtk_mnemonic_trigger_new", libgtk4), Ptr{GObject}, (UInt32,), _keyval)
        ret2 = GtkMnemonicTriggerLeaf(ret, true)
        ret2
    end
    function get_keyval(instance::GtkMnemonicTrigger)
        ret = ccall(("gtk_mnemonic_trigger_get_keyval", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function MountOperation_new(_parent::Maybe(GtkWindow))
        _parent_maybe = nothing_to_null(_parent)
        ret = ccall(("gtk_mount_operation_new", libgtk4), Ptr{GObject}, (Ptr{GObject},), _parent_maybe)
        ret2 = GtkMountOperationLeaf(ret, true)
        ret2
    end
    function get_display(instance::GtkMountOperation)
        ret = ccall(("gtk_mount_operation_get_display", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GdkDisplay, ret, false)
        ret2
    end
    function get_parent(instance::GtkMountOperation)
        ret = ccall(("gtk_mount_operation_get_parent", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWindow, ret, false)
        ret2
    end
    function is_showing(instance::GtkMountOperation)
        ret = ccall(("gtk_mount_operation_is_showing", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_display(instance::GtkMountOperation, _display::GdkDisplay)
        ret = ccall(("gtk_mount_operation_set_display", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _display)
        nothing
    end
    function set_parent(instance::GtkMountOperation, _parent::Maybe(GtkWindow))
        _parent_maybe = nothing_to_null(_parent)
        ret = ccall(("gtk_mount_operation_set_parent", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _parent_maybe)
        nothing
    end
    function append(instance::GtkMultiFilter, _filter::GtkFilter)
        _filter = GLib.glib_ref(_filter)
        ret = ccall(("gtk_multi_filter_append", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _filter)
        nothing
    end
    function remove(instance::GtkMultiFilter, _position::Integer)
        ret = ccall(("gtk_multi_filter_remove", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _position)
        nothing
    end
    function get_item_type(instance::GtkMultiFilter)
        get_item_type(GListModel(instance))
    end
    function get_n_items(instance::GtkMultiFilter)
        get_n_items(GListModel(instance))
    end
    function get_item(instance::GtkMultiFilter, _position::Integer)
        get_item(GListModel(instance), _position)
    end
    function items_changed(instance::GtkMultiFilter, _position::Integer, _removed::Integer, _added::Integer)
        items_changed(GListModel(instance), _position, _removed, _added)
    end
    function get_buildable_id(instance::GtkMultiFilter)
        get_buildable_id(GtkBuildable(instance))
    end
    function MultiSelection_new(_model::Maybe(GListModel))
        _model_maybe = begin
                if _model !== nothing
                    GLib.glib_ref(_model)
                end
                nothing_to_null(_model)
            end
        ret = ccall(("gtk_multi_selection_new", libgtk4), Ptr{GObject}, (Ptr{GObject},), _model_maybe)
        ret2 = GtkMultiSelectionLeaf(ret, true)
        ret2
    end
    function get_model(instance::GtkMultiSelection)
        ret = ccall(("gtk_multi_selection_get_model", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, false)
        ret2
    end
    function set_model(instance::GtkMultiSelection, _model::Maybe(GListModel))
        _model_maybe = nothing_to_null(_model)
        ret = ccall(("gtk_multi_selection_set_model", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _model_maybe)
        nothing
    end
    function get_item_type(instance::GtkMultiSelection)
        get_item_type(GListModel(instance))
    end
    function get_n_items(instance::GtkMultiSelection)
        get_n_items(GListModel(instance))
    end
    function get_item(instance::GtkMultiSelection, _position::Integer)
        get_item(GListModel(instance), _position)
    end
    function items_changed(instance::GtkMultiSelection, _position::Integer, _removed::Integer, _added::Integer)
        items_changed(GListModel(instance), _position, _removed, _added)
    end
    function get_section(instance::GtkMultiSelection, _position::Integer)
        get_section(GtkSectionModel(instance), _position)
    end
    function sections_changed(instance::GtkMultiSelection, _position::Integer, _n_items::Integer)
        sections_changed(GtkSectionModel(instance), _position, _n_items)
    end
    function get_selection(instance::GtkMultiSelection)
        get_selection(GtkSelectionModel(instance))
    end
    function get_selection_in_range(instance::GtkMultiSelection, _position::Integer, _n_items::Integer)
        get_selection_in_range(GtkSelectionModel(instance), _position, _n_items)
    end
    function is_selected(instance::GtkMultiSelection, _position::Integer)
        is_selected(GtkSelectionModel(instance), _position)
    end
    function select_all(instance::GtkMultiSelection)
        select_all(GtkSelectionModel(instance))
    end
    function select_item(instance::GtkMultiSelection, _position::Integer, _unselect_rest::Bool)
        select_item(GtkSelectionModel(instance), _position, _unselect_rest)
    end
    function select_range(instance::GtkMultiSelection, _position::Integer, _n_items::Integer, _unselect_rest::Bool)
        select_range(GtkSelectionModel(instance), _position, _n_items, _unselect_rest)
    end
    function selection_changed(instance::GtkMultiSelection, _position::Integer, _n_items::Integer)
        selection_changed(GtkSelectionModel(instance), _position, _n_items)
    end
    function set_selection(instance::GtkMultiSelection, _selected::GtkBitset, _mask::GtkBitset)
        set_selection(GtkSelectionModel(instance), _selected, _mask)
    end
    function unselect_all(instance::GtkMultiSelection)
        unselect_all(GtkSelectionModel(instance))
    end
    function unselect_item(instance::GtkMultiSelection, _position::Integer)
        unselect_item(GtkSelectionModel(instance), _position)
    end
    function unselect_range(instance::GtkMultiSelection, _position::Integer, _n_items::Integer)
        unselect_range(GtkSelectionModel(instance), _position, _n_items)
    end
    function MultiSorter_new()
        ret = ccall(("gtk_multi_sorter_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkMultiSorterLeaf(ret, true)
        ret2
    end
    function append(instance::GtkMultiSorter, _sorter::GtkSorter)
        _sorter = GLib.glib_ref(_sorter)
        ret = ccall(("gtk_multi_sorter_append", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _sorter)
        nothing
    end
    function remove(instance::GtkMultiSorter, _position::Integer)
        ret = ccall(("gtk_multi_sorter_remove", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _position)
        nothing
    end
    function get_item_type(instance::GtkMultiSorter)
        get_item_type(GListModel(instance))
    end
    function get_n_items(instance::GtkMultiSorter)
        get_n_items(GListModel(instance))
    end
    function get_item(instance::GtkMultiSorter, _position::Integer)
        get_item(GListModel(instance), _position)
    end
    function items_changed(instance::GtkMultiSorter, _position::Integer, _removed::Integer, _added::Integer)
        items_changed(GListModel(instance), _position, _removed, _added)
    end
    function get_buildable_id(instance::GtkMultiSorter)
        get_buildable_id(GtkBuildable(instance))
    end
    function NamedAction_new(_name::Union{AbstractString, Symbol})
        ret = ccall(("gtk_named_action_new", libgtk4), Ptr{GObject}, (Cstring,), _name)
        ret2 = GtkNamedActionLeaf(ret, true)
        ret2
    end
    function get_action_name(instance::GtkNamedAction)
        ret = ccall(("gtk_named_action_get_action_name", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function destroy(instance::GtkNativeDialog)
        ret = ccall(("gtk_native_dialog_destroy", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function get_modal(instance::GtkNativeDialog)
        ret = ccall(("gtk_native_dialog_get_modal", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_title(instance::GtkNativeDialog)
        ret = ccall(("gtk_native_dialog_get_title", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_transient_for(instance::GtkNativeDialog)
        ret = ccall(("gtk_native_dialog_get_transient_for", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWindow, ret, false)
        ret2
    end
    function get_visible(instance::GtkNativeDialog)
        ret = ccall(("gtk_native_dialog_get_visible", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function hide(instance::GtkNativeDialog)
        ret = ccall(("gtk_native_dialog_hide", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function set_modal(instance::GtkNativeDialog, _modal::Bool)
        ret = ccall(("gtk_native_dialog_set_modal", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _modal)
        nothing
    end
    function set_title(instance::GtkNativeDialog, _title::Union{AbstractString, Symbol})
        ret = ccall(("gtk_native_dialog_set_title", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _title)
        nothing
    end
    function set_transient_for(instance::GtkNativeDialog, _parent::Maybe(GtkWindow))
        _parent_maybe = nothing_to_null(_parent)
        ret = ccall(("gtk_native_dialog_set_transient_for", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _parent_maybe)
        nothing
    end
    function show(instance::GtkNativeDialog)
        ret = ccall(("gtk_native_dialog_show", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function NoSelection_new(_model::Maybe(GListModel))
        _model_maybe = begin
                if _model !== nothing
                    GLib.glib_ref(_model)
                end
                nothing_to_null(_model)
            end
        ret = ccall(("gtk_no_selection_new", libgtk4), Ptr{GObject}, (Ptr{GObject},), _model_maybe)
        ret2 = GtkNoSelectionLeaf(ret, true)
        ret2
    end
    function get_model(instance::GtkNoSelection)
        ret = ccall(("gtk_no_selection_get_model", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, false)
        ret2
    end
    function set_model(instance::GtkNoSelection, _model::Maybe(GListModel))
        _model_maybe = nothing_to_null(_model)
        ret = ccall(("gtk_no_selection_set_model", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _model_maybe)
        nothing
    end
    function get_item_type(instance::GtkNoSelection)
        get_item_type(GListModel(instance))
    end
    function get_n_items(instance::GtkNoSelection)
        get_n_items(GListModel(instance))
    end
    function get_item(instance::GtkNoSelection, _position::Integer)
        get_item(GListModel(instance), _position)
    end
    function items_changed(instance::GtkNoSelection, _position::Integer, _removed::Integer, _added::Integer)
        items_changed(GListModel(instance), _position, _removed, _added)
    end
    function get_section(instance::GtkNoSelection, _position::Integer)
        get_section(GtkSectionModel(instance), _position)
    end
    function sections_changed(instance::GtkNoSelection, _position::Integer, _n_items::Integer)
        sections_changed(GtkSectionModel(instance), _position, _n_items)
    end
    function get_selection(instance::GtkNoSelection)
        get_selection(GtkSelectionModel(instance))
    end
    function get_selection_in_range(instance::GtkNoSelection, _position::Integer, _n_items::Integer)
        get_selection_in_range(GtkSelectionModel(instance), _position, _n_items)
    end
    function is_selected(instance::GtkNoSelection, _position::Integer)
        is_selected(GtkSelectionModel(instance), _position)
    end
    function select_all(instance::GtkNoSelection)
        select_all(GtkSelectionModel(instance))
    end
    function select_item(instance::GtkNoSelection, _position::Integer, _unselect_rest::Bool)
        select_item(GtkSelectionModel(instance), _position, _unselect_rest)
    end
    function select_range(instance::GtkNoSelection, _position::Integer, _n_items::Integer, _unselect_rest::Bool)
        select_range(GtkSelectionModel(instance), _position, _n_items, _unselect_rest)
    end
    function selection_changed(instance::GtkNoSelection, _position::Integer, _n_items::Integer)
        selection_changed(GtkSelectionModel(instance), _position, _n_items)
    end
    function set_selection(instance::GtkNoSelection, _selected::GtkBitset, _mask::GtkBitset)
        set_selection(GtkSelectionModel(instance), _selected, _mask)
    end
    function unselect_all(instance::GtkNoSelection)
        unselect_all(GtkSelectionModel(instance))
    end
    function unselect_item(instance::GtkNoSelection, _position::Integer)
        unselect_item(GtkSelectionModel(instance), _position)
    end
    function unselect_range(instance::GtkNoSelection, _position::Integer, _n_items::Integer)
        unselect_range(GtkSelectionModel(instance), _position, _n_items)
    end
    function Notebook_new()
        ret = ccall(("gtk_notebook_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkNotebookLeaf(ret, false)
        ret2
    end
    function append_page(instance::GtkNotebook, _child::GtkWidget, _tab_label::Maybe(GtkWidget))
        _tab_label_maybe = nothing_to_null(_tab_label)
        ret = ccall(("gtk_notebook_append_page", libgtk4), Int32, (Ptr{GObject}, Ptr{GObject}, Ptr{GObject}), instance, _child, _tab_label_maybe)
        ret
    end
    function append_page_menu(instance::GtkNotebook, _child::GtkWidget, _tab_label::Maybe(GtkWidget), _menu_label::Maybe(GtkWidget))
        _tab_label_maybe = nothing_to_null(_tab_label)
        _menu_label_maybe = nothing_to_null(_menu_label)
        ret = ccall(("gtk_notebook_append_page_menu", libgtk4), Int32, (Ptr{GObject}, Ptr{GObject}, Ptr{GObject}, Ptr{GObject}), instance, _child, _tab_label_maybe, _menu_label_maybe)
        ret
    end
    function detach_tab(instance::GtkNotebook, _child::GtkWidget)
        ret = ccall(("gtk_notebook_detach_tab", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child)
        nothing
    end
    function get_action_widget(instance::GtkNotebook, _pack_type)
        ret = ccall(("gtk_notebook_get_action_widget", libgtk4), Ptr{GObject}, (Ptr{GObject}, UInt32), instance, _pack_type)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_current_page(instance::GtkNotebook)
        ret = ccall(("gtk_notebook_get_current_page", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_group_name(instance::GtkNotebook)
        ret = ccall(("gtk_notebook_get_group_name", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_menu_label(instance::GtkNotebook, _child::GtkWidget)
        ret = ccall(("gtk_notebook_get_menu_label", libgtk4), Ptr{GObject}, (Ptr{GObject}, Ptr{GObject}), instance, _child)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_menu_label_text(instance::GtkNotebook, _child::GtkWidget)
        ret = ccall(("gtk_notebook_get_menu_label_text", libgtk4), Cstring, (Ptr{GObject}, Ptr{GObject}), instance, _child)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_n_pages(instance::GtkNotebook)
        ret = ccall(("gtk_notebook_get_n_pages", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_nth_page(instance::GtkNotebook, _page_num::Integer)
        ret = ccall(("gtk_notebook_get_nth_page", libgtk4), Ptr{GObject}, (Ptr{GObject}, Int32), instance, _page_num)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_page(instance::GtkNotebook, _child::GtkWidget)
        ret = ccall(("gtk_notebook_get_page", libgtk4), Ptr{GObject}, (Ptr{GObject}, Ptr{GObject}), instance, _child)
        ret2 = convert(GtkNotebookPage, ret, false)
        ret2
    end
    function get_pages(instance::GtkNotebook)
        ret = ccall(("gtk_notebook_get_pages", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = begin
                leaftype = GLib.find_leaf_type(ret)
                convert(leaftype, ret, true)
            end
        ret2
    end
    function get_scrollable(instance::GtkNotebook)
        ret = ccall(("gtk_notebook_get_scrollable", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_show_border(instance::GtkNotebook)
        ret = ccall(("gtk_notebook_get_show_border", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_show_tabs(instance::GtkNotebook)
        ret = ccall(("gtk_notebook_get_show_tabs", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_tab_detachable(instance::GtkNotebook, _child::GtkWidget)
        ret = ccall(("gtk_notebook_get_tab_detachable", libgtk4), Cint, (Ptr{GObject}, Ptr{GObject}), instance, _child)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_tab_label(instance::GtkNotebook, _child::GtkWidget)
        ret = ccall(("gtk_notebook_get_tab_label", libgtk4), Ptr{GObject}, (Ptr{GObject}, Ptr{GObject}), instance, _child)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_tab_label_text(instance::GtkNotebook, _child::GtkWidget)
        ret = ccall(("gtk_notebook_get_tab_label_text", libgtk4), Cstring, (Ptr{GObject}, Ptr{GObject}), instance, _child)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_tab_pos(instance::GtkNotebook)
        ret = ccall(("gtk_notebook_get_tab_pos", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = PositionType(ret)
        ret2
    end
    function get_tab_reorderable(instance::GtkNotebook, _child::GtkWidget)
        ret = ccall(("gtk_notebook_get_tab_reorderable", libgtk4), Cint, (Ptr{GObject}, Ptr{GObject}), instance, _child)
        ret2 = convert(Bool, ret)
        ret2
    end
    function insert_page(instance::GtkNotebook, _child::GtkWidget, _tab_label::Maybe(GtkWidget), _position::Integer)
        _tab_label_maybe = nothing_to_null(_tab_label)
        ret = ccall(("gtk_notebook_insert_page", libgtk4), Int32, (Ptr{GObject}, Ptr{GObject}, Ptr{GObject}, Int32), instance, _child, _tab_label_maybe, _position)
        ret
    end
    function insert_page_menu(instance::GtkNotebook, _child::GtkWidget, _tab_label::Maybe(GtkWidget), _menu_label::Maybe(GtkWidget), _position::Integer)
        _tab_label_maybe = nothing_to_null(_tab_label)
        _menu_label_maybe = nothing_to_null(_menu_label)
        ret = ccall(("gtk_notebook_insert_page_menu", libgtk4), Int32, (Ptr{GObject}, Ptr{GObject}, Ptr{GObject}, Ptr{GObject}, Int32), instance, _child, _tab_label_maybe, _menu_label_maybe, _position)
        ret
    end
    function next_page(instance::GtkNotebook)
        ret = ccall(("gtk_notebook_next_page", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function page_num(instance::GtkNotebook, _child::GtkWidget)
        ret = ccall(("gtk_notebook_page_num", libgtk4), Int32, (Ptr{GObject}, Ptr{GObject}), instance, _child)
        ret
    end
    function popup_disable(instance::GtkNotebook)
        ret = ccall(("gtk_notebook_popup_disable", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function popup_enable(instance::GtkNotebook)
        ret = ccall(("gtk_notebook_popup_enable", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function prepend_page(instance::GtkNotebook, _child::GtkWidget, _tab_label::Maybe(GtkWidget))
        _tab_label_maybe = nothing_to_null(_tab_label)
        ret = ccall(("gtk_notebook_prepend_page", libgtk4), Int32, (Ptr{GObject}, Ptr{GObject}, Ptr{GObject}), instance, _child, _tab_label_maybe)
        ret
    end
    function prepend_page_menu(instance::GtkNotebook, _child::GtkWidget, _tab_label::Maybe(GtkWidget), _menu_label::Maybe(GtkWidget))
        _tab_label_maybe = nothing_to_null(_tab_label)
        _menu_label_maybe = nothing_to_null(_menu_label)
        ret = ccall(("gtk_notebook_prepend_page_menu", libgtk4), Int32, (Ptr{GObject}, Ptr{GObject}, Ptr{GObject}, Ptr{GObject}), instance, _child, _tab_label_maybe, _menu_label_maybe)
        ret
    end
    function prev_page(instance::GtkNotebook)
        ret = ccall(("gtk_notebook_prev_page", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function remove_page(instance::GtkNotebook, _page_num::Integer)
        ret = ccall(("gtk_notebook_remove_page", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _page_num)
        nothing
    end
    function reorder_child(instance::GtkNotebook, _child::GtkWidget, _position::Integer)
        ret = ccall(("gtk_notebook_reorder_child", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Int32), instance, _child, _position)
        nothing
    end
    function set_action_widget(instance::GtkNotebook, _widget::GtkWidget, _pack_type)
        ret = ccall(("gtk_notebook_set_action_widget", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, UInt32), instance, _widget, _pack_type)
        nothing
    end
    function set_current_page(instance::GtkNotebook, _page_num::Integer)
        ret = ccall(("gtk_notebook_set_current_page", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _page_num)
        nothing
    end
    function set_group_name(instance::GtkNotebook, _group_name::Maybe(Union{AbstractString, Symbol}))
        _group_name_maybe = nothing_to_null(_group_name)
        ret = ccall(("gtk_notebook_set_group_name", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _group_name_maybe)
        nothing
    end
    function set_menu_label(instance::GtkNotebook, _child::GtkWidget, _menu_label::Maybe(GtkWidget))
        _menu_label_maybe = nothing_to_null(_menu_label)
        ret = ccall(("gtk_notebook_set_menu_label", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{GObject}), instance, _child, _menu_label_maybe)
        nothing
    end
    function set_menu_label_text(instance::GtkNotebook, _child::GtkWidget, _menu_text::Union{AbstractString, Symbol})
        ret = ccall(("gtk_notebook_set_menu_label_text", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Cstring), instance, _child, _menu_text)
        nothing
    end
    function set_scrollable(instance::GtkNotebook, _scrollable::Bool)
        ret = ccall(("gtk_notebook_set_scrollable", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _scrollable)
        nothing
    end
    function set_show_border(instance::GtkNotebook, _show_border::Bool)
        ret = ccall(("gtk_notebook_set_show_border", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _show_border)
        nothing
    end
    function set_show_tabs(instance::GtkNotebook, _show_tabs::Bool)
        ret = ccall(("gtk_notebook_set_show_tabs", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _show_tabs)
        nothing
    end
    function set_tab_detachable(instance::GtkNotebook, _child::GtkWidget, _detachable::Bool)
        ret = ccall(("gtk_notebook_set_tab_detachable", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Cint), instance, _child, _detachable)
        nothing
    end
    function set_tab_label(instance::GtkNotebook, _child::GtkWidget, _tab_label::Maybe(GtkWidget))
        _tab_label_maybe = nothing_to_null(_tab_label)
        ret = ccall(("gtk_notebook_set_tab_label", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{GObject}), instance, _child, _tab_label_maybe)
        nothing
    end
    function set_tab_label_text(instance::GtkNotebook, _child::GtkWidget, _tab_text::Union{AbstractString, Symbol})
        ret = ccall(("gtk_notebook_set_tab_label_text", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Cstring), instance, _child, _tab_text)
        nothing
    end
    function set_tab_pos(instance::GtkNotebook, _pos)
        ret = ccall(("gtk_notebook_set_tab_pos", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _pos)
        nothing
    end
    function set_tab_reorderable(instance::GtkNotebook, _child::GtkWidget, _reorderable::Bool)
        ret = ccall(("gtk_notebook_set_tab_reorderable", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Cint), instance, _child, _reorderable)
        nothing
    end
    function announce(instance::GtkNotebook, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkNotebook)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkNotebook)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkNotebook)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkNotebook)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkNotebook)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkNotebook)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkNotebook, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkNotebook, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkNotebook, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkNotebook, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkNotebook, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkNotebook, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkNotebook, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkNotebook, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkNotebook, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkNotebook)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_child(instance::GtkNotebookPage)
        ret = ccall(("gtk_notebook_page_get_child", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GtkWidget, ret, false)
        ret2
    end
    function NumericSorter_new(_expression::Maybe(GtkExpression))
        _expression_maybe = nothing_to_null(_expression)
        ret = ccall(("gtk_numeric_sorter_new", libgtk4), Ptr{GObject}, (Ptr{GtkExpression},), _expression_maybe)
        ret2 = GtkNumericSorterLeaf(ret, true)
        ret2
    end
    function get_expression(instance::GtkNumericSorter)
        ret = ccall(("gtk_numeric_sorter_get_expression", libgtk4), Ptr{GtkExpression}, (Ptr{GObject},), instance)
        ret2 = convert(GtkExpression, ret)
        ret2
    end
    function get_sort_order(instance::GtkNumericSorter)
        ret = ccall(("gtk_numeric_sorter_get_sort_order", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = SortType(ret)
        ret2
    end
    function set_expression(instance::GtkNumericSorter, _expression::Maybe(GtkExpression))
        _expression_maybe = nothing_to_null(_expression)
        ret = ccall(("gtk_numeric_sorter_set_expression", libgtk4), Nothing, (Ptr{GObject}, Ptr{GtkExpression}), instance, _expression_maybe)
        nothing
    end
    function set_sort_order(instance::GtkNumericSorter, _sort_order)
        ret = ccall(("gtk_numeric_sorter_set_sort_order", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _sort_order)
        nothing
    end
    function ObjectExpression_new(_object::GObject)
        ret = ccall(("gtk_object_expression_new", libgtk4), Ptr{GtkExpression}, (Ptr{GObject},), _object)
        ret2 = convert(GtkExpression, ret)
        ret2
    end
    function get_object(instance::GtkObjectExpression)
        ret = ccall(("gtk_object_expression_get_object", libgtk4), Ptr{GObject}, (Ptr{GtkExpression},), instance)
        ret2 = convert_if_not_null(GObject, ret, false)
        ret2
    end
    function Overlay_new()
        ret = ccall(("gtk_overlay_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkOverlayLeaf(ret, false)
        ret2
    end
    function add_overlay(instance::GtkOverlay, _widget::GtkWidget)
        ret = ccall(("gtk_overlay_add_overlay", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _widget)
        nothing
    end
    function get_child(instance::GtkOverlay)
        ret = ccall(("gtk_overlay_get_child", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_clip_overlay(instance::GtkOverlay, _widget::GtkWidget)
        ret = ccall(("gtk_overlay_get_clip_overlay", libgtk4), Cint, (Ptr{GObject}, Ptr{GObject}), instance, _widget)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_measure_overlay(instance::GtkOverlay, _widget::GtkWidget)
        ret = ccall(("gtk_overlay_get_measure_overlay", libgtk4), Cint, (Ptr{GObject}, Ptr{GObject}), instance, _widget)
        ret2 = convert(Bool, ret)
        ret2
    end
    function remove_overlay(instance::GtkOverlay, _widget::GtkWidget)
        ret = ccall(("gtk_overlay_remove_overlay", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _widget)
        nothing
    end
    function set_child(instance::GtkOverlay, _child::Maybe(GtkWidget))
        _child_maybe = nothing_to_null(_child)
        ret = ccall(("gtk_overlay_set_child", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child_maybe)
        nothing
    end
    function set_clip_overlay(instance::GtkOverlay, _widget::GtkWidget, _clip_overlay::Bool)
        ret = ccall(("gtk_overlay_set_clip_overlay", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Cint), instance, _widget, _clip_overlay)
        nothing
    end
    function set_measure_overlay(instance::GtkOverlay, _widget::GtkWidget, _measure::Bool)
        ret = ccall(("gtk_overlay_set_measure_overlay", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Cint), instance, _widget, _measure)
        nothing
    end
    function announce(instance::GtkOverlay, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkOverlay)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkOverlay)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkOverlay)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkOverlay)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkOverlay)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkOverlay)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkOverlay, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkOverlay, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkOverlay, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkOverlay, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkOverlay, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkOverlay, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkOverlay, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkOverlay, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkOverlay, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkOverlay)
        get_buildable_id(GtkBuildable(instance))
    end
    function OverlayLayout_new()
        ret = ccall(("gtk_overlay_layout_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkOverlayLayoutLeaf(ret, true)
        ret2
    end
    function get_clip_overlay(instance::GtkOverlayLayoutChild)
        ret = ccall(("gtk_overlay_layout_child_get_clip_overlay", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_measure(instance::GtkOverlayLayoutChild)
        ret = ccall(("gtk_overlay_layout_child_get_measure", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_clip_overlay(instance::GtkOverlayLayoutChild, _clip_overlay::Bool)
        ret = ccall(("gtk_overlay_layout_child_set_clip_overlay", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _clip_overlay)
        nothing
    end
    function set_measure(instance::GtkOverlayLayoutChild, _measure::Bool)
        ret = ccall(("gtk_overlay_layout_child_set_measure", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _measure)
        nothing
    end
    function PadController_new(_group::GActionGroup, _pad::Maybe(GdkDevice))
        _pad_maybe = nothing_to_null(_pad)
        ret = ccall(("gtk_pad_controller_new", libgtk4), Ptr{GObject}, (Ptr{GObject}, Ptr{GObject}), _group, _pad_maybe)
        ret2 = GtkPadControllerLeaf(ret, true)
        ret2
    end
    function set_action(instance::GtkPadController, _type, _index::Integer, _mode::Integer, _label::Union{AbstractString, Symbol}, _action_name::Union{AbstractString, Symbol})
        ret = ccall(("gtk_pad_controller_set_action", libgtk4), Nothing, (Ptr{GObject}, UInt32, Int32, Int32, Cstring, Cstring), instance, _type, _index, _mode, _label, _action_name)
        nothing
    end
    function set_action_entries(instance::GtkPadController, _entries)
        _entries_arr = convert(Vector{_GtkPadActionEntry}, _entries)
        _n_entries = length(_entries)
        ret = ccall(("gtk_pad_controller_set_action_entries", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkPadActionEntry}, Int32), instance, _entries_arr, _n_entries)
        nothing
    end
    function PageSetup_new()
        ret = ccall(("gtk_page_setup_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkPageSetupLeaf(ret, true)
        ret2
    end
    function PageSetup_new_from_file(_file_name::Union{AbstractString, Symbol})
        err = err_buf()
        ret = ccall(("gtk_page_setup_new_from_file", libgtk4), Ptr{GObject}, (Cstring, Ptr{Ptr{GError}}), _file_name, err)
        check_err(err)
        ret2 = GtkPageSetupLeaf(ret, true)
        ret2
    end
    function PageSetup_new_from_gvariant(_variant::GVariant)
        ret = ccall(("gtk_page_setup_new_from_gvariant", libgtk4), Ptr{GObject}, (Ptr{GVariant},), _variant)
        ret2 = GtkPageSetupLeaf(ret, true)
        ret2
    end
    function PageSetup_new_from_key_file(_key_file::GKeyFile, _group_name::Maybe(Union{AbstractString, Symbol}))
        _group_name_maybe = nothing_to_null(_group_name)
        err = err_buf()
        ret = ccall(("gtk_page_setup_new_from_key_file", libgtk4), Ptr{GObject}, (Ptr{GKeyFile}, Cstring, Ptr{Ptr{GError}}), _key_file, _group_name_maybe, err)
        check_err(err)
        ret2 = GtkPageSetupLeaf(ret, true)
        ret2
    end
    function copy(instance::GtkPageSetup)
        ret = ccall(("gtk_page_setup_copy", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GtkPageSetup, ret, true)
        ret2
    end
    function get_bottom_margin(instance::GtkPageSetup, _unit)
        ret = ccall(("gtk_page_setup_get_bottom_margin", libgtk4), Float64, (Ptr{GObject}, UInt32), instance, _unit)
        ret
    end
    function get_left_margin(instance::GtkPageSetup, _unit)
        ret = ccall(("gtk_page_setup_get_left_margin", libgtk4), Float64, (Ptr{GObject}, UInt32), instance, _unit)
        ret
    end
    function get_orientation(instance::GtkPageSetup)
        ret = ccall(("gtk_page_setup_get_orientation", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = PageOrientation(ret)
        ret2
    end
    function get_page_height(instance::GtkPageSetup, _unit)
        ret = ccall(("gtk_page_setup_get_page_height", libgtk4), Float64, (Ptr{GObject}, UInt32), instance, _unit)
        ret
    end
    function get_page_width(instance::GtkPageSetup, _unit)
        ret = ccall(("gtk_page_setup_get_page_width", libgtk4), Float64, (Ptr{GObject}, UInt32), instance, _unit)
        ret
    end
    function get_paper_height(instance::GtkPageSetup, _unit)
        ret = ccall(("gtk_page_setup_get_paper_height", libgtk4), Float64, (Ptr{GObject}, UInt32), instance, _unit)
        ret
    end
    function get_paper_size(instance::GtkPageSetup)
        ret = ccall(("gtk_page_setup_get_paper_size", libgtk4), Ptr{GtkPaperSize}, (Ptr{GObject},), instance)
        ret2 = convert(GtkPaperSize, ret, false)
        ret2
    end
    function get_paper_width(instance::GtkPageSetup, _unit)
        ret = ccall(("gtk_page_setup_get_paper_width", libgtk4), Float64, (Ptr{GObject}, UInt32), instance, _unit)
        ret
    end
    function get_right_margin(instance::GtkPageSetup, _unit)
        ret = ccall(("gtk_page_setup_get_right_margin", libgtk4), Float64, (Ptr{GObject}, UInt32), instance, _unit)
        ret
    end
    function get_top_margin(instance::GtkPageSetup, _unit)
        ret = ccall(("gtk_page_setup_get_top_margin", libgtk4), Float64, (Ptr{GObject}, UInt32), instance, _unit)
        ret
    end
    function load_file(instance::GtkPageSetup, _file_name::Union{AbstractString, Symbol})
        err = err_buf()
        ret = ccall(("gtk_page_setup_load_file", libgtk4), Cint, (Ptr{GObject}, Cstring, Ptr{Ptr{GError}}), instance, _file_name, err)
        check_err(err)
        ret2 = convert(Bool, ret)
        ret2
    end
    function load_key_file(instance::GtkPageSetup, _key_file::GKeyFile, _group_name::Maybe(Union{AbstractString, Symbol}))
        _group_name_maybe = nothing_to_null(_group_name)
        err = err_buf()
        ret = ccall(("gtk_page_setup_load_key_file", libgtk4), Cint, (Ptr{GObject}, Ptr{GKeyFile}, Cstring, Ptr{Ptr{GError}}), instance, _key_file, _group_name_maybe, err)
        check_err(err)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_bottom_margin(instance::GtkPageSetup, _margin::Real, _unit)
        ret = ccall(("gtk_page_setup_set_bottom_margin", libgtk4), Nothing, (Ptr{GObject}, Float64, UInt32), instance, _margin, _unit)
        nothing
    end
    function set_left_margin(instance::GtkPageSetup, _margin::Real, _unit)
        ret = ccall(("gtk_page_setup_set_left_margin", libgtk4), Nothing, (Ptr{GObject}, Float64, UInt32), instance, _margin, _unit)
        nothing
    end
    function set_orientation(instance::GtkPageSetup, _orientation)
        ret = ccall(("gtk_page_setup_set_orientation", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _orientation)
        nothing
    end
    function set_paper_size(instance::GtkPageSetup, _size::GtkPaperSize)
        ret = ccall(("gtk_page_setup_set_paper_size", libgtk4), Nothing, (Ptr{GObject}, Ptr{GtkPaperSize}), instance, _size)
        nothing
    end
    function set_paper_size_and_default_margins(instance::GtkPageSetup, _size::GtkPaperSize)
        ret = ccall(("gtk_page_setup_set_paper_size_and_default_margins", libgtk4), Nothing, (Ptr{GObject}, Ptr{GtkPaperSize}), instance, _size)
        nothing
    end
    function set_right_margin(instance::GtkPageSetup, _margin::Real, _unit)
        ret = ccall(("gtk_page_setup_set_right_margin", libgtk4), Nothing, (Ptr{GObject}, Float64, UInt32), instance, _margin, _unit)
        nothing
    end
    function set_top_margin(instance::GtkPageSetup, _margin::Real, _unit)
        ret = ccall(("gtk_page_setup_set_top_margin", libgtk4), Nothing, (Ptr{GObject}, Float64, UInt32), instance, _margin, _unit)
        nothing
    end
    function to_file(instance::GtkPageSetup, _file_name::Union{AbstractString, Symbol})
        err = err_buf()
        ret = ccall(("gtk_page_setup_to_file", libgtk4), Cint, (Ptr{GObject}, Cstring, Ptr{Ptr{GError}}), instance, _file_name, err)
        check_err(err)
        ret2 = convert(Bool, ret)
        ret2
    end
    function to_gvariant(instance::GtkPageSetup)
        ret = ccall(("gtk_page_setup_to_gvariant", libgtk4), Ptr{GVariant}, (Ptr{GObject},), instance)
        ret2 = convert(GVariant, ret)
        ret2
    end
    function to_key_file(instance::GtkPageSetup, _key_file::GKeyFile, _group_name::Maybe(Union{AbstractString, Symbol}))
        _group_name_maybe = nothing_to_null(_group_name)
        ret = ccall(("gtk_page_setup_to_key_file", libgtk4), Nothing, (Ptr{GObject}, Ptr{GKeyFile}, Cstring), instance, _key_file, _group_name_maybe)
        nothing
    end
    function Paned_new(_orientation)
        ret = ccall(("gtk_paned_new", libgtk4), Ptr{GObject}, (UInt32,), _orientation)
        ret2 = GtkPanedLeaf(ret, false)
        ret2
    end
    function get_end_child(instance::GtkPaned)
        ret = ccall(("gtk_paned_get_end_child", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_position(instance::GtkPaned)
        ret = ccall(("gtk_paned_get_position", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_resize_end_child(instance::GtkPaned)
        ret = ccall(("gtk_paned_get_resize_end_child", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_resize_start_child(instance::GtkPaned)
        ret = ccall(("gtk_paned_get_resize_start_child", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_shrink_end_child(instance::GtkPaned)
        ret = ccall(("gtk_paned_get_shrink_end_child", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_shrink_start_child(instance::GtkPaned)
        ret = ccall(("gtk_paned_get_shrink_start_child", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_start_child(instance::GtkPaned)
        ret = ccall(("gtk_paned_get_start_child", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_wide_handle(instance::GtkPaned)
        ret = ccall(("gtk_paned_get_wide_handle", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_end_child(instance::GtkPaned, _child::Maybe(GtkWidget))
        _child_maybe = nothing_to_null(_child)
        ret = ccall(("gtk_paned_set_end_child", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child_maybe)
        nothing
    end
    function set_position(instance::GtkPaned, _position::Integer)
        ret = ccall(("gtk_paned_set_position", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _position)
        nothing
    end
    function set_resize_end_child(instance::GtkPaned, _resize::Bool)
        ret = ccall(("gtk_paned_set_resize_end_child", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _resize)
        nothing
    end
    function set_resize_start_child(instance::GtkPaned, _resize::Bool)
        ret = ccall(("gtk_paned_set_resize_start_child", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _resize)
        nothing
    end
    function set_shrink_end_child(instance::GtkPaned, _resize::Bool)
        ret = ccall(("gtk_paned_set_shrink_end_child", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _resize)
        nothing
    end
    function set_shrink_start_child(instance::GtkPaned, _resize::Bool)
        ret = ccall(("gtk_paned_set_shrink_start_child", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _resize)
        nothing
    end
    function set_start_child(instance::GtkPaned, _child::Maybe(GtkWidget))
        _child_maybe = nothing_to_null(_child)
        ret = ccall(("gtk_paned_set_start_child", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child_maybe)
        nothing
    end
    function set_wide_handle(instance::GtkPaned, _wide::Bool)
        ret = ccall(("gtk_paned_set_wide_handle", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _wide)
        nothing
    end
    function announce(instance::GtkPaned, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkPaned)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkPaned)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkPaned)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkPaned)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkPaned)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkPaned)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkPaned, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkPaned, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkPaned, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkPaned, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkPaned, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkPaned, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkPaned, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkPaned, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkPaned, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkPaned)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_orientation(instance::GtkPaned)
        get_orientation(GtkOrientable(instance))
    end
    function set_orientation(instance::GtkPaned, _orientation)
        set_orientation(GtkOrientable(instance), _orientation)
    end
    function PasswordEntry_new()
        ret = ccall(("gtk_password_entry_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkPasswordEntryLeaf(ret, false)
        ret2
    end
    function get_extra_menu(instance::GtkPasswordEntry)
        ret = ccall(("gtk_password_entry_get_extra_menu", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GMenuModel, ret, false)
        ret2
    end
    function get_show_peek_icon(instance::GtkPasswordEntry)
        ret = ccall(("gtk_password_entry_get_show_peek_icon", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_extra_menu(instance::GtkPasswordEntry, _model::Maybe(GMenuModel))
        _model_maybe = nothing_to_null(_model)
        ret = ccall(("gtk_password_entry_set_extra_menu", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _model_maybe)
        nothing
    end
    function set_show_peek_icon(instance::GtkPasswordEntry, _show_peek_icon::Bool)
        ret = ccall(("gtk_password_entry_set_show_peek_icon", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _show_peek_icon)
        nothing
    end
    function announce(instance::GtkPasswordEntry, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkPasswordEntry)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkPasswordEntry)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkPasswordEntry)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkPasswordEntry)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkPasswordEntry)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkPasswordEntry)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkPasswordEntry, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkPasswordEntry, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkPasswordEntry, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkPasswordEntry, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkPasswordEntry, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkPasswordEntry, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkPasswordEntry, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkPasswordEntry, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkPasswordEntry, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkPasswordEntry)
        get_buildable_id(GtkBuildable(instance))
    end
    function delegate_get_accessible_platform_state(instance::GtkPasswordEntry, _state)
        delegate_get_accessible_platform_state(GtkEditable(instance), _state)
    end
    function delete_selection(instance::GtkPasswordEntry)
        delete_selection(GtkEditable(instance))
    end
    function delete_text(instance::GtkPasswordEntry, _start_pos::Integer, _end_pos::Integer)
        delete_text(GtkEditable(instance), _start_pos, _end_pos)
    end
    function finish_delegate(instance::GtkPasswordEntry)
        finish_delegate(GtkEditable(instance))
    end
    function get_alignment(instance::GtkPasswordEntry)
        get_alignment(GtkEditable(instance))
    end
    function get_chars(instance::GtkPasswordEntry, _start_pos::Integer, _end_pos::Integer)
        get_chars(GtkEditable(instance), _start_pos, _end_pos)
    end
    function get_delegate(instance::GtkPasswordEntry)
        get_delegate(GtkEditable(instance))
    end
    function get_editable(instance::GtkPasswordEntry)
        get_editable(GtkEditable(instance))
    end
    function get_enable_undo(instance::GtkPasswordEntry)
        get_enable_undo(GtkEditable(instance))
    end
    function get_max_width_chars(instance::GtkPasswordEntry)
        get_max_width_chars(GtkEditable(instance))
    end
    function get_position(instance::GtkPasswordEntry)
        get_position(GtkEditable(instance))
    end
    function get_selection_bounds(instance::GtkPasswordEntry)
        get_selection_bounds(GtkEditable(instance))
    end
    function get_text(instance::GtkPasswordEntry)
        get_text(GtkEditable(instance))
    end
    function get_width_chars(instance::GtkPasswordEntry)
        get_width_chars(GtkEditable(instance))
    end
    function init_delegate(instance::GtkPasswordEntry)
        init_delegate(GtkEditable(instance))
    end
    function insert_text(instance::GtkPasswordEntry, _text::Union{AbstractString, Symbol}, _length::Integer, _position::Integer)
        insert_text(GtkEditable(instance), _text, _length, _position)
    end
    function select_region(instance::GtkPasswordEntry, _start_pos::Integer, _end_pos::Integer)
        select_region(GtkEditable(instance), _start_pos, _end_pos)
    end
    function set_alignment(instance::GtkPasswordEntry, _xalign::Real)
        set_alignment(GtkEditable(instance), _xalign)
    end
    function set_editable(instance::GtkPasswordEntry, _is_editable::Bool)
        set_editable(GtkEditable(instance), _is_editable)
    end
    function set_enable_undo(instance::GtkPasswordEntry, _enable_undo::Bool)
        set_enable_undo(GtkEditable(instance), _enable_undo)
    end
    function set_max_width_chars(instance::GtkPasswordEntry, _n_chars::Integer)
        set_max_width_chars(GtkEditable(instance), _n_chars)
    end
    function set_position(instance::GtkPasswordEntry, _position::Integer)
        set_position(GtkEditable(instance), _position)
    end
    function set_text(instance::GtkPasswordEntry, _text::Union{AbstractString, Symbol})
        set_text(GtkEditable(instance), _text)
    end
    function set_width_chars(instance::GtkPasswordEntry, _n_chars::Integer)
        set_width_chars(GtkEditable(instance), _n_chars)
    end
    function PasswordEntryBuffer_new()
        ret = ccall(("gtk_password_entry_buffer_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkPasswordEntryBufferLeaf(ret, true)
        ret2
    end
    function Picture_new()
        ret = ccall(("gtk_picture_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkPictureLeaf(ret, false)
        ret2
    end
    function Picture_new_for_file(_file::Maybe(GFile))
        _file_maybe = nothing_to_null(_file)
        ret = ccall(("gtk_picture_new_for_file", libgtk4), Ptr{GObject}, (Ptr{GObject},), _file_maybe)
        ret2 = GtkPictureLeaf(ret, false)
        ret2
    end
    function Picture_new_for_filename(_filename::Maybe(Union{AbstractString, Symbol}))
        _filename_maybe = nothing_to_null(_filename)
        ret = ccall(("gtk_picture_new_for_filename", libgtk4), Ptr{GObject}, (Cstring,), _filename_maybe)
        ret2 = GtkPictureLeaf(ret, false)
        ret2
    end
    function Picture_new_for_paintable(_paintable::Maybe(GdkPaintable))
        _paintable_maybe = nothing_to_null(_paintable)
        ret = ccall(("gtk_picture_new_for_paintable", libgtk4), Ptr{GObject}, (Ptr{GObject},), _paintable_maybe)
        ret2 = GtkPictureLeaf(ret, false)
        ret2
    end
    function Picture_new_for_pixbuf(_pixbuf::Maybe(GdkPixbuf))
        _pixbuf_maybe = nothing_to_null(_pixbuf)
        ret = ccall(("gtk_picture_new_for_pixbuf", libgtk4), Ptr{GObject}, (Ptr{GObject},), _pixbuf_maybe)
        ret2 = GtkPictureLeaf(ret, false)
        ret2
    end
    function Picture_new_for_resource(_resource_path::Maybe(Union{AbstractString, Symbol}))
        _resource_path_maybe = nothing_to_null(_resource_path)
        ret = ccall(("gtk_picture_new_for_resource", libgtk4), Ptr{GObject}, (Cstring,), _resource_path_maybe)
        ret2 = GtkPictureLeaf(ret, false)
        ret2
    end
    function get_alternative_text(instance::GtkPicture)
        ret = ccall(("gtk_picture_get_alternative_text", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_can_shrink(instance::GtkPicture)
        ret = ccall(("gtk_picture_get_can_shrink", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_content_fit(instance::GtkPicture)
        ret = ccall(("gtk_picture_get_content_fit", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = ContentFit(ret)
        ret2
    end
    function get_file(instance::GtkPicture)
        ret = ccall(("gtk_picture_get_file", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, false)
        ret2
    end
    function get_keep_aspect_ratio(instance::GtkPicture)
        ret = ccall(("gtk_picture_get_keep_aspect_ratio", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_paintable(instance::GtkPicture)
        ret = ccall(("gtk_picture_get_paintable", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, false)
        ret2
    end
    function set_alternative_text(instance::GtkPicture, _alternative_text::Maybe(Union{AbstractString, Symbol}))
        _alternative_text_maybe = nothing_to_null(_alternative_text)
        ret = ccall(("gtk_picture_set_alternative_text", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _alternative_text_maybe)
        nothing
    end
    function set_can_shrink(instance::GtkPicture, _can_shrink::Bool)
        ret = ccall(("gtk_picture_set_can_shrink", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _can_shrink)
        nothing
    end
    function set_content_fit(instance::GtkPicture, _content_fit)
        ret = ccall(("gtk_picture_set_content_fit", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _content_fit)
        nothing
    end
    function set_file(instance::GtkPicture, _file::Maybe(GFile))
        _file_maybe = nothing_to_null(_file)
        ret = ccall(("gtk_picture_set_file", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _file_maybe)
        nothing
    end
    function set_filename(instance::GtkPicture, _filename::Maybe(Union{AbstractString, Symbol}))
        _filename_maybe = nothing_to_null(_filename)
        ret = ccall(("gtk_picture_set_filename", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _filename_maybe)
        nothing
    end
    function set_keep_aspect_ratio(instance::GtkPicture, _keep_aspect_ratio::Bool)
        ret = ccall(("gtk_picture_set_keep_aspect_ratio", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _keep_aspect_ratio)
        nothing
    end
    function set_paintable(instance::GtkPicture, _paintable::Maybe(GdkPaintable))
        _paintable_maybe = nothing_to_null(_paintable)
        ret = ccall(("gtk_picture_set_paintable", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _paintable_maybe)
        nothing
    end
    function set_pixbuf(instance::GtkPicture, _pixbuf::Maybe(GdkPixbuf))
        _pixbuf_maybe = nothing_to_null(_pixbuf)
        ret = ccall(("gtk_picture_set_pixbuf", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _pixbuf_maybe)
        nothing
    end
    function set_resource(instance::GtkPicture, _resource_path::Maybe(Union{AbstractString, Symbol}))
        _resource_path_maybe = nothing_to_null(_resource_path)
        ret = ccall(("gtk_picture_set_resource", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _resource_path_maybe)
        nothing
    end
    function announce(instance::GtkPicture, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkPicture)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkPicture)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkPicture)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkPicture)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkPicture)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkPicture)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkPicture, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkPicture, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkPicture, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkPicture, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkPicture, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkPicture, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkPicture, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkPicture, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkPicture, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkPicture)
        get_buildable_id(GtkBuildable(instance))
    end
    function Popover_new()
        ret = ccall(("gtk_popover_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkPopoverLeaf(ret, false)
        ret2
    end
    function get_autohide(instance::GtkPopover)
        ret = ccall(("gtk_popover_get_autohide", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_cascade_popdown(instance::GtkPopover)
        ret = ccall(("gtk_popover_get_cascade_popdown", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_child(instance::GtkPopover)
        ret = ccall(("gtk_popover_get_child", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_has_arrow(instance::GtkPopover)
        ret = ccall(("gtk_popover_get_has_arrow", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_mnemonics_visible(instance::GtkPopover)
        ret = ccall(("gtk_popover_get_mnemonics_visible", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_offset(instance::GtkPopover)
        m_x_offset = Ref{Int32}()
        m_y_offset = Ref{Int32}()
        ret = ccall(("gtk_popover_get_offset", libgtk4), Nothing, (Ptr{GObject}, Ptr{Int32}, Ptr{Int32}), instance, m_x_offset, m_y_offset)
        _x_offset = m_x_offset[]
        _y_offset = m_y_offset[]
        (_x_offset, _y_offset)
    end
    function get_pointing_to(instance::GtkPopover)
        m_rect = Ref{_GdkRectangle}()
        ret = ccall(("gtk_popover_get_pointing_to", libgtk4), Cint, (Ptr{GObject}, Ptr{_GdkRectangle}), instance, m_rect)
        ret2 = convert(Bool, ret)
        _rect = m_rect[]
        (ret2, _rect)
    end
    function get_position(instance::GtkPopover)
        ret = ccall(("gtk_popover_get_position", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = PositionType(ret)
        ret2
    end
    function popdown(instance::GtkPopover)
        ret = ccall(("gtk_popover_popdown", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function popup(instance::GtkPopover)
        ret = ccall(("gtk_popover_popup", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function present(instance::GtkPopover)
        ret = ccall(("gtk_popover_present", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function set_autohide(instance::GtkPopover, _autohide::Bool)
        ret = ccall(("gtk_popover_set_autohide", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _autohide)
        nothing
    end
    function set_cascade_popdown(instance::GtkPopover, _cascade_popdown::Bool)
        ret = ccall(("gtk_popover_set_cascade_popdown", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _cascade_popdown)
        nothing
    end
    function set_child(instance::GtkPopover, _child::Maybe(GtkWidget))
        _child_maybe = nothing_to_null(_child)
        ret = ccall(("gtk_popover_set_child", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child_maybe)
        nothing
    end
    function set_default_widget(instance::GtkPopover, _widget::Maybe(GtkWidget))
        _widget_maybe = nothing_to_null(_widget)
        ret = ccall(("gtk_popover_set_default_widget", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _widget_maybe)
        nothing
    end
    function set_has_arrow(instance::GtkPopover, _has_arrow::Bool)
        ret = ccall(("gtk_popover_set_has_arrow", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _has_arrow)
        nothing
    end
    function set_mnemonics_visible(instance::GtkPopover, _mnemonics_visible::Bool)
        ret = ccall(("gtk_popover_set_mnemonics_visible", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _mnemonics_visible)
        nothing
    end
    function set_offset(instance::GtkPopover, _x_offset::Integer, _y_offset::Integer)
        ret = ccall(("gtk_popover_set_offset", libgtk4), Nothing, (Ptr{GObject}, Int32, Int32), instance, _x_offset, _y_offset)
        nothing
    end
    function set_pointing_to(instance::GtkPopover, _rect::Maybe(Union{GdkRectangle, Ref{_GdkRectangle}}))
        _rect_maybe = nothing_to_null(_rect)
        ret = ccall(("gtk_popover_set_pointing_to", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GdkRectangle}), instance, _rect_maybe)
        nothing
    end
    function set_position(instance::GtkPopover, _position)
        ret = ccall(("gtk_popover_set_position", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _position)
        nothing
    end
    function announce(instance::GtkPopover, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkPopover)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkPopover)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkPopover)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkPopover)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkPopover)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkPopover)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkPopover, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkPopover, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkPopover, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkPopover, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkPopover, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkPopover, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkPopover, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkPopover, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkPopover, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkPopover)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_renderer(instance::GtkPopover)
        get_renderer(GtkNative(instance))
    end
    function get_surface(instance::GtkPopover)
        get_surface(GtkNative(instance))
    end
    function get_surface_transform(instance::GtkPopover)
        get_surface_transform(GtkNative(instance))
    end
    function realize(instance::GtkPopover)
        realize(GtkNative(instance))
    end
    function unrealize(instance::GtkPopover)
        unrealize(GtkNative(instance))
    end
    function PopoverMenu_new_from_model(_model::Maybe(GMenuModel))
        _model_maybe = nothing_to_null(_model)
        ret = ccall(("gtk_popover_menu_new_from_model", libgtk4), Ptr{GObject}, (Ptr{GObject},), _model_maybe)
        ret2 = GtkPopoverMenuLeaf(ret, false)
        ret2
    end
    function PopoverMenu_new_from_model_full(_model::GMenuModel, _flags)
        ret = ccall(("gtk_popover_menu_new_from_model_full", libgtk4), Ptr{GObject}, (Ptr{GObject}, UInt32), _model, _flags)
        ret2 = GtkPopoverMenuLeaf(ret, false)
        ret2
    end
    function add_child(instance::GtkPopoverMenu, _child::GtkWidget, _id::Union{AbstractString, Symbol})
        ret = ccall(("gtk_popover_menu_add_child", libgtk4), Cint, (Ptr{GObject}, Ptr{GObject}, Cstring), instance, _child, _id)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_flags(instance::GtkPopoverMenu)
        ret = ccall(("gtk_popover_menu_get_flags", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = PopoverMenuFlags(ret)
        ret2
    end
    function get_menu_model(instance::GtkPopoverMenu)
        ret = ccall(("gtk_popover_menu_get_menu_model", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GMenuModel, ret, false)
        ret2
    end
    function remove_child(instance::GtkPopoverMenu, _child::GtkWidget)
        ret = ccall(("gtk_popover_menu_remove_child", libgtk4), Cint, (Ptr{GObject}, Ptr{GObject}), instance, _child)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_flags(instance::GtkPopoverMenu, _flags)
        ret = ccall(("gtk_popover_menu_set_flags", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _flags)
        nothing
    end
    function set_menu_model(instance::GtkPopoverMenu, _model::Maybe(GMenuModel))
        _model_maybe = nothing_to_null(_model)
        ret = ccall(("gtk_popover_menu_set_menu_model", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _model_maybe)
        nothing
    end
    function announce(instance::GtkPopoverMenu, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkPopoverMenu)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkPopoverMenu)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkPopoverMenu)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkPopoverMenu)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkPopoverMenu)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkPopoverMenu)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkPopoverMenu, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkPopoverMenu, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkPopoverMenu, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkPopoverMenu, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkPopoverMenu, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkPopoverMenu, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkPopoverMenu, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkPopoverMenu, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkPopoverMenu, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkPopoverMenu)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_renderer(instance::GtkPopoverMenu)
        get_renderer(GtkNative(instance))
    end
    function get_surface(instance::GtkPopoverMenu)
        get_surface(GtkNative(instance))
    end
    function get_surface_transform(instance::GtkPopoverMenu)
        get_surface_transform(GtkNative(instance))
    end
    function realize(instance::GtkPopoverMenu)
        realize(GtkNative(instance))
    end
    function unrealize(instance::GtkPopoverMenu)
        unrealize(GtkNative(instance))
    end
    function PopoverMenuBar_new_from_model(_model::Maybe(GMenuModel))
        _model_maybe = nothing_to_null(_model)
        ret = ccall(("gtk_popover_menu_bar_new_from_model", libgtk4), Ptr{GObject}, (Ptr{GObject},), _model_maybe)
        ret2 = GtkPopoverMenuBarLeaf(ret, false)
        ret2
    end
    function add_child(instance::GtkPopoverMenuBar, _child::GtkWidget, _id::Union{AbstractString, Symbol})
        ret = ccall(("gtk_popover_menu_bar_add_child", libgtk4), Cint, (Ptr{GObject}, Ptr{GObject}, Cstring), instance, _child, _id)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_menu_model(instance::GtkPopoverMenuBar)
        ret = ccall(("gtk_popover_menu_bar_get_menu_model", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GMenuModel, ret, false)
        ret2
    end
    function remove_child(instance::GtkPopoverMenuBar, _child::GtkWidget)
        ret = ccall(("gtk_popover_menu_bar_remove_child", libgtk4), Cint, (Ptr{GObject}, Ptr{GObject}), instance, _child)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_menu_model(instance::GtkPopoverMenuBar, _model::Maybe(GMenuModel))
        _model_maybe = nothing_to_null(_model)
        ret = ccall(("gtk_popover_menu_bar_set_menu_model", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _model_maybe)
        nothing
    end
    function announce(instance::GtkPopoverMenuBar, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkPopoverMenuBar)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkPopoverMenuBar)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkPopoverMenuBar)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkPopoverMenuBar)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkPopoverMenuBar)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkPopoverMenuBar)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkPopoverMenuBar, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkPopoverMenuBar, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkPopoverMenuBar, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkPopoverMenuBar, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkPopoverMenuBar, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkPopoverMenuBar, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkPopoverMenuBar, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkPopoverMenuBar, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkPopoverMenuBar, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkPopoverMenuBar)
        get_buildable_id(GtkBuildable(instance))
    end
    function create_pango_context(instance::GtkPrintContext)
        ret = ccall(("gtk_print_context_create_pango_context", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(PangoContext, ret, true)
        ret2
    end
    function create_pango_layout(instance::GtkPrintContext)
        ret = ccall(("gtk_print_context_create_pango_layout", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(PangoLayout, ret, true)
        ret2
    end
    function get_cairo_context(instance::GtkPrintContext)
        ret = ccall(("gtk_print_context_get_cairo_context", libgtk4), Ptr{cairoContext}, (Ptr{GObject},), instance)
        ret2 = convert(cairoContext, ret, false)
        ret2
    end
    function get_dpi_x(instance::GtkPrintContext)
        ret = ccall(("gtk_print_context_get_dpi_x", libgtk4), Float64, (Ptr{GObject},), instance)
        ret
    end
    function get_dpi_y(instance::GtkPrintContext)
        ret = ccall(("gtk_print_context_get_dpi_y", libgtk4), Float64, (Ptr{GObject},), instance)
        ret
    end
    function get_hard_margins(instance::GtkPrintContext)
        m_top = Ref{Float64}()
        m_bottom = Ref{Float64}()
        m_left = Ref{Float64}()
        m_right = Ref{Float64}()
        ret = ccall(("gtk_print_context_get_hard_margins", libgtk4), Cint, (Ptr{GObject}, Ptr{Float64}, Ptr{Float64}, Ptr{Float64}, Ptr{Float64}), instance, m_top, m_bottom, m_left, m_right)
        ret2 = convert(Bool, ret)
        _top = m_top[]
        _bottom = m_bottom[]
        _left = m_left[]
        _right = m_right[]
        (ret2, _top, _bottom, _left, _right)
    end
    function get_height(instance::GtkPrintContext)
        ret = ccall(("gtk_print_context_get_height", libgtk4), Float64, (Ptr{GObject},), instance)
        ret
    end
    function get_page_setup(instance::GtkPrintContext)
        ret = ccall(("gtk_print_context_get_page_setup", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GtkPageSetup, ret, false)
        ret2
    end
    function get_pango_fontmap(instance::GtkPrintContext)
        ret = ccall(("gtk_print_context_get_pango_fontmap", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(PangoFontMap, ret, false)
        ret2
    end
    function get_width(instance::GtkPrintContext)
        ret = ccall(("gtk_print_context_get_width", libgtk4), Float64, (Ptr{GObject},), instance)
        ret
    end
    function set_cairo_context(instance::GtkPrintContext, _cr::cairoContext, _dpi_x::Real, _dpi_y::Real)
        ret = ccall(("gtk_print_context_set_cairo_context", libgtk4), Nothing, (Ptr{GObject}, Ptr{cairoContext}, Float64, Float64), instance, _cr, _dpi_x, _dpi_y)
        nothing
    end
    function PrintDialog_new()
        ret = ccall(("gtk_print_dialog_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkPrintDialogLeaf(ret, true)
        ret2
    end
    function get_accept_label(instance::GtkPrintDialog)
        ret = ccall(("gtk_print_dialog_get_accept_label", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_modal(instance::GtkPrintDialog)
        ret = ccall(("gtk_print_dialog_get_modal", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_page_setup(instance::GtkPrintDialog)
        ret = ccall(("gtk_print_dialog_get_page_setup", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GtkPageSetup, ret, false)
        ret2
    end
    function get_print_settings(instance::GtkPrintDialog)
        ret = ccall(("gtk_print_dialog_get_print_settings", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GtkPrintSettings, ret, false)
        ret2
    end
    function get_title(instance::GtkPrintDialog)
        ret = ccall(("gtk_print_dialog_get_title", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function print(instance::GtkPrintDialog, _parent::Maybe(GtkWindow), _setup::Maybe(GtkPrintSetup), _cancellable::Maybe(GCancellable), _callback::Maybe(Function))
        _parent_maybe = nothing_to_null(_parent)
        _setup_maybe = nothing_to_null(_setup)
        _cancellable_maybe = nothing_to_null(_cancellable)
        if _callback === nothing
            _callback_cfunc = C_NULL
            _callback_closure = C_NULL
        else
            _callback_cfunc = @cfunction(GAsyncReadyCallback, Nothing, (Ptr{GObject}, Ptr{GObject}, Ref{Function}))
            _callback_closure = GLib.gc_ref(_callback)
        end
        ret = ccall(("gtk_print_dialog_print", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{GtkPrintSetup}, Ptr{GObject}, Ptr{Cvoid}, Ptr{Nothing}), instance, _parent_maybe, _setup_maybe, _cancellable_maybe, _callback_cfunc, _callback_closure)
        nothing
    end
    function print_file(instance::GtkPrintDialog, _parent::Maybe(GtkWindow), _setup::Maybe(GtkPrintSetup), _file::GFile, _cancellable::Maybe(GCancellable), _callback::Maybe(Function))
        _parent_maybe = nothing_to_null(_parent)
        _setup_maybe = nothing_to_null(_setup)
        _cancellable_maybe = nothing_to_null(_cancellable)
        if _callback === nothing
            _callback_cfunc = C_NULL
            _callback_closure = C_NULL
        else
            _callback_cfunc = @cfunction(GAsyncReadyCallback, Nothing, (Ptr{GObject}, Ptr{GObject}, Ref{Function}))
            _callback_closure = GLib.gc_ref(_callback)
        end
        ret = ccall(("gtk_print_dialog_print_file", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{GtkPrintSetup}, Ptr{GObject}, Ptr{GObject}, Ptr{Cvoid}, Ptr{Nothing}), instance, _parent_maybe, _setup_maybe, _file, _cancellable_maybe, _callback_cfunc, _callback_closure)
        nothing
    end
    function print_file_finish(instance::GtkPrintDialog, _result::GAsyncResult)
        err = err_buf()
        ret = ccall(("gtk_print_dialog_print_file_finish", libgtk4), Cint, (Ptr{GObject}, Ptr{GObject}, Ptr{Ptr{GError}}), instance, _result, err)
        check_err(err)
        ret2 = convert(Bool, ret)
        ret2
    end
    function print_finish(instance::GtkPrintDialog, _result::GAsyncResult)
        err = err_buf()
        ret = ccall(("gtk_print_dialog_print_finish", libgtk4), Ptr{GObject}, (Ptr{GObject}, Ptr{GObject}, Ptr{Ptr{GError}}), instance, _result, err)
        check_err(err)
        ret2 = convert_if_not_null(GOutputStream, ret, true)
        ret2
    end
    function set_accept_label(instance::GtkPrintDialog, _accept_label::Union{AbstractString, Symbol})
        ret = ccall(("gtk_print_dialog_set_accept_label", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _accept_label)
        nothing
    end
    function set_modal(instance::GtkPrintDialog, _modal::Bool)
        ret = ccall(("gtk_print_dialog_set_modal", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _modal)
        nothing
    end
    function set_page_setup(instance::GtkPrintDialog, _page_setup::GtkPageSetup)
        ret = ccall(("gtk_print_dialog_set_page_setup", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _page_setup)
        nothing
    end
    function set_print_settings(instance::GtkPrintDialog, _print_settings::GtkPrintSettings)
        ret = ccall(("gtk_print_dialog_set_print_settings", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _print_settings)
        nothing
    end
    function set_title(instance::GtkPrintDialog, _title::Union{AbstractString, Symbol})
        ret = ccall(("gtk_print_dialog_set_title", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _title)
        nothing
    end
    function setup(instance::GtkPrintDialog, _parent::Maybe(GtkWindow), _cancellable::Maybe(GCancellable), _callback::Maybe(Function))
        _parent_maybe = nothing_to_null(_parent)
        _cancellable_maybe = nothing_to_null(_cancellable)
        if _callback === nothing
            _callback_cfunc = C_NULL
            _callback_closure = C_NULL
        else
            _callback_cfunc = @cfunction(GAsyncReadyCallback, Nothing, (Ptr{GObject}, Ptr{GObject}, Ref{Function}))
            _callback_closure = GLib.gc_ref(_callback)
        end
        ret = ccall(("gtk_print_dialog_setup", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{GObject}, Ptr{Cvoid}, Ptr{Nothing}), instance, _parent_maybe, _cancellable_maybe, _callback_cfunc, _callback_closure)
        nothing
    end
    function setup_finish(instance::GtkPrintDialog, _result::GAsyncResult)
        err = err_buf()
        ret = ccall(("gtk_print_dialog_setup_finish", libgtk4), Ptr{GtkPrintSetup}, (Ptr{GObject}, Ptr{GObject}, Ptr{Ptr{GError}}), instance, _result, err)
        check_err(err)
        ret2 = convert_if_not_null(GtkPrintSetup, ret, true)
        ret2
    end
    function PrintOperation_new()
        ret = ccall(("gtk_print_operation_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkPrintOperationLeaf(ret, true)
        ret2
    end
    function cancel(instance::GtkPrintOperation)
        ret = ccall(("gtk_print_operation_cancel", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function draw_page_finish(instance::GtkPrintOperation)
        ret = ccall(("gtk_print_operation_draw_page_finish", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function get_default_page_setup(instance::GtkPrintOperation)
        ret = ccall(("gtk_print_operation_get_default_page_setup", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GtkPageSetup, ret, false)
        ret2
    end
    function get_embed_page_setup(instance::GtkPrintOperation)
        ret = ccall(("gtk_print_operation_get_embed_page_setup", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_error(instance::GtkPrintOperation)
        err = err_buf()
        ret = ccall(("gtk_print_operation_get_error", libgtk4), Nothing, (Ptr{GObject}, Ptr{Ptr{GError}}), instance, err)
        check_err(err)
        nothing
    end
    function get_has_selection(instance::GtkPrintOperation)
        ret = ccall(("gtk_print_operation_get_has_selection", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_n_pages_to_print(instance::GtkPrintOperation)
        ret = ccall(("gtk_print_operation_get_n_pages_to_print", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_print_settings(instance::GtkPrintOperation)
        ret = ccall(("gtk_print_operation_get_print_settings", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkPrintSettings, ret, false)
        ret2
    end
    function get_status(instance::GtkPrintOperation)
        ret = ccall(("gtk_print_operation_get_status", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = PrintStatus(ret)
        ret2
    end
    function get_status_string(instance::GtkPrintOperation)
        ret = ccall(("gtk_print_operation_get_status_string", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_support_selection(instance::GtkPrintOperation)
        ret = ccall(("gtk_print_operation_get_support_selection", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function is_finished(instance::GtkPrintOperation)
        ret = ccall(("gtk_print_operation_is_finished", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function run(instance::GtkPrintOperation, _action, _parent::Maybe(GtkWindow))
        _parent_maybe = nothing_to_null(_parent)
        err = err_buf()
        ret = ccall(("gtk_print_operation_run", libgtk4), UInt32, (Ptr{GObject}, UInt32, Ptr{GObject}, Ptr{Ptr{GError}}), instance, _action, _parent_maybe, err)
        check_err(err)
        ret2 = PrintOperationResult(ret)
        ret2
    end
    function set_allow_async(instance::GtkPrintOperation, _allow_async::Bool)
        ret = ccall(("gtk_print_operation_set_allow_async", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _allow_async)
        nothing
    end
    function set_current_page(instance::GtkPrintOperation, _current_page::Integer)
        ret = ccall(("gtk_print_operation_set_current_page", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _current_page)
        nothing
    end
    function set_custom_tab_label(instance::GtkPrintOperation, _label::Maybe(Union{AbstractString, Symbol}))
        _label_maybe = nothing_to_null(_label)
        ret = ccall(("gtk_print_operation_set_custom_tab_label", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _label_maybe)
        nothing
    end
    function set_default_page_setup(instance::GtkPrintOperation, _default_page_setup::Maybe(GtkPageSetup))
        _default_page_setup_maybe = nothing_to_null(_default_page_setup)
        ret = ccall(("gtk_print_operation_set_default_page_setup", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _default_page_setup_maybe)
        nothing
    end
    function set_defer_drawing(instance::GtkPrintOperation)
        ret = ccall(("gtk_print_operation_set_defer_drawing", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function set_embed_page_setup(instance::GtkPrintOperation, _embed::Bool)
        ret = ccall(("gtk_print_operation_set_embed_page_setup", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _embed)
        nothing
    end
    function set_export_filename(instance::GtkPrintOperation, _filename::Union{AbstractString, Symbol})
        ret = ccall(("gtk_print_operation_set_export_filename", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _filename)
        nothing
    end
    function set_has_selection(instance::GtkPrintOperation, _has_selection::Bool)
        ret = ccall(("gtk_print_operation_set_has_selection", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _has_selection)
        nothing
    end
    function set_job_name(instance::GtkPrintOperation, _job_name::Union{AbstractString, Symbol})
        ret = ccall(("gtk_print_operation_set_job_name", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _job_name)
        nothing
    end
    function set_n_pages(instance::GtkPrintOperation, _n_pages::Integer)
        ret = ccall(("gtk_print_operation_set_n_pages", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _n_pages)
        nothing
    end
    function set_print_settings(instance::GtkPrintOperation, _print_settings::Maybe(GtkPrintSettings))
        _print_settings_maybe = nothing_to_null(_print_settings)
        ret = ccall(("gtk_print_operation_set_print_settings", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _print_settings_maybe)
        nothing
    end
    function set_show_progress(instance::GtkPrintOperation, _show_progress::Bool)
        ret = ccall(("gtk_print_operation_set_show_progress", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _show_progress)
        nothing
    end
    function set_support_selection(instance::GtkPrintOperation, _support_selection::Bool)
        ret = ccall(("gtk_print_operation_set_support_selection", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _support_selection)
        nothing
    end
    function set_track_print_status(instance::GtkPrintOperation, _track_status::Bool)
        ret = ccall(("gtk_print_operation_set_track_print_status", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _track_status)
        nothing
    end
    function set_unit(instance::GtkPrintOperation, _unit)
        ret = ccall(("gtk_print_operation_set_unit", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _unit)
        nothing
    end
    function set_use_full_page(instance::GtkPrintOperation, _full_page::Bool)
        ret = ccall(("gtk_print_operation_set_use_full_page", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _full_page)
        nothing
    end
    function end_preview(instance::GtkPrintOperation)
        end_preview(GtkPrintOperationPreview(instance))
    end
    function is_selected(instance::GtkPrintOperation, _page_nr::Integer)
        is_selected(GtkPrintOperationPreview(instance), _page_nr)
    end
    function render_page(instance::GtkPrintOperation, _page_nr::Integer)
        render_page(GtkPrintOperationPreview(instance), _page_nr)
    end
    function Printer_new(_name::Union{AbstractString, Symbol}, _backend::GtkPrintBackend, _virtual_::Bool)
        ret = ccall(("gtk_printer_new", libgtk4), Ptr{GObject}, (Cstring, Ptr{GtkPrintBackend}, Cint), _name, _backend, _virtual_)
        ret2 = GtkPrinterLeaf(ret, true)
        ret2
    end
    function accepts_pdf(instance::GtkPrinter)
        ret = ccall(("gtk_printer_accepts_pdf", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function accepts_ps(instance::GtkPrinter)
        ret = ccall(("gtk_printer_accepts_ps", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function compare(instance::GtkPrinter, _b::GtkPrinter)
        ret = ccall(("gtk_printer_compare", libgtk4), Int32, (Ptr{GObject}, Ptr{GObject}), instance, _b)
        ret
    end
    function get_backend(instance::GtkPrinter)
        ret = ccall(("gtk_printer_get_backend", libgtk4), Ptr{GtkPrintBackend}, (Ptr{GObject},), instance)
        ret2 = convert(GtkPrintBackend, ret)
        ret2
    end
    function get_capabilities(instance::GtkPrinter)
        ret = ccall(("gtk_printer_get_capabilities", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = PrintCapabilities(ret)
        ret2
    end
    function get_default_page_size(instance::GtkPrinter)
        ret = ccall(("gtk_printer_get_default_page_size", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GtkPageSetup, ret, true)
        ret2
    end
    function get_description(instance::GtkPrinter)
        ret = ccall(("gtk_printer_get_description", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_hard_margins(instance::GtkPrinter)
        m_top = Ref{Float64}()
        m_bottom = Ref{Float64}()
        m_left = Ref{Float64}()
        m_right = Ref{Float64}()
        ret = ccall(("gtk_printer_get_hard_margins", libgtk4), Cint, (Ptr{GObject}, Ptr{Float64}, Ptr{Float64}, Ptr{Float64}, Ptr{Float64}), instance, m_top, m_bottom, m_left, m_right)
        ret2 = convert(Bool, ret)
        _top = m_top[]
        _bottom = m_bottom[]
        _left = m_left[]
        _right = m_right[]
        (ret2, _top, _bottom, _left, _right)
    end
    function get_hard_margins_for_paper_size(instance::GtkPrinter, _paper_size::GtkPaperSize)
        m_top = Ref{Float64}()
        m_bottom = Ref{Float64}()
        m_left = Ref{Float64}()
        m_right = Ref{Float64}()
        ret = ccall(("gtk_printer_get_hard_margins_for_paper_size", libgtk4), Cint, (Ptr{GObject}, Ptr{GtkPaperSize}, Ptr{Float64}, Ptr{Float64}, Ptr{Float64}, Ptr{Float64}), instance, _paper_size, m_top, m_bottom, m_left, m_right)
        ret2 = convert(Bool, ret)
        _top = m_top[]
        _bottom = m_bottom[]
        _left = m_left[]
        _right = m_right[]
        (ret2, _top, _bottom, _left, _right)
    end
    function get_icon_name(instance::GtkPrinter)
        ret = ccall(("gtk_printer_get_icon_name", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_job_count(instance::GtkPrinter)
        ret = ccall(("gtk_printer_get_job_count", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_location(instance::GtkPrinter)
        ret = ccall(("gtk_printer_get_location", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_name(instance::GtkPrinter)
        ret = ccall(("gtk_printer_get_name", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_state_message(instance::GtkPrinter)
        ret = ccall(("gtk_printer_get_state_message", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function has_details(instance::GtkPrinter)
        ret = ccall(("gtk_printer_has_details", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function is_accepting_jobs(instance::GtkPrinter)
        ret = ccall(("gtk_printer_is_accepting_jobs", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function is_active(instance::GtkPrinter)
        ret = ccall(("gtk_printer_is_active", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function is_default(instance::GtkPrinter)
        ret = ccall(("gtk_printer_is_default", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function is_paused(instance::GtkPrinter)
        ret = ccall(("gtk_printer_is_paused", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function is_virtual(instance::GtkPrinter)
        ret = ccall(("gtk_printer_is_virtual", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function list_papers(instance::GtkPrinter)
        ret = ccall(("gtk_printer_list_papers", libgtk4), Ptr{GLib._GList{Ptr{GObject}}}, (Ptr{GObject},), instance)
        ret2 = GLib.GList(ret, true)
        ret2
    end
    function request_details(instance::GtkPrinter)
        ret = ccall(("gtk_printer_request_details", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function ProgressBar_new()
        ret = ccall(("gtk_progress_bar_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkProgressBarLeaf(ret, false)
        ret2
    end
    function get_ellipsize(instance::GtkProgressBar)
        ret = ccall(("gtk_progress_bar_get_ellipsize", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = EllipsizeMode(ret)
        ret2
    end
    function get_fraction(instance::GtkProgressBar)
        ret = ccall(("gtk_progress_bar_get_fraction", libgtk4), Float64, (Ptr{GObject},), instance)
        ret
    end
    function get_inverted(instance::GtkProgressBar)
        ret = ccall(("gtk_progress_bar_get_inverted", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_pulse_step(instance::GtkProgressBar)
        ret = ccall(("gtk_progress_bar_get_pulse_step", libgtk4), Float64, (Ptr{GObject},), instance)
        ret
    end
    function get_show_text(instance::GtkProgressBar)
        ret = ccall(("gtk_progress_bar_get_show_text", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_text(instance::GtkProgressBar)
        ret = ccall(("gtk_progress_bar_get_text", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function pulse(instance::GtkProgressBar)
        ret = ccall(("gtk_progress_bar_pulse", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function set_ellipsize(instance::GtkProgressBar, _mode)
        ret = ccall(("gtk_progress_bar_set_ellipsize", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _mode)
        nothing
    end
    function set_fraction(instance::GtkProgressBar, _fraction::Real)
        ret = ccall(("gtk_progress_bar_set_fraction", libgtk4), Nothing, (Ptr{GObject}, Float64), instance, _fraction)
        nothing
    end
    function set_inverted(instance::GtkProgressBar, _inverted::Bool)
        ret = ccall(("gtk_progress_bar_set_inverted", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _inverted)
        nothing
    end
    function set_pulse_step(instance::GtkProgressBar, _fraction::Real)
        ret = ccall(("gtk_progress_bar_set_pulse_step", libgtk4), Nothing, (Ptr{GObject}, Float64), instance, _fraction)
        nothing
    end
    function set_show_text(instance::GtkProgressBar, _show_text::Bool)
        ret = ccall(("gtk_progress_bar_set_show_text", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _show_text)
        nothing
    end
    function set_text(instance::GtkProgressBar, _text::Maybe(Union{AbstractString, Symbol}))
        _text_maybe = nothing_to_null(_text)
        ret = ccall(("gtk_progress_bar_set_text", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _text_maybe)
        nothing
    end
    function announce(instance::GtkProgressBar, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkProgressBar)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkProgressBar)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkProgressBar)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkProgressBar)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkProgressBar)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkProgressBar)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkProgressBar, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkProgressBar, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkProgressBar, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkProgressBar, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkProgressBar, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkProgressBar, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkProgressBar, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkProgressBar, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkProgressBar, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkProgressBar)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_orientation(instance::GtkProgressBar)
        get_orientation(GtkOrientable(instance))
    end
    function set_orientation(instance::GtkProgressBar, _orientation)
        set_orientation(GtkOrientable(instance), _orientation)
    end
    function PropertyExpression_new(_this_type::Integer, _expression::Maybe(GtkExpression), _property_name::Union{AbstractString, Symbol})
        _expression_maybe = nothing_to_null(_expression)
        ret = ccall(("gtk_property_expression_new", libgtk4), Ptr{GtkExpression}, (UInt64, Ptr{GtkExpression}, Cstring), _this_type, _expression_maybe, _property_name)
        ret2 = convert(GtkExpression, ret)
        ret2
    end
    function PropertyExpression_new_for_pspec(_expression::Maybe(GtkExpression), _pspec::GParam)
        _expression_maybe = nothing_to_null(_expression)
        ret = ccall(("gtk_property_expression_new_for_pspec", libgtk4), Ptr{GtkExpression}, (Ptr{GtkExpression}, Ptr{GParam}), _expression_maybe, _pspec)
        ret2 = convert(GtkExpression, ret)
        ret2
    end
    function get_expression(instance::GtkPropertyExpression)
        ret = ccall(("gtk_property_expression_get_expression", libgtk4), Ptr{GtkExpression}, (Ptr{GtkExpression},), instance)
        ret2 = convert(GtkExpression, ret)
        ret2
    end
    function get_pspec(instance::GtkPropertyExpression)
        ret = ccall(("gtk_property_expression_get_pspec", libgtk4), Ptr{GParam}, (Ptr{GtkExpression},), instance)
        ret2 = convert(GParam, ret)
        ret2
    end
    function get_adjustment(instance::GtkRange)
        ret = ccall(("gtk_range_get_adjustment", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GtkAdjustment, ret, false)
        ret2
    end
    function get_fill_level(instance::GtkRange)
        ret = ccall(("gtk_range_get_fill_level", libgtk4), Float64, (Ptr{GObject},), instance)
        ret
    end
    function get_flippable(instance::GtkRange)
        ret = ccall(("gtk_range_get_flippable", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_inverted(instance::GtkRange)
        ret = ccall(("gtk_range_get_inverted", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_range_rect(instance::GtkRange)
        m_range_rect = Ref{_GdkRectangle}()
        ret = ccall(("gtk_range_get_range_rect", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GdkRectangle}), instance, m_range_rect)
        _range_rect = m_range_rect[]
        _range_rect
    end
    function get_restrict_to_fill_level(instance::GtkRange)
        ret = ccall(("gtk_range_get_restrict_to_fill_level", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_round_digits(instance::GtkRange)
        ret = ccall(("gtk_range_get_round_digits", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_show_fill_level(instance::GtkRange)
        ret = ccall(("gtk_range_get_show_fill_level", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_slider_range(instance::GtkRange)
        m_slider_start = Ref{Int32}()
        m_slider_end = Ref{Int32}()
        ret = ccall(("gtk_range_get_slider_range", libgtk4), Nothing, (Ptr{GObject}, Ptr{Int32}, Ptr{Int32}), instance, m_slider_start, m_slider_end)
        _slider_start = m_slider_start[]
        _slider_end = m_slider_end[]
        (_slider_start, _slider_end)
    end
    function get_slider_size_fixed(instance::GtkRange)
        ret = ccall(("gtk_range_get_slider_size_fixed", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_value(instance::GtkRange)
        ret = ccall(("gtk_range_get_value", libgtk4), Float64, (Ptr{GObject},), instance)
        ret
    end
    function set_adjustment(instance::GtkRange, _adjustment::GtkAdjustment)
        ret = ccall(("gtk_range_set_adjustment", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _adjustment)
        nothing
    end
    function set_fill_level(instance::GtkRange, _fill_level::Real)
        ret = ccall(("gtk_range_set_fill_level", libgtk4), Nothing, (Ptr{GObject}, Float64), instance, _fill_level)
        nothing
    end
    function set_flippable(instance::GtkRange, _flippable::Bool)
        ret = ccall(("gtk_range_set_flippable", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _flippable)
        nothing
    end
    function set_increments(instance::GtkRange, _step::Real, _page::Real)
        ret = ccall(("gtk_range_set_increments", libgtk4), Nothing, (Ptr{GObject}, Float64, Float64), instance, _step, _page)
        nothing
    end
    function set_inverted(instance::GtkRange, _setting::Bool)
        ret = ccall(("gtk_range_set_inverted", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _setting)
        nothing
    end
    function set_range(instance::GtkRange, _min::Real, _max::Real)
        ret = ccall(("gtk_range_set_range", libgtk4), Nothing, (Ptr{GObject}, Float64, Float64), instance, _min, _max)
        nothing
    end
    function set_restrict_to_fill_level(instance::GtkRange, _restrict_to_fill_level::Bool)
        ret = ccall(("gtk_range_set_restrict_to_fill_level", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _restrict_to_fill_level)
        nothing
    end
    function set_round_digits(instance::GtkRange, _round_digits::Integer)
        ret = ccall(("gtk_range_set_round_digits", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _round_digits)
        nothing
    end
    function set_show_fill_level(instance::GtkRange, _show_fill_level::Bool)
        ret = ccall(("gtk_range_set_show_fill_level", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _show_fill_level)
        nothing
    end
    function set_slider_size_fixed(instance::GtkRange, _size_fixed::Bool)
        ret = ccall(("gtk_range_set_slider_size_fixed", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _size_fixed)
        nothing
    end
    function set_value(instance::GtkRange, _value::Real)
        ret = ccall(("gtk_range_set_value", libgtk4), Nothing, (Ptr{GObject}, Float64), instance, _value)
        nothing
    end
    function announce(instance::GtkRange, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkRange)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkRange)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkRange)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkRange)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkRange)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkRange)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkRange, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkRange, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkRange, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkRange, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkRange, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkRange, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkRange, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkRange, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkRange, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkRange)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_orientation(instance::GtkRange)
        get_orientation(GtkOrientable(instance))
    end
    function set_orientation(instance::GtkRange, _orientation)
        set_orientation(GtkOrientable(instance), _orientation)
    end
    function Revealer_new()
        ret = ccall(("gtk_revealer_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkRevealerLeaf(ret, false)
        ret2
    end
    function get_child(instance::GtkRevealer)
        ret = ccall(("gtk_revealer_get_child", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_child_revealed(instance::GtkRevealer)
        ret = ccall(("gtk_revealer_get_child_revealed", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_reveal_child(instance::GtkRevealer)
        ret = ccall(("gtk_revealer_get_reveal_child", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_transition_duration(instance::GtkRevealer)
        ret = ccall(("gtk_revealer_get_transition_duration", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function get_transition_type(instance::GtkRevealer)
        ret = ccall(("gtk_revealer_get_transition_type", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = RevealerTransitionType(ret)
        ret2
    end
    function set_child(instance::GtkRevealer, _child::Maybe(GtkWidget))
        _child_maybe = nothing_to_null(_child)
        ret = ccall(("gtk_revealer_set_child", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child_maybe)
        nothing
    end
    function set_reveal_child(instance::GtkRevealer, _reveal_child::Bool)
        ret = ccall(("gtk_revealer_set_reveal_child", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _reveal_child)
        nothing
    end
    function set_transition_duration(instance::GtkRevealer, _duration::Integer)
        ret = ccall(("gtk_revealer_set_transition_duration", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _duration)
        nothing
    end
    function set_transition_type(instance::GtkRevealer, _transition)
        ret = ccall(("gtk_revealer_set_transition_type", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _transition)
        nothing
    end
    function announce(instance::GtkRevealer, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkRevealer)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkRevealer)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkRevealer)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkRevealer)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkRevealer)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkRevealer)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkRevealer, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkRevealer, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkRevealer, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkRevealer, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkRevealer, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkRevealer, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkRevealer, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkRevealer, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkRevealer, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkRevealer)
        get_buildable_id(GtkBuildable(instance))
    end
    function Scale_new(_orientation, _adjustment::Maybe(GtkAdjustment))
        _adjustment_maybe = nothing_to_null(_adjustment)
        ret = ccall(("gtk_scale_new", libgtk4), Ptr{GObject}, (UInt32, Ptr{GObject}), _orientation, _adjustment_maybe)
        ret2 = GtkScaleLeaf(ret, false)
        ret2
    end
    function Scale_new_with_range(_orientation, _min::Real, _max::Real, _step::Real)
        ret = ccall(("gtk_scale_new_with_range", libgtk4), Ptr{GObject}, (UInt32, Float64, Float64, Float64), _orientation, _min, _max, _step)
        ret2 = GtkScaleLeaf(ret, false)
        ret2
    end
    function add_mark(instance::GtkScale, _value::Real, _position, _markup::Maybe(Union{AbstractString, Symbol}))
        _markup_maybe = nothing_to_null(_markup)
        ret = ccall(("gtk_scale_add_mark", libgtk4), Nothing, (Ptr{GObject}, Float64, UInt32, Cstring), instance, _value, _position, _markup_maybe)
        nothing
    end
    function clear_marks(instance::GtkScale)
        ret = ccall(("gtk_scale_clear_marks", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function get_digits(instance::GtkScale)
        ret = ccall(("gtk_scale_get_digits", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_draw_value(instance::GtkScale)
        ret = ccall(("gtk_scale_get_draw_value", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_has_origin(instance::GtkScale)
        ret = ccall(("gtk_scale_get_has_origin", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_layout(instance::GtkScale)
        ret = ccall(("gtk_scale_get_layout", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(PangoLayout, ret, false)
        ret2
    end
    function get_layout_offsets(instance::GtkScale)
        m_x = Ref{Int32}()
        m_y = Ref{Int32}()
        ret = ccall(("gtk_scale_get_layout_offsets", libgtk4), Nothing, (Ptr{GObject}, Ptr{Int32}, Ptr{Int32}), instance, m_x, m_y)
        _x = m_x[]
        _y = m_y[]
        (_x, _y)
    end
    function get_value_pos(instance::GtkScale)
        ret = ccall(("gtk_scale_get_value_pos", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = PositionType(ret)
        ret2
    end
    function set_digits(instance::GtkScale, _digits::Integer)
        ret = ccall(("gtk_scale_set_digits", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _digits)
        nothing
    end
    function set_draw_value(instance::GtkScale, _draw_value::Bool)
        ret = ccall(("gtk_scale_set_draw_value", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _draw_value)
        nothing
    end
    function set_has_origin(instance::GtkScale, _has_origin::Bool)
        ret = ccall(("gtk_scale_set_has_origin", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _has_origin)
        nothing
    end
    function set_value_pos(instance::GtkScale, _pos)
        ret = ccall(("gtk_scale_set_value_pos", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _pos)
        nothing
    end
    function announce(instance::GtkScale, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkScale)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkScale)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkScale)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkScale)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkScale)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkScale)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkScale, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkScale, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkScale, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkScale, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkScale, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkScale, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkScale, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkScale, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkScale, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkScale)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_orientation(instance::GtkScale)
        get_orientation(GtkOrientable(instance))
    end
    function set_orientation(instance::GtkScale, _orientation)
        set_orientation(GtkOrientable(instance), _orientation)
    end
    function ScaleButton_new(_min::Real, _max::Real, _step::Real, _icons)
        _icons_maybe = nothing_to_null(_icons)
        ret = ccall(("gtk_scale_button_new", libgtk4), Ptr{GObject}, (Float64, Float64, Float64, Ptr{Cstring}), _min, _max, _step, _icons_maybe)
        ret2 = GtkScaleButtonLeaf(ret, false)
        ret2
    end
    function get_active(instance::GtkScaleButton)
        ret = ccall(("gtk_scale_button_get_active", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_adjustment(instance::GtkScaleButton)
        ret = ccall(("gtk_scale_button_get_adjustment", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GtkAdjustment, ret, false)
        ret2
    end
    function get_has_frame(instance::GtkScaleButton)
        ret = ccall(("gtk_scale_button_get_has_frame", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_minus_button(instance::GtkScaleButton)
        ret = ccall(("gtk_scale_button_get_minus_button", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GtkButton, ret, false)
        ret2
    end
    function get_plus_button(instance::GtkScaleButton)
        ret = ccall(("gtk_scale_button_get_plus_button", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GtkButton, ret, false)
        ret2
    end
    function get_popup(instance::GtkScaleButton)
        ret = ccall(("gtk_scale_button_get_popup", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GtkWidget, ret, false)
        ret2
    end
    function get_value(instance::GtkScaleButton)
        ret = ccall(("gtk_scale_button_get_value", libgtk4), Float64, (Ptr{GObject},), instance)
        ret
    end
    function set_adjustment(instance::GtkScaleButton, _adjustment::GtkAdjustment)
        ret = ccall(("gtk_scale_button_set_adjustment", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _adjustment)
        nothing
    end
    function set_has_frame(instance::GtkScaleButton, _has_frame::Bool)
        ret = ccall(("gtk_scale_button_set_has_frame", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _has_frame)
        nothing
    end
    function set_icons(instance::GtkScaleButton, _icons)
        ret = ccall(("gtk_scale_button_set_icons", libgtk4), Nothing, (Ptr{GObject}, Ptr{Cstring}), instance, _icons)
        nothing
    end
    function set_value(instance::GtkScaleButton, _value::Real)
        ret = ccall(("gtk_scale_button_set_value", libgtk4), Nothing, (Ptr{GObject}, Float64), instance, _value)
        nothing
    end
    function announce(instance::GtkScaleButton, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkScaleButton)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkScaleButton)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkScaleButton)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkScaleButton)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkScaleButton)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkScaleButton)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkScaleButton, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkScaleButton, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkScaleButton, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkScaleButton, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkScaleButton, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkScaleButton, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkScaleButton, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkScaleButton, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkScaleButton, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkScaleButton)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_orientation(instance::GtkScaleButton)
        get_orientation(GtkOrientable(instance))
    end
    function set_orientation(instance::GtkScaleButton, _orientation)
        set_orientation(GtkOrientable(instance), _orientation)
    end
    function Scrollbar_new(_orientation, _adjustment::Maybe(GtkAdjustment))
        _adjustment_maybe = nothing_to_null(_adjustment)
        ret = ccall(("gtk_scrollbar_new", libgtk4), Ptr{GObject}, (UInt32, Ptr{GObject}), _orientation, _adjustment_maybe)
        ret2 = GtkScrollbarLeaf(ret, false)
        ret2
    end
    function get_adjustment(instance::GtkScrollbar)
        ret = ccall(("gtk_scrollbar_get_adjustment", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GtkAdjustment, ret, false)
        ret2
    end
    function set_adjustment(instance::GtkScrollbar, _adjustment::Maybe(GtkAdjustment))
        _adjustment_maybe = nothing_to_null(_adjustment)
        ret = ccall(("gtk_scrollbar_set_adjustment", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _adjustment_maybe)
        nothing
    end
    function announce(instance::GtkScrollbar, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkScrollbar)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkScrollbar)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkScrollbar)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkScrollbar)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkScrollbar)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkScrollbar)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkScrollbar, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkScrollbar, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkScrollbar, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkScrollbar, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkScrollbar, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkScrollbar, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkScrollbar, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkScrollbar, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkScrollbar, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkScrollbar)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_orientation(instance::GtkScrollbar)
        get_orientation(GtkOrientable(instance))
    end
    function set_orientation(instance::GtkScrollbar, _orientation)
        set_orientation(GtkOrientable(instance), _orientation)
    end
    function ScrolledWindow_new()
        ret = ccall(("gtk_scrolled_window_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkScrolledWindowLeaf(ret, false)
        ret2
    end
    function get_child(instance::GtkScrolledWindow)
        ret = ccall(("gtk_scrolled_window_get_child", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_hadjustment(instance::GtkScrolledWindow)
        ret = ccall(("gtk_scrolled_window_get_hadjustment", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GtkAdjustment, ret, false)
        ret2
    end
    function get_has_frame(instance::GtkScrolledWindow)
        ret = ccall(("gtk_scrolled_window_get_has_frame", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_hscrollbar(instance::GtkScrolledWindow)
        ret = ccall(("gtk_scrolled_window_get_hscrollbar", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GtkWidget, ret, false)
        ret2
    end
    function get_kinetic_scrolling(instance::GtkScrolledWindow)
        ret = ccall(("gtk_scrolled_window_get_kinetic_scrolling", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_max_content_height(instance::GtkScrolledWindow)
        ret = ccall(("gtk_scrolled_window_get_max_content_height", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_max_content_width(instance::GtkScrolledWindow)
        ret = ccall(("gtk_scrolled_window_get_max_content_width", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_min_content_height(instance::GtkScrolledWindow)
        ret = ccall(("gtk_scrolled_window_get_min_content_height", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_min_content_width(instance::GtkScrolledWindow)
        ret = ccall(("gtk_scrolled_window_get_min_content_width", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_overlay_scrolling(instance::GtkScrolledWindow)
        ret = ccall(("gtk_scrolled_window_get_overlay_scrolling", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_placement(instance::GtkScrolledWindow)
        ret = ccall(("gtk_scrolled_window_get_placement", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = CornerType(ret)
        ret2
    end
    function get_policy(instance::GtkScrolledWindow)
        m_hscrollbar_policy = Ref{UInt32}()
        m_vscrollbar_policy = Ref{UInt32}()
        ret = ccall(("gtk_scrolled_window_get_policy", libgtk4), Nothing, (Ptr{GObject}, Ptr{UInt32}, Ptr{UInt32}), instance, m_hscrollbar_policy, m_vscrollbar_policy)
        _hscrollbar_policy = m_hscrollbar_policy[]
        _hscrollbar_policy = PolicyType(_hscrollbar_policy)
        _vscrollbar_policy = m_vscrollbar_policy[]
        _vscrollbar_policy = PolicyType(_vscrollbar_policy)
        (_hscrollbar_policy, _vscrollbar_policy)
    end
    function get_propagate_natural_height(instance::GtkScrolledWindow)
        ret = ccall(("gtk_scrolled_window_get_propagate_natural_height", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_propagate_natural_width(instance::GtkScrolledWindow)
        ret = ccall(("gtk_scrolled_window_get_propagate_natural_width", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_vadjustment(instance::GtkScrolledWindow)
        ret = ccall(("gtk_scrolled_window_get_vadjustment", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GtkAdjustment, ret, false)
        ret2
    end
    function get_vscrollbar(instance::GtkScrolledWindow)
        ret = ccall(("gtk_scrolled_window_get_vscrollbar", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GtkWidget, ret, false)
        ret2
    end
    function set_child(instance::GtkScrolledWindow, _child::Maybe(GtkWidget))
        _child_maybe = nothing_to_null(_child)
        ret = ccall(("gtk_scrolled_window_set_child", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child_maybe)
        nothing
    end
    function set_hadjustment(instance::GtkScrolledWindow, _hadjustment::Maybe(GtkAdjustment))
        _hadjustment_maybe = nothing_to_null(_hadjustment)
        ret = ccall(("gtk_scrolled_window_set_hadjustment", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _hadjustment_maybe)
        nothing
    end
    function set_has_frame(instance::GtkScrolledWindow, _has_frame::Bool)
        ret = ccall(("gtk_scrolled_window_set_has_frame", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _has_frame)
        nothing
    end
    function set_kinetic_scrolling(instance::GtkScrolledWindow, _kinetic_scrolling::Bool)
        ret = ccall(("gtk_scrolled_window_set_kinetic_scrolling", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _kinetic_scrolling)
        nothing
    end
    function set_max_content_height(instance::GtkScrolledWindow, _height::Integer)
        ret = ccall(("gtk_scrolled_window_set_max_content_height", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _height)
        nothing
    end
    function set_max_content_width(instance::GtkScrolledWindow, _width::Integer)
        ret = ccall(("gtk_scrolled_window_set_max_content_width", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _width)
        nothing
    end
    function set_min_content_height(instance::GtkScrolledWindow, _height::Integer)
        ret = ccall(("gtk_scrolled_window_set_min_content_height", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _height)
        nothing
    end
    function set_min_content_width(instance::GtkScrolledWindow, _width::Integer)
        ret = ccall(("gtk_scrolled_window_set_min_content_width", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _width)
        nothing
    end
    function set_overlay_scrolling(instance::GtkScrolledWindow, _overlay_scrolling::Bool)
        ret = ccall(("gtk_scrolled_window_set_overlay_scrolling", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _overlay_scrolling)
        nothing
    end
    function set_placement(instance::GtkScrolledWindow, _window_placement)
        ret = ccall(("gtk_scrolled_window_set_placement", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _window_placement)
        nothing
    end
    function set_policy(instance::GtkScrolledWindow, _hscrollbar_policy, _vscrollbar_policy)
        ret = ccall(("gtk_scrolled_window_set_policy", libgtk4), Nothing, (Ptr{GObject}, UInt32, UInt32), instance, _hscrollbar_policy, _vscrollbar_policy)
        nothing
    end
    function set_propagate_natural_height(instance::GtkScrolledWindow, _propagate::Bool)
        ret = ccall(("gtk_scrolled_window_set_propagate_natural_height", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _propagate)
        nothing
    end
    function set_propagate_natural_width(instance::GtkScrolledWindow, _propagate::Bool)
        ret = ccall(("gtk_scrolled_window_set_propagate_natural_width", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _propagate)
        nothing
    end
    function set_vadjustment(instance::GtkScrolledWindow, _vadjustment::Maybe(GtkAdjustment))
        _vadjustment_maybe = nothing_to_null(_vadjustment)
        ret = ccall(("gtk_scrolled_window_set_vadjustment", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _vadjustment_maybe)
        nothing
    end
    function unset_placement(instance::GtkScrolledWindow)
        ret = ccall(("gtk_scrolled_window_unset_placement", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function announce(instance::GtkScrolledWindow, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkScrolledWindow)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkScrolledWindow)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkScrolledWindow)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkScrolledWindow)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkScrolledWindow)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkScrolledWindow)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkScrolledWindow, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkScrolledWindow, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkScrolledWindow, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkScrolledWindow, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkScrolledWindow, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkScrolledWindow, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkScrolledWindow, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkScrolledWindow, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkScrolledWindow, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkScrolledWindow)
        get_buildable_id(GtkBuildable(instance))
    end
    function SearchBar_new()
        ret = ccall(("gtk_search_bar_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkSearchBarLeaf(ret, false)
        ret2
    end
    function connect_entry(instance::GtkSearchBar, _entry::GtkEditable)
        ret = ccall(("gtk_search_bar_connect_entry", libgtk4), Nothing, (Ptr{GObject}, Ptr{GtkWidget}), instance, _entry)
        nothing
    end
    function get_child(instance::GtkSearchBar)
        ret = ccall(("gtk_search_bar_get_child", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_key_capture_widget(instance::GtkSearchBar)
        ret = ccall(("gtk_search_bar_get_key_capture_widget", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_search_mode(instance::GtkSearchBar)
        ret = ccall(("gtk_search_bar_get_search_mode", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_show_close_button(instance::GtkSearchBar)
        ret = ccall(("gtk_search_bar_get_show_close_button", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_child(instance::GtkSearchBar, _child::Maybe(GtkWidget))
        _child_maybe = nothing_to_null(_child)
        ret = ccall(("gtk_search_bar_set_child", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child_maybe)
        nothing
    end
    function set_key_capture_widget(instance::GtkSearchBar, _widget::Maybe(GtkWidget))
        _widget_maybe = nothing_to_null(_widget)
        ret = ccall(("gtk_search_bar_set_key_capture_widget", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _widget_maybe)
        nothing
    end
    function set_search_mode(instance::GtkSearchBar, _search_mode::Bool)
        ret = ccall(("gtk_search_bar_set_search_mode", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _search_mode)
        nothing
    end
    function set_show_close_button(instance::GtkSearchBar, _visible::Bool)
        ret = ccall(("gtk_search_bar_set_show_close_button", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _visible)
        nothing
    end
    function announce(instance::GtkSearchBar, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkSearchBar)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkSearchBar)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkSearchBar)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkSearchBar)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkSearchBar)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkSearchBar)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkSearchBar, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkSearchBar, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkSearchBar, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkSearchBar, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkSearchBar, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkSearchBar, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkSearchBar, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkSearchBar, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkSearchBar, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkSearchBar)
        get_buildable_id(GtkBuildable(instance))
    end
    function SearchEntry_new()
        ret = ccall(("gtk_search_entry_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkSearchEntryLeaf(ret, false)
        ret2
    end
    function get_input_hints(instance::GtkSearchEntry)
        ret = ccall(("gtk_search_entry_get_input_hints", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = InputHints(ret)
        ret2
    end
    function get_input_purpose(instance::GtkSearchEntry)
        ret = ccall(("gtk_search_entry_get_input_purpose", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = InputPurpose(ret)
        ret2
    end
    function get_key_capture_widget(instance::GtkSearchEntry)
        ret = ccall(("gtk_search_entry_get_key_capture_widget", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_placeholder_text(instance::GtkSearchEntry)
        ret = ccall(("gtk_search_entry_get_placeholder_text", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_search_delay(instance::GtkSearchEntry)
        ret = ccall(("gtk_search_entry_get_search_delay", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function set_input_hints(instance::GtkSearchEntry, _hints)
        ret = ccall(("gtk_search_entry_set_input_hints", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _hints)
        nothing
    end
    function set_input_purpose(instance::GtkSearchEntry, _purpose)
        ret = ccall(("gtk_search_entry_set_input_purpose", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _purpose)
        nothing
    end
    function set_key_capture_widget(instance::GtkSearchEntry, _widget::Maybe(GtkWidget))
        _widget_maybe = nothing_to_null(_widget)
        ret = ccall(("gtk_search_entry_set_key_capture_widget", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _widget_maybe)
        nothing
    end
    function set_placeholder_text(instance::GtkSearchEntry, _text::Maybe(Union{AbstractString, Symbol}))
        _text_maybe = nothing_to_null(_text)
        ret = ccall(("gtk_search_entry_set_placeholder_text", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _text_maybe)
        nothing
    end
    function set_search_delay(instance::GtkSearchEntry, _delay::Integer)
        ret = ccall(("gtk_search_entry_set_search_delay", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _delay)
        nothing
    end
    function announce(instance::GtkSearchEntry, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkSearchEntry)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkSearchEntry)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkSearchEntry)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkSearchEntry)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkSearchEntry)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkSearchEntry)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkSearchEntry, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkSearchEntry, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkSearchEntry, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkSearchEntry, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkSearchEntry, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkSearchEntry, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkSearchEntry, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkSearchEntry, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkSearchEntry, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkSearchEntry)
        get_buildable_id(GtkBuildable(instance))
    end
    function delegate_get_accessible_platform_state(instance::GtkSearchEntry, _state)
        delegate_get_accessible_platform_state(GtkEditable(instance), _state)
    end
    function delete_selection(instance::GtkSearchEntry)
        delete_selection(GtkEditable(instance))
    end
    function delete_text(instance::GtkSearchEntry, _start_pos::Integer, _end_pos::Integer)
        delete_text(GtkEditable(instance), _start_pos, _end_pos)
    end
    function finish_delegate(instance::GtkSearchEntry)
        finish_delegate(GtkEditable(instance))
    end
    function get_alignment(instance::GtkSearchEntry)
        get_alignment(GtkEditable(instance))
    end
    function get_chars(instance::GtkSearchEntry, _start_pos::Integer, _end_pos::Integer)
        get_chars(GtkEditable(instance), _start_pos, _end_pos)
    end
    function get_delegate(instance::GtkSearchEntry)
        get_delegate(GtkEditable(instance))
    end
    function get_editable(instance::GtkSearchEntry)
        get_editable(GtkEditable(instance))
    end
    function get_enable_undo(instance::GtkSearchEntry)
        get_enable_undo(GtkEditable(instance))
    end
    function get_max_width_chars(instance::GtkSearchEntry)
        get_max_width_chars(GtkEditable(instance))
    end
    function get_position(instance::GtkSearchEntry)
        get_position(GtkEditable(instance))
    end
    function get_selection_bounds(instance::GtkSearchEntry)
        get_selection_bounds(GtkEditable(instance))
    end
    function get_text(instance::GtkSearchEntry)
        get_text(GtkEditable(instance))
    end
    function get_width_chars(instance::GtkSearchEntry)
        get_width_chars(GtkEditable(instance))
    end
    function init_delegate(instance::GtkSearchEntry)
        init_delegate(GtkEditable(instance))
    end
    function insert_text(instance::GtkSearchEntry, _text::Union{AbstractString, Symbol}, _length::Integer, _position::Integer)
        insert_text(GtkEditable(instance), _text, _length, _position)
    end
    function select_region(instance::GtkSearchEntry, _start_pos::Integer, _end_pos::Integer)
        select_region(GtkEditable(instance), _start_pos, _end_pos)
    end
    function set_alignment(instance::GtkSearchEntry, _xalign::Real)
        set_alignment(GtkEditable(instance), _xalign)
    end
    function set_editable(instance::GtkSearchEntry, _is_editable::Bool)
        set_editable(GtkEditable(instance), _is_editable)
    end
    function set_enable_undo(instance::GtkSearchEntry, _enable_undo::Bool)
        set_enable_undo(GtkEditable(instance), _enable_undo)
    end
    function set_max_width_chars(instance::GtkSearchEntry, _n_chars::Integer)
        set_max_width_chars(GtkEditable(instance), _n_chars)
    end
    function set_position(instance::GtkSearchEntry, _position::Integer)
        set_position(GtkEditable(instance), _position)
    end
    function set_text(instance::GtkSearchEntry, _text::Union{AbstractString, Symbol})
        set_text(GtkEditable(instance), _text)
    end
    function set_width_chars(instance::GtkSearchEntry, _n_chars::Integer)
        set_width_chars(GtkEditable(instance), _n_chars)
    end
    function SelectionFilterModel_new(_model::Maybe(GtkSelectionModel))
        _model_maybe = nothing_to_null(_model)
        ret = ccall(("gtk_selection_filter_model_new", libgtk4), Ptr{GObject}, (Ptr{GObject},), _model_maybe)
        ret2 = GtkSelectionFilterModelLeaf(ret, true)
        ret2
    end
    function get_model(instance::GtkSelectionFilterModel)
        ret = ccall(("gtk_selection_filter_model_get_model", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, false)
        ret2
    end
    function set_model(instance::GtkSelectionFilterModel, _model::Maybe(GtkSelectionModel))
        _model_maybe = nothing_to_null(_model)
        ret = ccall(("gtk_selection_filter_model_set_model", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _model_maybe)
        nothing
    end
    function get_item_type(instance::GtkSelectionFilterModel)
        get_item_type(GListModel(instance))
    end
    function get_n_items(instance::GtkSelectionFilterModel)
        get_n_items(GListModel(instance))
    end
    function get_item(instance::GtkSelectionFilterModel, _position::Integer)
        get_item(GListModel(instance), _position)
    end
    function items_changed(instance::GtkSelectionFilterModel, _position::Integer, _removed::Integer, _added::Integer)
        items_changed(GListModel(instance), _position, _removed, _added)
    end
    function Separator_new(_orientation)
        ret = ccall(("gtk_separator_new", libgtk4), Ptr{GObject}, (UInt32,), _orientation)
        ret2 = GtkSeparatorLeaf(ret, false)
        ret2
    end
    function announce(instance::GtkSeparator, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkSeparator)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkSeparator)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkSeparator)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkSeparator)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkSeparator)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkSeparator)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkSeparator, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkSeparator, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkSeparator, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkSeparator, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkSeparator, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkSeparator, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkSeparator, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkSeparator, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkSeparator, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkSeparator)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_orientation(instance::GtkSeparator)
        get_orientation(GtkOrientable(instance))
    end
    function set_orientation(instance::GtkSeparator, _orientation)
        set_orientation(GtkOrientable(instance), _orientation)
    end
    function reset_property(instance::GtkSettings, _name::Union{AbstractString, Symbol})
        ret = ccall(("gtk_settings_reset_property", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _name)
        nothing
    end
    function Shortcut_new(_trigger::Maybe(GtkShortcutTrigger), _action::Maybe(GtkShortcutAction))
        _trigger_maybe = begin
                if _trigger !== nothing
                    GLib.glib_ref(_trigger)
                end
                nothing_to_null(_trigger)
            end
        _action_maybe = begin
                if _action !== nothing
                    GLib.glib_ref(_action)
                end
                nothing_to_null(_action)
            end
        ret = ccall(("gtk_shortcut_new", libgtk4), Ptr{GObject}, (Ptr{GObject}, Ptr{GObject}), _trigger_maybe, _action_maybe)
        ret2 = GtkShortcutLeaf(ret, true)
        ret2
    end
    function get_action(instance::GtkShortcut)
        ret = ccall(("gtk_shortcut_get_action", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkShortcutAction, ret, false)
        ret2
    end
    function get_arguments(instance::GtkShortcut)
        ret = ccall(("gtk_shortcut_get_arguments", libgtk4), Ptr{GVariant}, (Ptr{GObject},), instance)
        ret2 = convert(GVariant, ret)
        ret2
    end
    function get_trigger(instance::GtkShortcut)
        ret = ccall(("gtk_shortcut_get_trigger", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkShortcutTrigger, ret, false)
        ret2
    end
    function set_action(instance::GtkShortcut, _action::Maybe(GtkShortcutAction))
        _action_maybe = begin
                if _action !== nothing
                    GLib.glib_ref(_action)
                end
                nothing_to_null(_action)
            end
        ret = ccall(("gtk_shortcut_set_action", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _action_maybe)
        nothing
    end
    function set_arguments(instance::GtkShortcut, _args::Maybe(GVariant))
        _args_maybe = nothing_to_null(_args)
        ret = ccall(("gtk_shortcut_set_arguments", libgtk4), Nothing, (Ptr{GObject}, Ptr{GVariant}), instance, _args_maybe)
        nothing
    end
    function set_trigger(instance::GtkShortcut, _trigger::Maybe(GtkShortcutTrigger))
        _trigger_maybe = begin
                if _trigger !== nothing
                    GLib.glib_ref(_trigger)
                end
                nothing_to_null(_trigger)
            end
        ret = ccall(("gtk_shortcut_set_trigger", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _trigger_maybe)
        nothing
    end
    function ShortcutAction_parse_string(_string::Union{AbstractString, Symbol})
        ret = ccall(("gtk_shortcut_action_parse_string", libgtk4), Ptr{GObject}, (Cstring,), _string)
        ret2 = convert_if_not_null(GtkShortcutAction, ret, true)
        ret2
    end
    function activate(instance::GtkShortcutAction, _flags, _widget::GtkWidget, _args::Maybe(GVariant))
        _args_maybe = nothing_to_null(_args)
        ret = ccall(("gtk_shortcut_action_activate", libgtk4), Cint, (Ptr{GObject}, UInt32, Ptr{GObject}, Ptr{GVariant}), instance, _flags, _widget, _args_maybe)
        ret2 = convert(Bool, ret)
        ret2
    end
    function print(instance::GtkShortcutAction, _string::Union{GString, Ref{_GString}})
        ret = ccall(("gtk_shortcut_action_print", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GString}), instance, _string)
        nothing
    end
    function to_string(instance::GtkShortcutAction)
        ret = ccall(("gtk_shortcut_action_to_string", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, true)
        ret2
    end
    function ShortcutController_new()
        ret = ccall(("gtk_shortcut_controller_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkShortcutControllerLeaf(ret, true)
        ret2
    end
    function ShortcutController_new_for_model(_model::GListModel)
        ret = ccall(("gtk_shortcut_controller_new_for_model", libgtk4), Ptr{GObject}, (Ptr{GObject},), _model)
        ret2 = GtkShortcutControllerLeaf(ret, true)
        ret2
    end
    function add_shortcut(instance::GtkShortcutController, _shortcut::GtkShortcut)
        _shortcut = GLib.glib_ref(_shortcut)
        ret = ccall(("gtk_shortcut_controller_add_shortcut", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _shortcut)
        nothing
    end
    function get_mnemonics_modifiers(instance::GtkShortcutController)
        ret = ccall(("gtk_shortcut_controller_get_mnemonics_modifiers", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = ModifierType(ret)
        ret2
    end
    function get_scope(instance::GtkShortcutController)
        ret = ccall(("gtk_shortcut_controller_get_scope", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = ShortcutScope(ret)
        ret2
    end
    function remove_shortcut(instance::GtkShortcutController, _shortcut::GtkShortcut)
        ret = ccall(("gtk_shortcut_controller_remove_shortcut", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _shortcut)
        nothing
    end
    function set_mnemonics_modifiers(instance::GtkShortcutController, _modifiers)
        ret = ccall(("gtk_shortcut_controller_set_mnemonics_modifiers", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _modifiers)
        nothing
    end
    function set_scope(instance::GtkShortcutController, _scope)
        ret = ccall(("gtk_shortcut_controller_set_scope", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _scope)
        nothing
    end
    function get_item_type(instance::GtkShortcutController)
        get_item_type(GListModel(instance))
    end
    function get_n_items(instance::GtkShortcutController)
        get_n_items(GListModel(instance))
    end
    function get_item(instance::GtkShortcutController, _position::Integer)
        get_item(GListModel(instance), _position)
    end
    function items_changed(instance::GtkShortcutController, _position::Integer, _removed::Integer, _added::Integer)
        items_changed(GListModel(instance), _position, _removed, _added)
    end
    function get_buildable_id(instance::GtkShortcutController)
        get_buildable_id(GtkBuildable(instance))
    end
    function ShortcutLabel_new(_accelerator::Union{AbstractString, Symbol})
        ret = ccall(("gtk_shortcut_label_new", libgtk4), Ptr{GObject}, (Cstring,), _accelerator)
        ret2 = GtkShortcutLabelLeaf(ret, false)
        ret2
    end
    function get_accelerator(instance::GtkShortcutLabel)
        ret = ccall(("gtk_shortcut_label_get_accelerator", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_disabled_text(instance::GtkShortcutLabel)
        ret = ccall(("gtk_shortcut_label_get_disabled_text", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function set_accelerator(instance::GtkShortcutLabel, _accelerator::Union{AbstractString, Symbol})
        ret = ccall(("gtk_shortcut_label_set_accelerator", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _accelerator)
        nothing
    end
    function set_disabled_text(instance::GtkShortcutLabel, _disabled_text::Union{AbstractString, Symbol})
        ret = ccall(("gtk_shortcut_label_set_disabled_text", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _disabled_text)
        nothing
    end
    function announce(instance::GtkShortcutLabel, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkShortcutLabel)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkShortcutLabel)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkShortcutLabel)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkShortcutLabel)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkShortcutLabel)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkShortcutLabel)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkShortcutLabel, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkShortcutLabel, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkShortcutLabel, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkShortcutLabel, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkShortcutLabel, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkShortcutLabel, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkShortcutLabel, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkShortcutLabel, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkShortcutLabel, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkShortcutLabel)
        get_buildable_id(GtkBuildable(instance))
    end
    function ShortcutTrigger_parse_string(_string::Union{AbstractString, Symbol})
        ret = ccall(("gtk_shortcut_trigger_parse_string", libgtk4), Ptr{GObject}, (Cstring,), _string)
        ret2 = convert_if_not_null(GtkShortcutTrigger, ret, true)
        ret2
    end
    function compare(instance::GtkShortcutTrigger, _trigger2::GtkShortcutTrigger)
        ret = ccall(("gtk_shortcut_trigger_compare", libgtk4), Int32, (Ptr{GObject}, Ptr{GObject}), instance, _trigger2)
        ret
    end
    function equal(instance::GtkShortcutTrigger, _trigger2::GtkShortcutTrigger)
        ret = ccall(("gtk_shortcut_trigger_equal", libgtk4), Cint, (Ptr{GObject}, Ptr{GObject}), instance, _trigger2)
        ret2 = convert(Bool, ret)
        ret2
    end
    function hash(instance::GtkShortcutTrigger)
        ret = ccall(("gtk_shortcut_trigger_hash", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function print(instance::GtkShortcutTrigger, _string::Union{GString, Ref{_GString}})
        ret = ccall(("gtk_shortcut_trigger_print", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GString}), instance, _string)
        nothing
    end
    function print_label(instance::GtkShortcutTrigger, _display::GdkDisplay, _string::Union{GString, Ref{_GString}})
        ret = ccall(("gtk_shortcut_trigger_print_label", libgtk4), Cint, (Ptr{GObject}, Ptr{GObject}, Ptr{_GString}), instance, _display, _string)
        ret2 = convert(Bool, ret)
        ret2
    end
    function to_label(instance::GtkShortcutTrigger, _display::GdkDisplay)
        ret = ccall(("gtk_shortcut_trigger_to_label", libgtk4), Cstring, (Ptr{GObject}, Ptr{GObject}), instance, _display)
        ret2 = string_or_nothing(ret, true)
        ret2
    end
    function to_string(instance::GtkShortcutTrigger)
        ret = ccall(("gtk_shortcut_trigger_to_string", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, true)
        ret2
    end
    function trigger(instance::GtkShortcutTrigger, _event::GdkEvent, _enable_mnemonics::Bool)
        ret = ccall(("gtk_shortcut_trigger_trigger", libgtk4), UInt32, (Ptr{GObject}, Ptr{GdkEvent}, Cint), instance, _event, _enable_mnemonics)
        ret2 = KeyMatch(ret)
        ret2
    end
    function add_shortcut(instance::GtkShortcutsGroup, _shortcut::GtkShortcutsShortcut)
        ret = ccall(("gtk_shortcuts_group_add_shortcut", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _shortcut)
        nothing
    end
    function announce(instance::GtkShortcutsGroup, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkShortcutsGroup)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkShortcutsGroup)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkShortcutsGroup)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkShortcutsGroup)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkShortcutsGroup)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkShortcutsGroup)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkShortcutsGroup, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkShortcutsGroup, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkShortcutsGroup, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkShortcutsGroup, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkShortcutsGroup, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkShortcutsGroup, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkShortcutsGroup, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkShortcutsGroup, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkShortcutsGroup, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkShortcutsGroup)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_orientation(instance::GtkShortcutsGroup)
        get_orientation(GtkOrientable(instance))
    end
    function set_orientation(instance::GtkShortcutsGroup, _orientation)
        set_orientation(GtkOrientable(instance), _orientation)
    end
    function add_group(instance::GtkShortcutsSection, _group::GtkShortcutsGroup)
        ret = ccall(("gtk_shortcuts_section_add_group", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _group)
        nothing
    end
    function announce(instance::GtkShortcutsSection, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkShortcutsSection)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkShortcutsSection)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkShortcutsSection)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkShortcutsSection)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkShortcutsSection)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkShortcutsSection)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkShortcutsSection, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkShortcutsSection, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkShortcutsSection, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkShortcutsSection, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkShortcutsSection, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkShortcutsSection, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkShortcutsSection, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkShortcutsSection, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkShortcutsSection, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkShortcutsSection)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_orientation(instance::GtkShortcutsSection)
        get_orientation(GtkOrientable(instance))
    end
    function set_orientation(instance::GtkShortcutsSection, _orientation)
        set_orientation(GtkOrientable(instance), _orientation)
    end
    function announce(instance::GtkShortcutsShortcut, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkShortcutsShortcut)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkShortcutsShortcut)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkShortcutsShortcut)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkShortcutsShortcut)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkShortcutsShortcut)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkShortcutsShortcut)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkShortcutsShortcut, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkShortcutsShortcut, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkShortcutsShortcut, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkShortcutsShortcut, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkShortcutsShortcut, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkShortcutsShortcut, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkShortcutsShortcut, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkShortcutsShortcut, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkShortcutsShortcut, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkShortcutsShortcut)
        get_buildable_id(GtkBuildable(instance))
    end
    function add_section(instance::GtkShortcutsWindow, _section::GtkShortcutsSection)
        ret = ccall(("gtk_shortcuts_window_add_section", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _section)
        nothing
    end
    function announce(instance::GtkShortcutsWindow, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkShortcutsWindow)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkShortcutsWindow)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkShortcutsWindow)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkShortcutsWindow)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkShortcutsWindow)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkShortcutsWindow)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkShortcutsWindow, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkShortcutsWindow, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkShortcutsWindow, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkShortcutsWindow, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkShortcutsWindow, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkShortcutsWindow, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkShortcutsWindow, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkShortcutsWindow, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkShortcutsWindow, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkShortcutsWindow)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_renderer(instance::GtkShortcutsWindow)
        get_renderer(GtkNative(instance))
    end
    function get_surface(instance::GtkShortcutsWindow)
        get_surface(GtkNative(instance))
    end
    function get_surface_transform(instance::GtkShortcutsWindow)
        get_surface_transform(GtkNative(instance))
    end
    function realize(instance::GtkShortcutsWindow)
        realize(GtkNative(instance))
    end
    function unrealize(instance::GtkShortcutsWindow)
        unrealize(GtkNative(instance))
    end
    function get_display(instance::GtkShortcutsWindow)
        get_display(GtkRoot(instance))
    end
    function get_focus(instance::GtkShortcutsWindow)
        get_focus(GtkRoot(instance))
    end
    function set_focus(instance::GtkShortcutsWindow, _focus::Maybe(GtkWidget))
        set_focus(GtkRoot(instance), _focus)
    end
    function SignalAction_new(_signal_name::Union{AbstractString, Symbol})
        ret = ccall(("gtk_signal_action_new", libgtk4), Ptr{GObject}, (Cstring,), _signal_name)
        ret2 = GtkSignalActionLeaf(ret, true)
        ret2
    end
    function get_signal_name(instance::GtkSignalAction)
        ret = ccall(("gtk_signal_action_get_signal_name", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function SignalListItemFactory_new()
        ret = ccall(("gtk_signal_list_item_factory_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkSignalListItemFactoryLeaf(ret, true)
        ret2
    end
    function SingleSelection_new(_model::Maybe(GListModel))
        _model_maybe = begin
                if _model !== nothing
                    GLib.glib_ref(_model)
                end
                nothing_to_null(_model)
            end
        ret = ccall(("gtk_single_selection_new", libgtk4), Ptr{GObject}, (Ptr{GObject},), _model_maybe)
        ret2 = GtkSingleSelectionLeaf(ret, true)
        ret2
    end
    function get_autoselect(instance::GtkSingleSelection)
        ret = ccall(("gtk_single_selection_get_autoselect", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_can_unselect(instance::GtkSingleSelection)
        ret = ccall(("gtk_single_selection_get_can_unselect", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_model(instance::GtkSingleSelection)
        ret = ccall(("gtk_single_selection_get_model", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, false)
        ret2
    end
    function get_selected(instance::GtkSingleSelection)
        ret = ccall(("gtk_single_selection_get_selected", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function get_selected_item(instance::GtkSingleSelection)
        ret = ccall(("gtk_single_selection_get_selected_item", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GObject, ret, false)
        ret2
    end
    function set_autoselect(instance::GtkSingleSelection, _autoselect::Bool)
        ret = ccall(("gtk_single_selection_set_autoselect", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _autoselect)
        nothing
    end
    function set_can_unselect(instance::GtkSingleSelection, _can_unselect::Bool)
        ret = ccall(("gtk_single_selection_set_can_unselect", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _can_unselect)
        nothing
    end
    function set_model(instance::GtkSingleSelection, _model::Maybe(GListModel))
        _model_maybe = nothing_to_null(_model)
        ret = ccall(("gtk_single_selection_set_model", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _model_maybe)
        nothing
    end
    function set_selected(instance::GtkSingleSelection, _position::Integer)
        ret = ccall(("gtk_single_selection_set_selected", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _position)
        nothing
    end
    function get_item_type(instance::GtkSingleSelection)
        get_item_type(GListModel(instance))
    end
    function get_n_items(instance::GtkSingleSelection)
        get_n_items(GListModel(instance))
    end
    function get_item(instance::GtkSingleSelection, _position::Integer)
        get_item(GListModel(instance), _position)
    end
    function items_changed(instance::GtkSingleSelection, _position::Integer, _removed::Integer, _added::Integer)
        items_changed(GListModel(instance), _position, _removed, _added)
    end
    function get_section(instance::GtkSingleSelection, _position::Integer)
        get_section(GtkSectionModel(instance), _position)
    end
    function sections_changed(instance::GtkSingleSelection, _position::Integer, _n_items::Integer)
        sections_changed(GtkSectionModel(instance), _position, _n_items)
    end
    function get_selection(instance::GtkSingleSelection)
        get_selection(GtkSelectionModel(instance))
    end
    function get_selection_in_range(instance::GtkSingleSelection, _position::Integer, _n_items::Integer)
        get_selection_in_range(GtkSelectionModel(instance), _position, _n_items)
    end
    function is_selected(instance::GtkSingleSelection, _position::Integer)
        is_selected(GtkSelectionModel(instance), _position)
    end
    function select_all(instance::GtkSingleSelection)
        select_all(GtkSelectionModel(instance))
    end
    function select_item(instance::GtkSingleSelection, _position::Integer, _unselect_rest::Bool)
        select_item(GtkSelectionModel(instance), _position, _unselect_rest)
    end
    function select_range(instance::GtkSingleSelection, _position::Integer, _n_items::Integer, _unselect_rest::Bool)
        select_range(GtkSelectionModel(instance), _position, _n_items, _unselect_rest)
    end
    function selection_changed(instance::GtkSingleSelection, _position::Integer, _n_items::Integer)
        selection_changed(GtkSelectionModel(instance), _position, _n_items)
    end
    function set_selection(instance::GtkSingleSelection, _selected::GtkBitset, _mask::GtkBitset)
        set_selection(GtkSelectionModel(instance), _selected, _mask)
    end
    function unselect_all(instance::GtkSingleSelection)
        unselect_all(GtkSelectionModel(instance))
    end
    function unselect_item(instance::GtkSingleSelection, _position::Integer)
        unselect_item(GtkSelectionModel(instance), _position)
    end
    function unselect_range(instance::GtkSingleSelection, _position::Integer, _n_items::Integer)
        unselect_range(GtkSelectionModel(instance), _position, _n_items)
    end
    function SizeGroup_new(_mode)
        ret = ccall(("gtk_size_group_new", libgtk4), Ptr{GObject}, (UInt32,), _mode)
        ret2 = GtkSizeGroupLeaf(ret, true)
        ret2
    end
    function add_widget(instance::GtkSizeGroup, _widget::GtkWidget)
        ret = ccall(("gtk_size_group_add_widget", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _widget)
        nothing
    end
    function get_mode(instance::GtkSizeGroup)
        ret = ccall(("gtk_size_group_get_mode", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = SizeGroupMode(ret)
        ret2
    end
    function get_widgets(instance::GtkSizeGroup)
        ret = ccall(("gtk_size_group_get_widgets", libgtk4), Ptr{GLib._GSList{Ptr{GObject}}}, (Ptr{GObject},), instance)
        ret2 = GLib.GList(ret, false, false)
        ret2
    end
    function remove_widget(instance::GtkSizeGroup, _widget::GtkWidget)
        ret = ccall(("gtk_size_group_remove_widget", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _widget)
        nothing
    end
    function set_mode(instance::GtkSizeGroup, _mode)
        ret = ccall(("gtk_size_group_set_mode", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _mode)
        nothing
    end
    function get_buildable_id(instance::GtkSizeGroup)
        get_buildable_id(GtkBuildable(instance))
    end
    function SliceListModel_new(_model::Maybe(GListModel), _offset::Integer, _size::Integer)
        _model_maybe = begin
                if _model !== nothing
                    GLib.glib_ref(_model)
                end
                nothing_to_null(_model)
            end
        ret = ccall(("gtk_slice_list_model_new", libgtk4), Ptr{GObject}, (Ptr{GObject}, UInt32, UInt32), _model_maybe, _offset, _size)
        ret2 = GtkSliceListModelLeaf(ret, true)
        ret2
    end
    function get_model(instance::GtkSliceListModel)
        ret = ccall(("gtk_slice_list_model_get_model", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, false)
        ret2
    end
    function get_offset(instance::GtkSliceListModel)
        ret = ccall(("gtk_slice_list_model_get_offset", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function get_size(instance::GtkSliceListModel)
        ret = ccall(("gtk_slice_list_model_get_size", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function set_model(instance::GtkSliceListModel, _model::Maybe(GListModel))
        _model_maybe = nothing_to_null(_model)
        ret = ccall(("gtk_slice_list_model_set_model", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _model_maybe)
        nothing
    end
    function set_offset(instance::GtkSliceListModel, _offset::Integer)
        ret = ccall(("gtk_slice_list_model_set_offset", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _offset)
        nothing
    end
    function set_size(instance::GtkSliceListModel, _size::Integer)
        ret = ccall(("gtk_slice_list_model_set_size", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _size)
        nothing
    end
    function get_item_type(instance::GtkSliceListModel)
        get_item_type(GListModel(instance))
    end
    function get_n_items(instance::GtkSliceListModel)
        get_n_items(GListModel(instance))
    end
    function get_item(instance::GtkSliceListModel, _position::Integer)
        get_item(GListModel(instance), _position)
    end
    function items_changed(instance::GtkSliceListModel, _position::Integer, _removed::Integer, _added::Integer)
        items_changed(GListModel(instance), _position, _removed, _added)
    end
    function get_section(instance::GtkSliceListModel, _position::Integer)
        get_section(GtkSectionModel(instance), _position)
    end
    function sections_changed(instance::GtkSliceListModel, _position::Integer, _n_items::Integer)
        sections_changed(GtkSectionModel(instance), _position, _n_items)
    end
    function Snapshot_new()
        ret = ccall(("gtk_snapshot_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkSnapshotLeaf(ret, true)
        ret2
    end
    function append_border(instance::GtkSnapshot, _outline::Union{GskRoundedRect, Ref{_GskRoundedRect}}, _border_width, _border_color)
        _border_width_arr = convert(Vector{Float32}, _border_width)
        _border_color_arr = convert(Vector{_GdkRGBA}, _border_color)
        ret = ccall(("gtk_snapshot_append_border", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GskRoundedRect}, Ptr{Float32}, Ptr{_GdkRGBA}), instance, _outline, _border_width_arr, _border_color_arr)
        nothing
    end
    function append_cairo(instance::GtkSnapshot, _bounds::Union{GrapheneRect, Ref{_GrapheneRect}})
        ret = ccall(("gtk_snapshot_append_cairo", libgtk4), Ptr{cairoContext}, (Ptr{GObject}, Ptr{_GrapheneRect}), instance, _bounds)
        ret2 = convert(cairoContext, ret, true)
        ret2
    end
    function append_color(instance::GtkSnapshot, _color::Union{GdkRGBA, Ref{_GdkRGBA}}, _bounds::Union{GrapheneRect, Ref{_GrapheneRect}})
        ret = ccall(("gtk_snapshot_append_color", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GdkRGBA}, Ptr{_GrapheneRect}), instance, _color, _bounds)
        nothing
    end
    function append_conic_gradient(instance::GtkSnapshot, _bounds::Union{GrapheneRect, Ref{_GrapheneRect}}, _center::Union{GraphenePoint, Ref{_GraphenePoint}}, _rotation::Real, _stops)
        _stops_arr = convert(Vector{_GskColorStop}, _stops)
        _n_stops = length(_stops)
        ret = ccall(("gtk_snapshot_append_conic_gradient", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GrapheneRect}, Ptr{_GraphenePoint}, Float32, Ptr{_GskColorStop}, UInt64), instance, _bounds, _center, _rotation, _stops_arr, _n_stops)
        nothing
    end
    function append_fill(instance::GtkSnapshot, _path::GskPath, _fill_rule, _color::Union{GdkRGBA, Ref{_GdkRGBA}})
        ret = ccall(("gtk_snapshot_append_fill", libgtk4), Nothing, (Ptr{GObject}, Ptr{GskPath}, UInt32, Ptr{_GdkRGBA}), instance, _path, _fill_rule, _color)
        nothing
    end
    function append_inset_shadow(instance::GtkSnapshot, _outline::Union{GskRoundedRect, Ref{_GskRoundedRect}}, _color::Union{GdkRGBA, Ref{_GdkRGBA}}, _dx::Real, _dy::Real, _spread::Real, _blur_radius::Real)
        ret = ccall(("gtk_snapshot_append_inset_shadow", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GskRoundedRect}, Ptr{_GdkRGBA}, Float32, Float32, Float32, Float32), instance, _outline, _color, _dx, _dy, _spread, _blur_radius)
        nothing
    end
    function append_layout(instance::GtkSnapshot, _layout::PangoLayout, _color::Union{GdkRGBA, Ref{_GdkRGBA}})
        ret = ccall(("gtk_snapshot_append_layout", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{_GdkRGBA}), instance, _layout, _color)
        nothing
    end
    function append_linear_gradient(instance::GtkSnapshot, _bounds::Union{GrapheneRect, Ref{_GrapheneRect}}, _start_point::Union{GraphenePoint, Ref{_GraphenePoint}}, _end_point::Union{GraphenePoint, Ref{_GraphenePoint}}, _stops)
        _stops_arr = convert(Vector{_GskColorStop}, _stops)
        _n_stops = length(_stops)
        ret = ccall(("gtk_snapshot_append_linear_gradient", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GrapheneRect}, Ptr{_GraphenePoint}, Ptr{_GraphenePoint}, Ptr{_GskColorStop}, UInt64), instance, _bounds, _start_point, _end_point, _stops_arr, _n_stops)
        nothing
    end
    function append_outset_shadow(instance::GtkSnapshot, _outline::Union{GskRoundedRect, Ref{_GskRoundedRect}}, _color::Union{GdkRGBA, Ref{_GdkRGBA}}, _dx::Real, _dy::Real, _spread::Real, _blur_radius::Real)
        ret = ccall(("gtk_snapshot_append_outset_shadow", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GskRoundedRect}, Ptr{_GdkRGBA}, Float32, Float32, Float32, Float32), instance, _outline, _color, _dx, _dy, _spread, _blur_radius)
        nothing
    end
    function append_radial_gradient(instance::GtkSnapshot, _bounds::Union{GrapheneRect, Ref{_GrapheneRect}}, _center::Union{GraphenePoint, Ref{_GraphenePoint}}, _hradius::Real, _vradius::Real, _start::Real, _end::Real, _stops)
        _stops_arr = convert(Vector{_GskColorStop}, _stops)
        _n_stops = length(_stops)
        ret = ccall(("gtk_snapshot_append_radial_gradient", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GrapheneRect}, Ptr{_GraphenePoint}, Float32, Float32, Float32, Float32, Ptr{_GskColorStop}, UInt64), instance, _bounds, _center, _hradius, _vradius, _start, _end, _stops_arr, _n_stops)
        nothing
    end
    function append_repeating_linear_gradient(instance::GtkSnapshot, _bounds::Union{GrapheneRect, Ref{_GrapheneRect}}, _start_point::Union{GraphenePoint, Ref{_GraphenePoint}}, _end_point::Union{GraphenePoint, Ref{_GraphenePoint}}, _stops)
        _stops_arr = convert(Vector{_GskColorStop}, _stops)
        _n_stops = length(_stops)
        ret = ccall(("gtk_snapshot_append_repeating_linear_gradient", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GrapheneRect}, Ptr{_GraphenePoint}, Ptr{_GraphenePoint}, Ptr{_GskColorStop}, UInt64), instance, _bounds, _start_point, _end_point, _stops_arr, _n_stops)
        nothing
    end
    function append_repeating_radial_gradient(instance::GtkSnapshot, _bounds::Union{GrapheneRect, Ref{_GrapheneRect}}, _center::Union{GraphenePoint, Ref{_GraphenePoint}}, _hradius::Real, _vradius::Real, _start::Real, _end::Real, _stops)
        _stops_arr = convert(Vector{_GskColorStop}, _stops)
        _n_stops = length(_stops)
        ret = ccall(("gtk_snapshot_append_repeating_radial_gradient", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GrapheneRect}, Ptr{_GraphenePoint}, Float32, Float32, Float32, Float32, Ptr{_GskColorStop}, UInt64), instance, _bounds, _center, _hradius, _vradius, _start, _end, _stops_arr, _n_stops)
        nothing
    end
    function append_scaled_texture(instance::GtkSnapshot, _texture::GdkTexture, _filter, _bounds::Union{GrapheneRect, Ref{_GrapheneRect}})
        ret = ccall(("gtk_snapshot_append_scaled_texture", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, UInt32, Ptr{_GrapheneRect}), instance, _texture, _filter, _bounds)
        nothing
    end
    function append_stroke(instance::GtkSnapshot, _path::GskPath, _stroke::GskStroke, _color::Union{GdkRGBA, Ref{_GdkRGBA}})
        ret = ccall(("gtk_snapshot_append_stroke", libgtk4), Nothing, (Ptr{GObject}, Ptr{GskPath}, Ptr{GskStroke}, Ptr{_GdkRGBA}), instance, _path, _stroke, _color)
        nothing
    end
    function append_texture(instance::GtkSnapshot, _texture::GdkTexture, _bounds::Union{GrapheneRect, Ref{_GrapheneRect}})
        ret = ccall(("gtk_snapshot_append_texture", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{_GrapheneRect}), instance, _texture, _bounds)
        nothing
    end
    function gl_shader_pop_texture(instance::GtkSnapshot)
        ret = ccall(("gtk_snapshot_gl_shader_pop_texture", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function perspective(instance::GtkSnapshot, _depth::Real)
        ret = ccall(("gtk_snapshot_perspective", libgtk4), Nothing, (Ptr{GObject}, Float32), instance, _depth)
        nothing
    end
    function pop(instance::GtkSnapshot)
        ret = ccall(("gtk_snapshot_pop", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function push_blend(instance::GtkSnapshot, _blend_mode)
        ret = ccall(("gtk_snapshot_push_blend", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _blend_mode)
        nothing
    end
    function push_blur(instance::GtkSnapshot, _radius::Real)
        ret = ccall(("gtk_snapshot_push_blur", libgtk4), Nothing, (Ptr{GObject}, Float64), instance, _radius)
        nothing
    end
    function push_clip(instance::GtkSnapshot, _bounds::Union{GrapheneRect, Ref{_GrapheneRect}})
        ret = ccall(("gtk_snapshot_push_clip", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GrapheneRect}), instance, _bounds)
        nothing
    end
    function push_color_matrix(instance::GtkSnapshot, _color_matrix::Union{GrapheneMatrix, Ref{_GrapheneMatrix}}, _color_offset::Union{GrapheneVec4, Ref{_GrapheneVec4}})
        ret = ccall(("gtk_snapshot_push_color_matrix", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GrapheneMatrix}, Ptr{_GrapheneVec4}), instance, _color_matrix, _color_offset)
        nothing
    end
    function push_cross_fade(instance::GtkSnapshot, _progress::Real)
        ret = ccall(("gtk_snapshot_push_cross_fade", libgtk4), Nothing, (Ptr{GObject}, Float64), instance, _progress)
        nothing
    end
    function push_fill(instance::GtkSnapshot, _path::GskPath, _fill_rule)
        ret = ccall(("gtk_snapshot_push_fill", libgtk4), Nothing, (Ptr{GObject}, Ptr{GskPath}, UInt32), instance, _path, _fill_rule)
        nothing
    end
    function push_gl_shader(instance::GtkSnapshot, _shader::GskGLShader, _bounds::Union{GrapheneRect, Ref{_GrapheneRect}}, _take_args::GBytes)
        ret = ccall(("gtk_snapshot_push_gl_shader", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{_GrapheneRect}, Ptr{GBytes}), instance, _shader, _bounds, _take_args)
        nothing
    end
    function push_mask(instance::GtkSnapshot, _mask_mode)
        ret = ccall(("gtk_snapshot_push_mask", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _mask_mode)
        nothing
    end
    function push_opacity(instance::GtkSnapshot, _opacity::Real)
        ret = ccall(("gtk_snapshot_push_opacity", libgtk4), Nothing, (Ptr{GObject}, Float64), instance, _opacity)
        nothing
    end
    function push_repeat(instance::GtkSnapshot, _bounds::Union{GrapheneRect, Ref{_GrapheneRect}}, _child_bounds::Maybe(Union{GrapheneRect, Ref{_GrapheneRect}}))
        _child_bounds_maybe = nothing_to_null(_child_bounds)
        ret = ccall(("gtk_snapshot_push_repeat", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GrapheneRect}, Ptr{_GrapheneRect}), instance, _bounds, _child_bounds_maybe)
        nothing
    end
    function push_rounded_clip(instance::GtkSnapshot, _bounds::Union{GskRoundedRect, Ref{_GskRoundedRect}})
        ret = ccall(("gtk_snapshot_push_rounded_clip", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GskRoundedRect}), instance, _bounds)
        nothing
    end
    function push_shadow(instance::GtkSnapshot, _shadow)
        _shadow_arr = convert(Vector{_GskShadow}, _shadow)
        _n_shadows = length(_shadow)
        ret = ccall(("gtk_snapshot_push_shadow", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GskShadow}, UInt64), instance, _shadow_arr, _n_shadows)
        nothing
    end
    function push_stroke(instance::GtkSnapshot, _path::GskPath, _stroke::GskStroke)
        ret = ccall(("gtk_snapshot_push_stroke", libgtk4), Nothing, (Ptr{GObject}, Ptr{GskPath}, Ptr{GskStroke}), instance, _path, _stroke)
        nothing
    end
    function render_background(instance::GtkSnapshot, _context::GtkStyleContext, _x::Real, _y::Real, _width::Real, _height::Real)
        ret = ccall(("gtk_snapshot_render_background", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Float64, Float64, Float64, Float64), instance, _context, _x, _y, _width, _height)
        nothing
    end
    function render_focus(instance::GtkSnapshot, _context::GtkStyleContext, _x::Real, _y::Real, _width::Real, _height::Real)
        ret = ccall(("gtk_snapshot_render_focus", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Float64, Float64, Float64, Float64), instance, _context, _x, _y, _width, _height)
        nothing
    end
    function render_frame(instance::GtkSnapshot, _context::GtkStyleContext, _x::Real, _y::Real, _width::Real, _height::Real)
        ret = ccall(("gtk_snapshot_render_frame", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Float64, Float64, Float64, Float64), instance, _context, _x, _y, _width, _height)
        nothing
    end
    function render_insertion_cursor(instance::GtkSnapshot, _context::GtkStyleContext, _x::Real, _y::Real, _layout::PangoLayout, _index::Integer, _direction)
        ret = ccall(("gtk_snapshot_render_insertion_cursor", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Float64, Float64, Ptr{GObject}, Int32, UInt32), instance, _context, _x, _y, _layout, _index, _direction)
        nothing
    end
    function render_layout(instance::GtkSnapshot, _context::GtkStyleContext, _x::Real, _y::Real, _layout::PangoLayout)
        ret = ccall(("gtk_snapshot_render_layout", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Float64, Float64, Ptr{GObject}), instance, _context, _x, _y, _layout)
        nothing
    end
    function restore(instance::GtkSnapshot)
        ret = ccall(("gtk_snapshot_restore", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function rotate(instance::GtkSnapshot, _angle::Real)
        ret = ccall(("gtk_snapshot_rotate", libgtk4), Nothing, (Ptr{GObject}, Float32), instance, _angle)
        nothing
    end
    function rotate_3d(instance::GtkSnapshot, _angle::Real, _axis::Union{GrapheneVec3, Ref{_GrapheneVec3}})
        ret = ccall(("gtk_snapshot_rotate_3d", libgtk4), Nothing, (Ptr{GObject}, Float32, Ptr{_GrapheneVec3}), instance, _angle, _axis)
        nothing
    end
    function save(instance::GtkSnapshot)
        ret = ccall(("gtk_snapshot_save", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function scale(instance::GtkSnapshot, _factor_x::Real, _factor_y::Real)
        ret = ccall(("gtk_snapshot_scale", libgtk4), Nothing, (Ptr{GObject}, Float32, Float32), instance, _factor_x, _factor_y)
        nothing
    end
    function scale_3d(instance::GtkSnapshot, _factor_x::Real, _factor_y::Real, _factor_z::Real)
        ret = ccall(("gtk_snapshot_scale_3d", libgtk4), Nothing, (Ptr{GObject}, Float32, Float32, Float32), instance, _factor_x, _factor_y, _factor_z)
        nothing
    end
    function to_node(instance::GtkSnapshot)
        ret = ccall(("gtk_snapshot_to_node", libgtk4), Ptr{GskRenderNode}, (Ptr{GObject},), instance)
        ret2 = convert(GskRenderNode, ret)
        ret2
    end
    function to_paintable(instance::GtkSnapshot, _size::Maybe(Union{GrapheneSize, Ref{_GrapheneSize}}))
        _size_maybe = nothing_to_null(_size)
        ret = ccall(("gtk_snapshot_to_paintable", libgtk4), Ptr{GObject}, (Ptr{GObject}, Ptr{_GrapheneSize}), instance, _size_maybe)
        ret2 = GLib.find_leaf_type_if_not_null(ret, true)
        ret2
    end
    function transform(instance::GtkSnapshot, _transform::Maybe(GskTransform))
        _transform_maybe = nothing_to_null(_transform)
        ret = ccall(("gtk_snapshot_transform", libgtk4), Nothing, (Ptr{GObject}, Ptr{GskTransform}), instance, _transform_maybe)
        nothing
    end
    function transform_matrix(instance::GtkSnapshot, _matrix::Union{GrapheneMatrix, Ref{_GrapheneMatrix}})
        ret = ccall(("gtk_snapshot_transform_matrix", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GrapheneMatrix}), instance, _matrix)
        nothing
    end
    function translate(instance::GtkSnapshot, _point::Union{GraphenePoint, Ref{_GraphenePoint}})
        ret = ccall(("gtk_snapshot_translate", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GraphenePoint}), instance, _point)
        nothing
    end
    function translate_3d(instance::GtkSnapshot, _point::Union{GraphenePoint3D, Ref{_GraphenePoint3D}})
        ret = ccall(("gtk_snapshot_translate_3d", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GraphenePoint3D}), instance, _point)
        nothing
    end
    function SortListModel_new(_model::Maybe(GListModel), _sorter::Maybe(GtkSorter))
        _model_maybe = begin
                if _model !== nothing
                    GLib.glib_ref(_model)
                end
                nothing_to_null(_model)
            end
        _sorter_maybe = begin
                if _sorter !== nothing
                    GLib.glib_ref(_sorter)
                end
                nothing_to_null(_sorter)
            end
        ret = ccall(("gtk_sort_list_model_new", libgtk4), Ptr{GObject}, (Ptr{GObject}, Ptr{GObject}), _model_maybe, _sorter_maybe)
        ret2 = GtkSortListModelLeaf(ret, true)
        ret2
    end
    function get_incremental(instance::GtkSortListModel)
        ret = ccall(("gtk_sort_list_model_get_incremental", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_model(instance::GtkSortListModel)
        ret = ccall(("gtk_sort_list_model_get_model", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, false)
        ret2
    end
    function get_pending(instance::GtkSortListModel)
        ret = ccall(("gtk_sort_list_model_get_pending", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function get_section_sorter(instance::GtkSortListModel)
        ret = ccall(("gtk_sort_list_model_get_section_sorter", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkSorter, ret, false)
        ret2
    end
    function get_sorter(instance::GtkSortListModel)
        ret = ccall(("gtk_sort_list_model_get_sorter", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkSorter, ret, false)
        ret2
    end
    function set_incremental(instance::GtkSortListModel, _incremental::Bool)
        ret = ccall(("gtk_sort_list_model_set_incremental", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _incremental)
        nothing
    end
    function set_model(instance::GtkSortListModel, _model::Maybe(GListModel))
        _model_maybe = nothing_to_null(_model)
        ret = ccall(("gtk_sort_list_model_set_model", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _model_maybe)
        nothing
    end
    function set_section_sorter(instance::GtkSortListModel, _sorter::Maybe(GtkSorter))
        _sorter_maybe = nothing_to_null(_sorter)
        ret = ccall(("gtk_sort_list_model_set_section_sorter", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _sorter_maybe)
        nothing
    end
    function set_sorter(instance::GtkSortListModel, _sorter::Maybe(GtkSorter))
        _sorter_maybe = nothing_to_null(_sorter)
        ret = ccall(("gtk_sort_list_model_set_sorter", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _sorter_maybe)
        nothing
    end
    function get_item_type(instance::GtkSortListModel)
        get_item_type(GListModel(instance))
    end
    function get_n_items(instance::GtkSortListModel)
        get_n_items(GListModel(instance))
    end
    function get_item(instance::GtkSortListModel, _position::Integer)
        get_item(GListModel(instance), _position)
    end
    function items_changed(instance::GtkSortListModel, _position::Integer, _removed::Integer, _added::Integer)
        items_changed(GListModel(instance), _position, _removed, _added)
    end
    function get_section(instance::GtkSortListModel, _position::Integer)
        get_section(GtkSectionModel(instance), _position)
    end
    function sections_changed(instance::GtkSortListModel, _position::Integer, _n_items::Integer)
        sections_changed(GtkSectionModel(instance), _position, _n_items)
    end
    function changed(instance::GtkSorter, _change)
        ret = ccall(("gtk_sorter_changed", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _change)
        nothing
    end
    function compare(instance::GtkSorter, _item1::GObject, _item2::GObject)
        ret = ccall(("gtk_sorter_compare", libgtk4), UInt32, (Ptr{GObject}, Ptr{GObject}, Ptr{GObject}), instance, _item1, _item2)
        ret2 = Ordering(ret)
        ret2
    end
    function get_order(instance::GtkSorter)
        ret = ccall(("gtk_sorter_get_order", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = SorterOrder(ret)
        ret2
    end
    function SpinButton_new(_adjustment::Maybe(GtkAdjustment), _climb_rate::Real, _digits::Integer)
        _adjustment_maybe = nothing_to_null(_adjustment)
        ret = ccall(("gtk_spin_button_new", libgtk4), Ptr{GObject}, (Ptr{GObject}, Float64, UInt32), _adjustment_maybe, _climb_rate, _digits)
        ret2 = GtkSpinButtonLeaf(ret, false)
        ret2
    end
    function SpinButton_new_with_range(_min::Real, _max::Real, _step::Real)
        ret = ccall(("gtk_spin_button_new_with_range", libgtk4), Ptr{GObject}, (Float64, Float64, Float64), _min, _max, _step)
        ret2 = GtkSpinButtonLeaf(ret, false)
        ret2
    end
    function configure(instance::GtkSpinButton, _adjustment::Maybe(GtkAdjustment), _climb_rate::Real, _digits::Integer)
        _adjustment_maybe = nothing_to_null(_adjustment)
        ret = ccall(("gtk_spin_button_configure", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Float64, UInt32), instance, _adjustment_maybe, _climb_rate, _digits)
        nothing
    end
    function get_activates_default(instance::GtkSpinButton)
        ret = ccall(("gtk_spin_button_get_activates_default", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_adjustment(instance::GtkSpinButton)
        ret = ccall(("gtk_spin_button_get_adjustment", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GtkAdjustment, ret, false)
        ret2
    end
    function get_climb_rate(instance::GtkSpinButton)
        ret = ccall(("gtk_spin_button_get_climb_rate", libgtk4), Float64, (Ptr{GObject},), instance)
        ret
    end
    function get_digits(instance::GtkSpinButton)
        ret = ccall(("gtk_spin_button_get_digits", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function get_increments(instance::GtkSpinButton)
        m_step = Ref{Float64}()
        m_page = Ref{Float64}()
        ret = ccall(("gtk_spin_button_get_increments", libgtk4), Nothing, (Ptr{GObject}, Ptr{Float64}, Ptr{Float64}), instance, m_step, m_page)
        _step = m_step[]
        _page = m_page[]
        (_step, _page)
    end
    function get_numeric(instance::GtkSpinButton)
        ret = ccall(("gtk_spin_button_get_numeric", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_range(instance::GtkSpinButton)
        m_min = Ref{Float64}()
        m_max = Ref{Float64}()
        ret = ccall(("gtk_spin_button_get_range", libgtk4), Nothing, (Ptr{GObject}, Ptr{Float64}, Ptr{Float64}), instance, m_min, m_max)
        _min = m_min[]
        _max = m_max[]
        (_min, _max)
    end
    function get_snap_to_ticks(instance::GtkSpinButton)
        ret = ccall(("gtk_spin_button_get_snap_to_ticks", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_update_policy(instance::GtkSpinButton)
        ret = ccall(("gtk_spin_button_get_update_policy", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = SpinButtonUpdatePolicy(ret)
        ret2
    end
    function get_value(instance::GtkSpinButton)
        ret = ccall(("gtk_spin_button_get_value", libgtk4), Float64, (Ptr{GObject},), instance)
        ret
    end
    function get_value_as_int(instance::GtkSpinButton)
        ret = ccall(("gtk_spin_button_get_value_as_int", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_wrap(instance::GtkSpinButton)
        ret = ccall(("gtk_spin_button_get_wrap", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_activates_default(instance::GtkSpinButton, _activates_default::Bool)
        ret = ccall(("gtk_spin_button_set_activates_default", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _activates_default)
        nothing
    end
    function set_adjustment(instance::GtkSpinButton, _adjustment::GtkAdjustment)
        ret = ccall(("gtk_spin_button_set_adjustment", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _adjustment)
        nothing
    end
    function set_climb_rate(instance::GtkSpinButton, _climb_rate::Real)
        ret = ccall(("gtk_spin_button_set_climb_rate", libgtk4), Nothing, (Ptr{GObject}, Float64), instance, _climb_rate)
        nothing
    end
    function set_digits(instance::GtkSpinButton, _digits::Integer)
        ret = ccall(("gtk_spin_button_set_digits", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _digits)
        nothing
    end
    function set_increments(instance::GtkSpinButton, _step::Real, _page::Real)
        ret = ccall(("gtk_spin_button_set_increments", libgtk4), Nothing, (Ptr{GObject}, Float64, Float64), instance, _step, _page)
        nothing
    end
    function set_numeric(instance::GtkSpinButton, _numeric::Bool)
        ret = ccall(("gtk_spin_button_set_numeric", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _numeric)
        nothing
    end
    function set_range(instance::GtkSpinButton, _min::Real, _max::Real)
        ret = ccall(("gtk_spin_button_set_range", libgtk4), Nothing, (Ptr{GObject}, Float64, Float64), instance, _min, _max)
        nothing
    end
    function set_snap_to_ticks(instance::GtkSpinButton, _snap_to_ticks::Bool)
        ret = ccall(("gtk_spin_button_set_snap_to_ticks", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _snap_to_ticks)
        nothing
    end
    function set_update_policy(instance::GtkSpinButton, _policy)
        ret = ccall(("gtk_spin_button_set_update_policy", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _policy)
        nothing
    end
    function set_value(instance::GtkSpinButton, _value::Real)
        ret = ccall(("gtk_spin_button_set_value", libgtk4), Nothing, (Ptr{GObject}, Float64), instance, _value)
        nothing
    end
    function set_wrap(instance::GtkSpinButton, _wrap::Bool)
        ret = ccall(("gtk_spin_button_set_wrap", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _wrap)
        nothing
    end
    function spin(instance::GtkSpinButton, _direction, _increment::Real)
        ret = ccall(("gtk_spin_button_spin", libgtk4), Nothing, (Ptr{GObject}, UInt32, Float64), instance, _direction, _increment)
        nothing
    end
    function update(instance::GtkSpinButton)
        ret = ccall(("gtk_spin_button_update", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function announce(instance::GtkSpinButton, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkSpinButton)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkSpinButton)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkSpinButton)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkSpinButton)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkSpinButton)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkSpinButton)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkSpinButton, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkSpinButton, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkSpinButton, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkSpinButton, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkSpinButton, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkSpinButton, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkSpinButton, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkSpinButton, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkSpinButton, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkSpinButton)
        get_buildable_id(GtkBuildable(instance))
    end
    function editing_done(instance::GtkSpinButton)
        editing_done(GtkCellEditable(instance))
    end
    function remove_widget(instance::GtkSpinButton)
        remove_widget(GtkCellEditable(instance))
    end
    function start_editing(instance::GtkSpinButton, _event::Maybe(GdkEvent))
        start_editing(GtkCellEditable(instance), _event)
    end
    function delegate_get_accessible_platform_state(instance::GtkSpinButton, _state)
        delegate_get_accessible_platform_state(GtkEditable(instance), _state)
    end
    function delete_selection(instance::GtkSpinButton)
        delete_selection(GtkEditable(instance))
    end
    function delete_text(instance::GtkSpinButton, _start_pos::Integer, _end_pos::Integer)
        delete_text(GtkEditable(instance), _start_pos, _end_pos)
    end
    function finish_delegate(instance::GtkSpinButton)
        finish_delegate(GtkEditable(instance))
    end
    function get_alignment(instance::GtkSpinButton)
        get_alignment(GtkEditable(instance))
    end
    function get_chars(instance::GtkSpinButton, _start_pos::Integer, _end_pos::Integer)
        get_chars(GtkEditable(instance), _start_pos, _end_pos)
    end
    function get_delegate(instance::GtkSpinButton)
        get_delegate(GtkEditable(instance))
    end
    function get_editable(instance::GtkSpinButton)
        get_editable(GtkEditable(instance))
    end
    function get_enable_undo(instance::GtkSpinButton)
        get_enable_undo(GtkEditable(instance))
    end
    function get_max_width_chars(instance::GtkSpinButton)
        get_max_width_chars(GtkEditable(instance))
    end
    function get_position(instance::GtkSpinButton)
        get_position(GtkEditable(instance))
    end
    function get_selection_bounds(instance::GtkSpinButton)
        get_selection_bounds(GtkEditable(instance))
    end
    function get_text(instance::GtkSpinButton)
        get_text(GtkEditable(instance))
    end
    function get_width_chars(instance::GtkSpinButton)
        get_width_chars(GtkEditable(instance))
    end
    function init_delegate(instance::GtkSpinButton)
        init_delegate(GtkEditable(instance))
    end
    function insert_text(instance::GtkSpinButton, _text::Union{AbstractString, Symbol}, _length::Integer, _position::Integer)
        insert_text(GtkEditable(instance), _text, _length, _position)
    end
    function select_region(instance::GtkSpinButton, _start_pos::Integer, _end_pos::Integer)
        select_region(GtkEditable(instance), _start_pos, _end_pos)
    end
    function set_alignment(instance::GtkSpinButton, _xalign::Real)
        set_alignment(GtkEditable(instance), _xalign)
    end
    function set_editable(instance::GtkSpinButton, _is_editable::Bool)
        set_editable(GtkEditable(instance), _is_editable)
    end
    function set_enable_undo(instance::GtkSpinButton, _enable_undo::Bool)
        set_enable_undo(GtkEditable(instance), _enable_undo)
    end
    function set_max_width_chars(instance::GtkSpinButton, _n_chars::Integer)
        set_max_width_chars(GtkEditable(instance), _n_chars)
    end
    function set_position(instance::GtkSpinButton, _position::Integer)
        set_position(GtkEditable(instance), _position)
    end
    function set_text(instance::GtkSpinButton, _text::Union{AbstractString, Symbol})
        set_text(GtkEditable(instance), _text)
    end
    function set_width_chars(instance::GtkSpinButton, _n_chars::Integer)
        set_width_chars(GtkEditable(instance), _n_chars)
    end
    function get_orientation(instance::GtkSpinButton)
        get_orientation(GtkOrientable(instance))
    end
    function set_orientation(instance::GtkSpinButton, _orientation)
        set_orientation(GtkOrientable(instance), _orientation)
    end
    function Spinner_new()
        ret = ccall(("gtk_spinner_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkSpinnerLeaf(ret, false)
        ret2
    end
    function get_spinning(instance::GtkSpinner)
        ret = ccall(("gtk_spinner_get_spinning", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_spinning(instance::GtkSpinner, _spinning::Bool)
        ret = ccall(("gtk_spinner_set_spinning", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _spinning)
        nothing
    end
    function start(instance::GtkSpinner)
        ret = ccall(("gtk_spinner_start", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function stop(instance::GtkSpinner)
        ret = ccall(("gtk_spinner_stop", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function announce(instance::GtkSpinner, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkSpinner)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkSpinner)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkSpinner)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkSpinner)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkSpinner)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkSpinner)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkSpinner, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkSpinner, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkSpinner, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkSpinner, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkSpinner, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkSpinner, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkSpinner, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkSpinner, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkSpinner, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkSpinner)
        get_buildable_id(GtkBuildable(instance))
    end
    function Stack_new()
        ret = ccall(("gtk_stack_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkStackLeaf(ret, false)
        ret2
    end
    function add_child(instance::GtkStack, _child::GtkWidget)
        ret = ccall(("gtk_stack_add_child", libgtk4), Ptr{GObject}, (Ptr{GObject}, Ptr{GObject}), instance, _child)
        ret2 = convert(GtkStackPage, ret, false)
        ret2
    end
    function add_named(instance::GtkStack, _child::GtkWidget, _name::Maybe(Union{AbstractString, Symbol}))
        _name_maybe = nothing_to_null(_name)
        ret = ccall(("gtk_stack_add_named", libgtk4), Ptr{GObject}, (Ptr{GObject}, Ptr{GObject}, Cstring), instance, _child, _name_maybe)
        ret2 = convert(GtkStackPage, ret, false)
        ret2
    end
    function add_titled(instance::GtkStack, _child::GtkWidget, _name::Maybe(Union{AbstractString, Symbol}), _title::Union{AbstractString, Symbol})
        _name_maybe = nothing_to_null(_name)
        ret = ccall(("gtk_stack_add_titled", libgtk4), Ptr{GObject}, (Ptr{GObject}, Ptr{GObject}, Cstring, Cstring), instance, _child, _name_maybe, _title)
        ret2 = convert(GtkStackPage, ret, false)
        ret2
    end
    function get_child_by_name(instance::GtkStack, _name::Union{AbstractString, Symbol})
        ret = ccall(("gtk_stack_get_child_by_name", libgtk4), Ptr{GObject}, (Ptr{GObject}, Cstring), instance, _name)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_hhomogeneous(instance::GtkStack)
        ret = ccall(("gtk_stack_get_hhomogeneous", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_interpolate_size(instance::GtkStack)
        ret = ccall(("gtk_stack_get_interpolate_size", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_page(instance::GtkStack, _child::GtkWidget)
        ret = ccall(("gtk_stack_get_page", libgtk4), Ptr{GObject}, (Ptr{GObject}, Ptr{GObject}), instance, _child)
        ret2 = convert(GtkStackPage, ret, false)
        ret2
    end
    function get_pages(instance::GtkStack)
        ret = ccall(("gtk_stack_get_pages", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = begin
                leaftype = GLib.find_leaf_type(ret)
                convert(leaftype, ret, true)
            end
        ret2
    end
    function get_transition_duration(instance::GtkStack)
        ret = ccall(("gtk_stack_get_transition_duration", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function get_transition_running(instance::GtkStack)
        ret = ccall(("gtk_stack_get_transition_running", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_transition_type(instance::GtkStack)
        ret = ccall(("gtk_stack_get_transition_type", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = StackTransitionType(ret)
        ret2
    end
    function get_vhomogeneous(instance::GtkStack)
        ret = ccall(("gtk_stack_get_vhomogeneous", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_visible_child(instance::GtkStack)
        ret = ccall(("gtk_stack_get_visible_child", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_visible_child_name(instance::GtkStack)
        ret = ccall(("gtk_stack_get_visible_child_name", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function remove(instance::GtkStack, _child::GtkWidget)
        ret = ccall(("gtk_stack_remove", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child)
        nothing
    end
    function set_hhomogeneous(instance::GtkStack, _hhomogeneous::Bool)
        ret = ccall(("gtk_stack_set_hhomogeneous", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _hhomogeneous)
        nothing
    end
    function set_interpolate_size(instance::GtkStack, _interpolate_size::Bool)
        ret = ccall(("gtk_stack_set_interpolate_size", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _interpolate_size)
        nothing
    end
    function set_transition_duration(instance::GtkStack, _duration::Integer)
        ret = ccall(("gtk_stack_set_transition_duration", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _duration)
        nothing
    end
    function set_transition_type(instance::GtkStack, _transition)
        ret = ccall(("gtk_stack_set_transition_type", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _transition)
        nothing
    end
    function set_vhomogeneous(instance::GtkStack, _vhomogeneous::Bool)
        ret = ccall(("gtk_stack_set_vhomogeneous", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _vhomogeneous)
        nothing
    end
    function set_visible_child(instance::GtkStack, _child::GtkWidget)
        ret = ccall(("gtk_stack_set_visible_child", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child)
        nothing
    end
    function set_visible_child_full(instance::GtkStack, _name::Union{AbstractString, Symbol}, _transition)
        ret = ccall(("gtk_stack_set_visible_child_full", libgtk4), Nothing, (Ptr{GObject}, Cstring, UInt32), instance, _name, _transition)
        nothing
    end
    function set_visible_child_name(instance::GtkStack, _name::Union{AbstractString, Symbol})
        ret = ccall(("gtk_stack_set_visible_child_name", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _name)
        nothing
    end
    function announce(instance::GtkStack, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkStack)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkStack)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkStack)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkStack)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkStack)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkStack)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkStack, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkStack, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkStack, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkStack, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkStack, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkStack, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkStack, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkStack, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkStack, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkStack)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_child(instance::GtkStackPage)
        ret = ccall(("gtk_stack_page_get_child", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GtkWidget, ret, false)
        ret2
    end
    function get_icon_name(instance::GtkStackPage)
        ret = ccall(("gtk_stack_page_get_icon_name", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_name(instance::GtkStackPage)
        ret = ccall(("gtk_stack_page_get_name", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_needs_attention(instance::GtkStackPage)
        ret = ccall(("gtk_stack_page_get_needs_attention", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_title(instance::GtkStackPage)
        ret = ccall(("gtk_stack_page_get_title", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_use_underline(instance::GtkStackPage)
        ret = ccall(("gtk_stack_page_get_use_underline", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_visible(instance::GtkStackPage)
        ret = ccall(("gtk_stack_page_get_visible", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_icon_name(instance::GtkStackPage, _setting::Union{AbstractString, Symbol})
        ret = ccall(("gtk_stack_page_set_icon_name", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _setting)
        nothing
    end
    function set_name(instance::GtkStackPage, _setting::Union{AbstractString, Symbol})
        ret = ccall(("gtk_stack_page_set_name", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _setting)
        nothing
    end
    function set_needs_attention(instance::GtkStackPage, _setting::Bool)
        ret = ccall(("gtk_stack_page_set_needs_attention", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _setting)
        nothing
    end
    function set_title(instance::GtkStackPage, _setting::Union{AbstractString, Symbol})
        ret = ccall(("gtk_stack_page_set_title", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _setting)
        nothing
    end
    function set_use_underline(instance::GtkStackPage, _setting::Bool)
        ret = ccall(("gtk_stack_page_set_use_underline", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _setting)
        nothing
    end
    function set_visible(instance::GtkStackPage, _visible::Bool)
        ret = ccall(("gtk_stack_page_set_visible", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _visible)
        nothing
    end
    function announce(instance::GtkStackPage, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkStackPage)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkStackPage)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkStackPage)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkStackPage)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkStackPage)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkStackPage)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkStackPage, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkStackPage, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkStackPage, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkStackPage, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkStackPage, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkStackPage, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkStackPage, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkStackPage, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkStackPage, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function StackSidebar_new()
        ret = ccall(("gtk_stack_sidebar_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkStackSidebarLeaf(ret, false)
        ret2
    end
    function get_stack(instance::GtkStackSidebar)
        ret = ccall(("gtk_stack_sidebar_get_stack", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkStack, ret, false)
        ret2
    end
    function set_stack(instance::GtkStackSidebar, _stack::GtkStack)
        ret = ccall(("gtk_stack_sidebar_set_stack", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _stack)
        nothing
    end
    function announce(instance::GtkStackSidebar, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkStackSidebar)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkStackSidebar)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkStackSidebar)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkStackSidebar)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkStackSidebar)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkStackSidebar)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkStackSidebar, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkStackSidebar, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkStackSidebar, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkStackSidebar, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkStackSidebar, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkStackSidebar, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkStackSidebar, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkStackSidebar, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkStackSidebar, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkStackSidebar)
        get_buildable_id(GtkBuildable(instance))
    end
    function StackSwitcher_new()
        ret = ccall(("gtk_stack_switcher_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkStackSwitcherLeaf(ret, false)
        ret2
    end
    function get_stack(instance::GtkStackSwitcher)
        ret = ccall(("gtk_stack_switcher_get_stack", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkStack, ret, false)
        ret2
    end
    function set_stack(instance::GtkStackSwitcher, _stack::Maybe(GtkStack))
        _stack_maybe = nothing_to_null(_stack)
        ret = ccall(("gtk_stack_switcher_set_stack", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _stack_maybe)
        nothing
    end
    function announce(instance::GtkStackSwitcher, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkStackSwitcher)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkStackSwitcher)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkStackSwitcher)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkStackSwitcher)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkStackSwitcher)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkStackSwitcher)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkStackSwitcher, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkStackSwitcher, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkStackSwitcher, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkStackSwitcher, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkStackSwitcher, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkStackSwitcher, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkStackSwitcher, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkStackSwitcher, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkStackSwitcher, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkStackSwitcher)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_orientation(instance::GtkStackSwitcher)
        get_orientation(GtkOrientable(instance))
    end
    function set_orientation(instance::GtkStackSwitcher, _orientation)
        set_orientation(GtkOrientable(instance), _orientation)
    end
    function Statusbar_new()
        ret = ccall(("gtk_statusbar_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkStatusbarLeaf(ret, false)
        ret2
    end
    function get_context_id(instance::GtkStatusbar, _context_description::Union{AbstractString, Symbol})
        ret = ccall(("gtk_statusbar_get_context_id", libgtk4), UInt32, (Ptr{GObject}, Cstring), instance, _context_description)
        ret
    end
    function pop(instance::GtkStatusbar, _context_id::Integer)
        ret = ccall(("gtk_statusbar_pop", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _context_id)
        nothing
    end
    function push(instance::GtkStatusbar, _context_id::Integer, _text::Union{AbstractString, Symbol})
        ret = ccall(("gtk_statusbar_push", libgtk4), UInt32, (Ptr{GObject}, UInt32, Cstring), instance, _context_id, _text)
        ret
    end
    function remove(instance::GtkStatusbar, _context_id::Integer, _message_id::Integer)
        ret = ccall(("gtk_statusbar_remove", libgtk4), Nothing, (Ptr{GObject}, UInt32, UInt32), instance, _context_id, _message_id)
        nothing
    end
    function remove_all(instance::GtkStatusbar, _context_id::Integer)
        ret = ccall(("gtk_statusbar_remove_all", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _context_id)
        nothing
    end
    function announce(instance::GtkStatusbar, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkStatusbar)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkStatusbar)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkStatusbar)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkStatusbar)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkStatusbar)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkStatusbar)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkStatusbar, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkStatusbar, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkStatusbar, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkStatusbar, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkStatusbar, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkStatusbar, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkStatusbar, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkStatusbar, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkStatusbar, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkStatusbar)
        get_buildable_id(GtkBuildable(instance))
    end
    function StringFilter_new(_expression::Maybe(GtkExpression))
        _expression_maybe = nothing_to_null(_expression)
        ret = ccall(("gtk_string_filter_new", libgtk4), Ptr{GObject}, (Ptr{GtkExpression},), _expression_maybe)
        ret2 = GtkStringFilterLeaf(ret, true)
        ret2
    end
    function get_expression(instance::GtkStringFilter)
        ret = ccall(("gtk_string_filter_get_expression", libgtk4), Ptr{GtkExpression}, (Ptr{GObject},), instance)
        ret2 = convert(GtkExpression, ret)
        ret2
    end
    function get_ignore_case(instance::GtkStringFilter)
        ret = ccall(("gtk_string_filter_get_ignore_case", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_match_mode(instance::GtkStringFilter)
        ret = ccall(("gtk_string_filter_get_match_mode", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = StringFilterMatchMode(ret)
        ret2
    end
    function get_search(instance::GtkStringFilter)
        ret = ccall(("gtk_string_filter_get_search", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function set_expression(instance::GtkStringFilter, _expression::Maybe(GtkExpression))
        _expression_maybe = nothing_to_null(_expression)
        ret = ccall(("gtk_string_filter_set_expression", libgtk4), Nothing, (Ptr{GObject}, Ptr{GtkExpression}), instance, _expression_maybe)
        nothing
    end
    function set_ignore_case(instance::GtkStringFilter, _ignore_case::Bool)
        ret = ccall(("gtk_string_filter_set_ignore_case", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _ignore_case)
        nothing
    end
    function set_match_mode(instance::GtkStringFilter, _mode)
        ret = ccall(("gtk_string_filter_set_match_mode", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _mode)
        nothing
    end
    function set_search(instance::GtkStringFilter, _search::Maybe(Union{AbstractString, Symbol}))
        _search_maybe = nothing_to_null(_search)
        ret = ccall(("gtk_string_filter_set_search", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _search_maybe)
        nothing
    end
    function StringList_new(_strings)
        _strings_maybe = nothing_to_null(_strings)
        ret = ccall(("gtk_string_list_new", libgtk4), Ptr{GObject}, (Ptr{Cstring},), _strings_maybe)
        ret2 = GtkStringListLeaf(ret, true)
        ret2
    end
    function append(instance::GtkStringList, _string::Union{AbstractString, Symbol})
        ret = ccall(("gtk_string_list_append", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _string)
        nothing
    end
    function get_string(instance::GtkStringList, _position::Integer)
        ret = ccall(("gtk_string_list_get_string", libgtk4), Cstring, (Ptr{GObject}, UInt32), instance, _position)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function remove(instance::GtkStringList, _position::Integer)
        ret = ccall(("gtk_string_list_remove", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _position)
        nothing
    end
    function splice(instance::GtkStringList, _position::Integer, _n_removals::Integer, _additions)
        _additions_maybe = nothing_to_null(_additions)
        ret = ccall(("gtk_string_list_splice", libgtk4), Nothing, (Ptr{GObject}, UInt32, UInt32, Ptr{Cstring}), instance, _position, _n_removals, _additions_maybe)
        nothing
    end
    function take(instance::GtkStringList, _string::Union{AbstractString, Symbol})
        ret = ccall(("gtk_string_list_take", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _string)
        nothing
    end
    function get_item_type(instance::GtkStringList)
        get_item_type(GListModel(instance))
    end
    function get_n_items(instance::GtkStringList)
        get_n_items(GListModel(instance))
    end
    function get_item(instance::GtkStringList, _position::Integer)
        get_item(GListModel(instance), _position)
    end
    function items_changed(instance::GtkStringList, _position::Integer, _removed::Integer, _added::Integer)
        items_changed(GListModel(instance), _position, _removed, _added)
    end
    function get_buildable_id(instance::GtkStringList)
        get_buildable_id(GtkBuildable(instance))
    end
    function StringObject_new(_string::Union{AbstractString, Symbol})
        ret = ccall(("gtk_string_object_new", libgtk4), Ptr{GObject}, (Cstring,), _string)
        ret2 = GtkStringObjectLeaf(ret, true)
        ret2
    end
    function get_string(instance::GtkStringObject)
        ret = ccall(("gtk_string_object_get_string", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function StringSorter_new(_expression::Maybe(GtkExpression))
        _expression_maybe = nothing_to_null(_expression)
        ret = ccall(("gtk_string_sorter_new", libgtk4), Ptr{GObject}, (Ptr{GtkExpression},), _expression_maybe)
        ret2 = GtkStringSorterLeaf(ret, true)
        ret2
    end
    function get_collation(instance::GtkStringSorter)
        ret = ccall(("gtk_string_sorter_get_collation", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = Collation(ret)
        ret2
    end
    function get_expression(instance::GtkStringSorter)
        ret = ccall(("gtk_string_sorter_get_expression", libgtk4), Ptr{GtkExpression}, (Ptr{GObject},), instance)
        ret2 = convert(GtkExpression, ret)
        ret2
    end
    function get_ignore_case(instance::GtkStringSorter)
        ret = ccall(("gtk_string_sorter_get_ignore_case", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_collation(instance::GtkStringSorter, _collation)
        ret = ccall(("gtk_string_sorter_set_collation", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _collation)
        nothing
    end
    function set_expression(instance::GtkStringSorter, _expression::Maybe(GtkExpression))
        _expression_maybe = nothing_to_null(_expression)
        ret = ccall(("gtk_string_sorter_set_expression", libgtk4), Nothing, (Ptr{GObject}, Ptr{GtkExpression}), instance, _expression_maybe)
        nothing
    end
    function set_ignore_case(instance::GtkStringSorter, _ignore_case::Bool)
        ret = ccall(("gtk_string_sorter_set_ignore_case", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _ignore_case)
        nothing
    end
    function add_provider_for_display(_display::GdkDisplay, _provider::GtkStyleProvider, _priority::Integer)
        ret = ccall(("gtk_style_context_add_provider_for_display", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, UInt32), _display, _provider, _priority)
        nothing
    end
    function remove_provider_for_display(_display::GdkDisplay, _provider::GtkStyleProvider)
        ret = ccall(("gtk_style_context_remove_provider_for_display", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), _display, _provider)
        nothing
    end
    function add_class(instance::GtkStyleContext, _class_name::Union{AbstractString, Symbol})
        ret = ccall(("gtk_style_context_add_class", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _class_name)
        nothing
    end
    function add_provider(instance::GtkStyleContext, _provider::GtkStyleProvider, _priority::Integer)
        ret = ccall(("gtk_style_context_add_provider", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, UInt32), instance, _provider, _priority)
        nothing
    end
    function get_border(instance::GtkStyleContext)
        m_border = Ref{_GtkBorder}()
        ret = ccall(("gtk_style_context_get_border", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkBorder}), instance, m_border)
        _border = m_border[]
        _border
    end
    function get_color(instance::GtkStyleContext)
        m_color = Ref{_GdkRGBA}()
        ret = ccall(("gtk_style_context_get_color", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GdkRGBA}), instance, m_color)
        _color = m_color[]
        _color
    end
    function get_display(instance::GtkStyleContext)
        ret = ccall(("gtk_style_context_get_display", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GdkDisplay, ret, false)
        ret2
    end
    function get_margin(instance::GtkStyleContext)
        m_margin = Ref{_GtkBorder}()
        ret = ccall(("gtk_style_context_get_margin", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkBorder}), instance, m_margin)
        _margin = m_margin[]
        _margin
    end
    function get_padding(instance::GtkStyleContext)
        m_padding = Ref{_GtkBorder}()
        ret = ccall(("gtk_style_context_get_padding", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkBorder}), instance, m_padding)
        _padding = m_padding[]
        _padding
    end
    function get_scale(instance::GtkStyleContext)
        ret = ccall(("gtk_style_context_get_scale", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_state(instance::GtkStyleContext)
        ret = ccall(("gtk_style_context_get_state", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = StateFlags(ret)
        ret2
    end
    function has_class(instance::GtkStyleContext, _class_name::Union{AbstractString, Symbol})
        ret = ccall(("gtk_style_context_has_class", libgtk4), Cint, (Ptr{GObject}, Cstring), instance, _class_name)
        ret2 = convert(Bool, ret)
        ret2
    end
    function lookup_color(instance::GtkStyleContext, _color_name::Union{AbstractString, Symbol})
        m_color = Ref{_GdkRGBA}()
        ret = ccall(("gtk_style_context_lookup_color", libgtk4), Cint, (Ptr{GObject}, Cstring, Ptr{_GdkRGBA}), instance, _color_name, m_color)
        ret2 = convert(Bool, ret)
        _color = m_color[]
        (ret2, _color)
    end
    function remove_class(instance::GtkStyleContext, _class_name::Union{AbstractString, Symbol})
        ret = ccall(("gtk_style_context_remove_class", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _class_name)
        nothing
    end
    function remove_provider(instance::GtkStyleContext, _provider::GtkStyleProvider)
        ret = ccall(("gtk_style_context_remove_provider", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _provider)
        nothing
    end
    function restore(instance::GtkStyleContext)
        ret = ccall(("gtk_style_context_restore", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function save(instance::GtkStyleContext)
        ret = ccall(("gtk_style_context_save", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function set_display(instance::GtkStyleContext, _display::GdkDisplay)
        ret = ccall(("gtk_style_context_set_display", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _display)
        nothing
    end
    function set_scale(instance::GtkStyleContext, _scale::Integer)
        ret = ccall(("gtk_style_context_set_scale", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _scale)
        nothing
    end
    function set_state(instance::GtkStyleContext, _flags)
        ret = ccall(("gtk_style_context_set_state", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _flags)
        nothing
    end
    function to_string(instance::GtkStyleContext, _flags)
        ret = ccall(("gtk_style_context_to_string", libgtk4), Cstring, (Ptr{GObject}, UInt32), instance, _flags)
        ret2 = string_or_nothing(ret, true)
        ret2
    end
    function Switch_new()
        ret = ccall(("gtk_switch_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkSwitchLeaf(ret, false)
        ret2
    end
    function get_active(instance::GtkSwitch)
        ret = ccall(("gtk_switch_get_active", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_state(instance::GtkSwitch)
        ret = ccall(("gtk_switch_get_state", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_active(instance::GtkSwitch, _is_active::Bool)
        ret = ccall(("gtk_switch_set_active", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _is_active)
        nothing
    end
    function set_state(instance::GtkSwitch, _state::Bool)
        ret = ccall(("gtk_switch_set_state", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _state)
        nothing
    end
    function announce(instance::GtkSwitch, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkSwitch)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkSwitch)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkSwitch)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkSwitch)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkSwitch)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkSwitch)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkSwitch, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkSwitch, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkSwitch, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkSwitch, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkSwitch, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkSwitch, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkSwitch, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkSwitch, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkSwitch, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_action_name(instance::GtkSwitch)
        get_action_name(GtkActionable(instance))
    end
    function get_action_target_value(instance::GtkSwitch)
        get_action_target_value(GtkActionable(instance))
    end
    function set_action_name(instance::GtkSwitch, _action_name::Maybe(Union{AbstractString, Symbol}))
        set_action_name(GtkActionable(instance), _action_name)
    end
    function set_action_target_value(instance::GtkSwitch, _target_value::Maybe(GVariant))
        set_action_target_value(GtkActionable(instance), _target_value)
    end
    function set_detailed_action_name(instance::GtkSwitch, _detailed_action_name::Union{AbstractString, Symbol})
        set_detailed_action_name(GtkActionable(instance), _detailed_action_name)
    end
    function get_buildable_id(instance::GtkSwitch)
        get_buildable_id(GtkBuildable(instance))
    end
    function Text_new()
        ret = ccall(("gtk_text_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkTextLeaf(ret, false)
        ret2
    end
    function Text_new_with_buffer(_buffer::GtkEntryBuffer)
        ret = ccall(("gtk_text_new_with_buffer", libgtk4), Ptr{GObject}, (Ptr{GObject},), _buffer)
        ret2 = GtkTextLeaf(ret, false)
        ret2
    end
    function compute_cursor_extents(instance::GtkText, _position::Integer)
        m_strong = Ref{_GrapheneRect}()
        m_weak = Ref{_GrapheneRect}()
        ret = ccall(("gtk_text_compute_cursor_extents", libgtk4), Nothing, (Ptr{GObject}, UInt64, Ptr{_GrapheneRect}, Ptr{_GrapheneRect}), instance, _position, m_strong, m_weak)
        _strong = m_strong[]
        _weak = m_weak[]
        (_strong, _weak)
    end
    function get_activates_default(instance::GtkText)
        ret = ccall(("gtk_text_get_activates_default", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_attributes(instance::GtkText)
        ret = ccall(("gtk_text_get_attributes", libgtk4), Ptr{PangoAttrList}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(PangoAttrList, ret, false)
        ret2
    end
    function get_buffer(instance::GtkText)
        ret = ccall(("gtk_text_get_buffer", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GtkEntryBuffer, ret, false)
        ret2
    end
    function get_enable_emoji_completion(instance::GtkText)
        ret = ccall(("gtk_text_get_enable_emoji_completion", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_extra_menu(instance::GtkText)
        ret = ccall(("gtk_text_get_extra_menu", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GMenuModel, ret, false)
        ret2
    end
    function get_input_hints(instance::GtkText)
        ret = ccall(("gtk_text_get_input_hints", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = InputHints(ret)
        ret2
    end
    function get_input_purpose(instance::GtkText)
        ret = ccall(("gtk_text_get_input_purpose", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = InputPurpose(ret)
        ret2
    end
    function get_invisible_char(instance::GtkText)
        ret = ccall(("gtk_text_get_invisible_char", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function get_max_length(instance::GtkText)
        ret = ccall(("gtk_text_get_max_length", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_overwrite_mode(instance::GtkText)
        ret = ccall(("gtk_text_get_overwrite_mode", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_placeholder_text(instance::GtkText)
        ret = ccall(("gtk_text_get_placeholder_text", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_propagate_text_width(instance::GtkText)
        ret = ccall(("gtk_text_get_propagate_text_width", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_tabs(instance::GtkText)
        ret = ccall(("gtk_text_get_tabs", libgtk4), Ptr{PangoTabArray}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(PangoTabArray, ret, false)
        ret2
    end
    function get_text_length(instance::GtkText)
        ret = ccall(("gtk_text_get_text_length", libgtk4), UInt16, (Ptr{GObject},), instance)
        ret
    end
    function get_truncate_multiline(instance::GtkText)
        ret = ccall(("gtk_text_get_truncate_multiline", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_visibility(instance::GtkText)
        ret = ccall(("gtk_text_get_visibility", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function grab_focus_without_selecting(instance::GtkText)
        ret = ccall(("gtk_text_grab_focus_without_selecting", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_activates_default(instance::GtkText, _activates::Bool)
        ret = ccall(("gtk_text_set_activates_default", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _activates)
        nothing
    end
    function set_attributes(instance::GtkText, _attrs::Maybe(PangoAttrList))
        _attrs_maybe = nothing_to_null(_attrs)
        ret = ccall(("gtk_text_set_attributes", libgtk4), Nothing, (Ptr{GObject}, Ptr{PangoAttrList}), instance, _attrs_maybe)
        nothing
    end
    function set_buffer(instance::GtkText, _buffer::GtkEntryBuffer)
        ret = ccall(("gtk_text_set_buffer", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _buffer)
        nothing
    end
    function set_enable_emoji_completion(instance::GtkText, _enable_emoji_completion::Bool)
        ret = ccall(("gtk_text_set_enable_emoji_completion", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _enable_emoji_completion)
        nothing
    end
    function set_extra_menu(instance::GtkText, _model::Maybe(GMenuModel))
        _model_maybe = nothing_to_null(_model)
        ret = ccall(("gtk_text_set_extra_menu", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _model_maybe)
        nothing
    end
    function set_input_hints(instance::GtkText, _hints)
        ret = ccall(("gtk_text_set_input_hints", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _hints)
        nothing
    end
    function set_input_purpose(instance::GtkText, _purpose)
        ret = ccall(("gtk_text_set_input_purpose", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _purpose)
        nothing
    end
    function set_invisible_char(instance::GtkText, _ch)
        ret = ccall(("gtk_text_set_invisible_char", libgtk4), Nothing, (Ptr{GObject}, Nothing), instance, _ch)
        nothing
    end
    function set_max_length(instance::GtkText, _length::Integer)
        ret = ccall(("gtk_text_set_max_length", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _length)
        nothing
    end
    function set_overwrite_mode(instance::GtkText, _overwrite::Bool)
        ret = ccall(("gtk_text_set_overwrite_mode", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _overwrite)
        nothing
    end
    function set_placeholder_text(instance::GtkText, _text::Maybe(Union{AbstractString, Symbol}))
        _text_maybe = nothing_to_null(_text)
        ret = ccall(("gtk_text_set_placeholder_text", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _text_maybe)
        nothing
    end
    function set_propagate_text_width(instance::GtkText, _propagate_text_width::Bool)
        ret = ccall(("gtk_text_set_propagate_text_width", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _propagate_text_width)
        nothing
    end
    function set_tabs(instance::GtkText, _tabs::Maybe(PangoTabArray))
        _tabs_maybe = nothing_to_null(_tabs)
        ret = ccall(("gtk_text_set_tabs", libgtk4), Nothing, (Ptr{GObject}, Ptr{PangoTabArray}), instance, _tabs_maybe)
        nothing
    end
    function set_truncate_multiline(instance::GtkText, _truncate_multiline::Bool)
        ret = ccall(("gtk_text_set_truncate_multiline", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _truncate_multiline)
        nothing
    end
    function set_visibility(instance::GtkText, _visible::Bool)
        ret = ccall(("gtk_text_set_visibility", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _visible)
        nothing
    end
    function unset_invisible_char(instance::GtkText)
        ret = ccall(("gtk_text_unset_invisible_char", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function announce(instance::GtkText, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkText)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkText)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkText)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkText)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkText)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkText)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkText, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkText, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkText, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkText, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkText, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkText, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkText, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkText, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkText, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function update_caret_position(instance::GtkText)
        update_caret_position(GtkAccessibleText(instance))
    end
    function update_contents(instance::GtkText, _change, _start::Integer, _end::Integer)
        update_contents(GtkAccessibleText(instance), _change, _start, _end)
    end
    function update_selection_bound(instance::GtkText)
        update_selection_bound(GtkAccessibleText(instance))
    end
    function get_buildable_id(instance::GtkText)
        get_buildable_id(GtkBuildable(instance))
    end
    function delegate_get_accessible_platform_state(instance::GtkText, _state)
        delegate_get_accessible_platform_state(GtkEditable(instance), _state)
    end
    function delete_selection(instance::GtkText)
        delete_selection(GtkEditable(instance))
    end
    function delete_text(instance::GtkText, _start_pos::Integer, _end_pos::Integer)
        delete_text(GtkEditable(instance), _start_pos, _end_pos)
    end
    function finish_delegate(instance::GtkText)
        finish_delegate(GtkEditable(instance))
    end
    function get_alignment(instance::GtkText)
        get_alignment(GtkEditable(instance))
    end
    function get_chars(instance::GtkText, _start_pos::Integer, _end_pos::Integer)
        get_chars(GtkEditable(instance), _start_pos, _end_pos)
    end
    function get_delegate(instance::GtkText)
        get_delegate(GtkEditable(instance))
    end
    function get_editable(instance::GtkText)
        get_editable(GtkEditable(instance))
    end
    function get_enable_undo(instance::GtkText)
        get_enable_undo(GtkEditable(instance))
    end
    function get_max_width_chars(instance::GtkText)
        get_max_width_chars(GtkEditable(instance))
    end
    function get_position(instance::GtkText)
        get_position(GtkEditable(instance))
    end
    function get_selection_bounds(instance::GtkText)
        get_selection_bounds(GtkEditable(instance))
    end
    function get_text(instance::GtkText)
        get_text(GtkEditable(instance))
    end
    function get_width_chars(instance::GtkText)
        get_width_chars(GtkEditable(instance))
    end
    function init_delegate(instance::GtkText)
        init_delegate(GtkEditable(instance))
    end
    function insert_text(instance::GtkText, _text::Union{AbstractString, Symbol}, _length::Integer, _position::Integer)
        insert_text(GtkEditable(instance), _text, _length, _position)
    end
    function select_region(instance::GtkText, _start_pos::Integer, _end_pos::Integer)
        select_region(GtkEditable(instance), _start_pos, _end_pos)
    end
    function set_alignment(instance::GtkText, _xalign::Real)
        set_alignment(GtkEditable(instance), _xalign)
    end
    function set_editable(instance::GtkText, _is_editable::Bool)
        set_editable(GtkEditable(instance), _is_editable)
    end
    function set_enable_undo(instance::GtkText, _enable_undo::Bool)
        set_enable_undo(GtkEditable(instance), _enable_undo)
    end
    function set_max_width_chars(instance::GtkText, _n_chars::Integer)
        set_max_width_chars(GtkEditable(instance), _n_chars)
    end
    function set_position(instance::GtkText, _position::Integer)
        set_position(GtkEditable(instance), _position)
    end
    function set_text(instance::GtkText, _text::Union{AbstractString, Symbol})
        set_text(GtkEditable(instance), _text)
    end
    function set_width_chars(instance::GtkText, _n_chars::Integer)
        set_width_chars(GtkEditable(instance), _n_chars)
    end
    function TextBuffer_new(_table::Maybe(GtkTextTagTable))
        _table_maybe = nothing_to_null(_table)
        ret = ccall(("gtk_text_buffer_new", libgtk4), Ptr{GObject}, (Ptr{GObject},), _table_maybe)
        ret2 = GtkTextBufferLeaf(ret, true)
        ret2
    end
    function add_mark(instance::GtkTextBuffer, _mark::GtkTextMark, _where::Union{GtkTextIter, Ref{_GtkTextIter}})
        ret = ccall(("gtk_text_buffer_add_mark", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{_GtkTextIter}), instance, _mark, _where)
        nothing
    end
    function add_selection_clipboard(instance::GtkTextBuffer, _clipboard::GdkClipboard)
        ret = ccall(("gtk_text_buffer_add_selection_clipboard", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _clipboard)
        nothing
    end
    function apply_tag(instance::GtkTextBuffer, _tag::GtkTextTag, _start::Union{GtkTextIter, Ref{_GtkTextIter}}, _end::Union{GtkTextIter, Ref{_GtkTextIter}})
        ret = ccall(("gtk_text_buffer_apply_tag", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{_GtkTextIter}, Ptr{_GtkTextIter}), instance, _tag, _start, _end)
        nothing
    end
    function apply_tag_by_name(instance::GtkTextBuffer, _name::Union{AbstractString, Symbol}, _start::Union{GtkTextIter, Ref{_GtkTextIter}}, _end::Union{GtkTextIter, Ref{_GtkTextIter}})
        ret = ccall(("gtk_text_buffer_apply_tag_by_name", libgtk4), Nothing, (Ptr{GObject}, Cstring, Ptr{_GtkTextIter}, Ptr{_GtkTextIter}), instance, _name, _start, _end)
        nothing
    end
    function backspace(instance::GtkTextBuffer, _iter::Union{GtkTextIter, Ref{_GtkTextIter}}, _interactive::Bool, _default_editable::Bool)
        ret = ccall(("gtk_text_buffer_backspace", libgtk4), Cint, (Ptr{GObject}, Ptr{_GtkTextIter}, Cint, Cint), instance, _iter, _interactive, _default_editable)
        ret2 = convert(Bool, ret)
        ret2
    end
    function begin_irreversible_action(instance::GtkTextBuffer)
        ret = ccall(("gtk_text_buffer_begin_irreversible_action", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function begin_user_action(instance::GtkTextBuffer)
        ret = ccall(("gtk_text_buffer_begin_user_action", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function copy_clipboard(instance::GtkTextBuffer, _clipboard::GdkClipboard)
        ret = ccall(("gtk_text_buffer_copy_clipboard", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _clipboard)
        nothing
    end
    function create_child_anchor(instance::GtkTextBuffer, _iter::Union{GtkTextIter, Ref{_GtkTextIter}})
        ret = ccall(("gtk_text_buffer_create_child_anchor", libgtk4), Ptr{GObject}, (Ptr{GObject}, Ptr{_GtkTextIter}), instance, _iter)
        ret2 = convert(GtkTextChildAnchor, ret, false)
        ret2
    end
    function create_mark(instance::GtkTextBuffer, _mark_name::Maybe(Union{AbstractString, Symbol}), _where::Union{GtkTextIter, Ref{_GtkTextIter}}, _left_gravity::Bool)
        _mark_name_maybe = nothing_to_null(_mark_name)
        ret = ccall(("gtk_text_buffer_create_mark", libgtk4), Ptr{GObject}, (Ptr{GObject}, Cstring, Ptr{_GtkTextIter}, Cint), instance, _mark_name_maybe, _where, _left_gravity)
        ret2 = convert(GtkTextMark, ret, false)
        ret2
    end
    function cut_clipboard(instance::GtkTextBuffer, _clipboard::GdkClipboard, _default_editable::Bool)
        ret = ccall(("gtk_text_buffer_cut_clipboard", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Cint), instance, _clipboard, _default_editable)
        nothing
    end
    function delete(instance::GtkTextBuffer, _start::Union{GtkTextIter, Ref{_GtkTextIter}}, _end::Union{GtkTextIter, Ref{_GtkTextIter}})
        ret = ccall(("gtk_text_buffer_delete", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTextIter}, Ptr{_GtkTextIter}), instance, _start, _end)
        nothing
    end
    function delete_interactive(instance::GtkTextBuffer, _start_iter::Union{GtkTextIter, Ref{_GtkTextIter}}, _end_iter::Union{GtkTextIter, Ref{_GtkTextIter}}, _default_editable::Bool)
        ret = ccall(("gtk_text_buffer_delete_interactive", libgtk4), Cint, (Ptr{GObject}, Ptr{_GtkTextIter}, Ptr{_GtkTextIter}, Cint), instance, _start_iter, _end_iter, _default_editable)
        ret2 = convert(Bool, ret)
        ret2
    end
    function delete_mark(instance::GtkTextBuffer, _mark::GtkTextMark)
        ret = ccall(("gtk_text_buffer_delete_mark", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _mark)
        nothing
    end
    function delete_mark_by_name(instance::GtkTextBuffer, _name::Union{AbstractString, Symbol})
        ret = ccall(("gtk_text_buffer_delete_mark_by_name", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _name)
        nothing
    end
    function delete_selection(instance::GtkTextBuffer, _interactive::Bool, _default_editable::Bool)
        ret = ccall(("gtk_text_buffer_delete_selection", libgtk4), Cint, (Ptr{GObject}, Cint, Cint), instance, _interactive, _default_editable)
        ret2 = convert(Bool, ret)
        ret2
    end
    function end_irreversible_action(instance::GtkTextBuffer)
        ret = ccall(("gtk_text_buffer_end_irreversible_action", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function end_user_action(instance::GtkTextBuffer)
        ret = ccall(("gtk_text_buffer_end_user_action", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function get_bounds(instance::GtkTextBuffer)
        m_start = Ref{_GtkTextIter}()
        m_end = Ref{_GtkTextIter}()
        ret = ccall(("gtk_text_buffer_get_bounds", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTextIter}, Ptr{_GtkTextIter}), instance, m_start, m_end)
        _start = m_start[]
        _end = m_end[]
        (_start, _end)
    end
    function get_can_redo(instance::GtkTextBuffer)
        ret = ccall(("gtk_text_buffer_get_can_redo", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_can_undo(instance::GtkTextBuffer)
        ret = ccall(("gtk_text_buffer_get_can_undo", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_char_count(instance::GtkTextBuffer)
        ret = ccall(("gtk_text_buffer_get_char_count", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_enable_undo(instance::GtkTextBuffer)
        ret = ccall(("gtk_text_buffer_get_enable_undo", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_end_iter(instance::GtkTextBuffer)
        m_iter = Ref{_GtkTextIter}()
        ret = ccall(("gtk_text_buffer_get_end_iter", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTextIter}), instance, m_iter)
        _iter = m_iter[]
        _iter
    end
    function get_has_selection(instance::GtkTextBuffer)
        ret = ccall(("gtk_text_buffer_get_has_selection", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_insert(instance::GtkTextBuffer)
        ret = ccall(("gtk_text_buffer_get_insert", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GtkTextMark, ret, false)
        ret2
    end
    function get_iter_at_child_anchor(instance::GtkTextBuffer, _anchor::GtkTextChildAnchor)
        m_iter = Ref{_GtkTextIter}()
        ret = ccall(("gtk_text_buffer_get_iter_at_child_anchor", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTextIter}, Ptr{GObject}), instance, m_iter, _anchor)
        _iter = m_iter[]
        _iter
    end
    function get_iter_at_line(instance::GtkTextBuffer, _line_number::Integer)
        m_iter = Ref{_GtkTextIter}()
        ret = ccall(("gtk_text_buffer_get_iter_at_line", libgtk4), Cint, (Ptr{GObject}, Ptr{_GtkTextIter}, Int32), instance, m_iter, _line_number)
        ret2 = convert(Bool, ret)
        _iter = m_iter[]
        (ret2, _iter)
    end
    function get_iter_at_line_index(instance::GtkTextBuffer, _line_number::Integer, _byte_index::Integer)
        m_iter = Ref{_GtkTextIter}()
        ret = ccall(("gtk_text_buffer_get_iter_at_line_index", libgtk4), Cint, (Ptr{GObject}, Ptr{_GtkTextIter}, Int32, Int32), instance, m_iter, _line_number, _byte_index)
        ret2 = convert(Bool, ret)
        _iter = m_iter[]
        (ret2, _iter)
    end
    function get_iter_at_line_offset(instance::GtkTextBuffer, _line_number::Integer, _char_offset::Integer)
        m_iter = Ref{_GtkTextIter}()
        ret = ccall(("gtk_text_buffer_get_iter_at_line_offset", libgtk4), Cint, (Ptr{GObject}, Ptr{_GtkTextIter}, Int32, Int32), instance, m_iter, _line_number, _char_offset)
        ret2 = convert(Bool, ret)
        _iter = m_iter[]
        (ret2, _iter)
    end
    function get_iter_at_mark(instance::GtkTextBuffer, _mark::GtkTextMark)
        m_iter = Ref{_GtkTextIter}()
        ret = ccall(("gtk_text_buffer_get_iter_at_mark", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTextIter}, Ptr{GObject}), instance, m_iter, _mark)
        _iter = m_iter[]
        _iter
    end
    function get_iter_at_offset(instance::GtkTextBuffer, _char_offset::Integer)
        m_iter = Ref{_GtkTextIter}()
        ret = ccall(("gtk_text_buffer_get_iter_at_offset", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTextIter}, Int32), instance, m_iter, _char_offset)
        _iter = m_iter[]
        _iter
    end
    function get_line_count(instance::GtkTextBuffer)
        ret = ccall(("gtk_text_buffer_get_line_count", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_mark(instance::GtkTextBuffer, _name::Union{AbstractString, Symbol})
        ret = ccall(("gtk_text_buffer_get_mark", libgtk4), Ptr{GObject}, (Ptr{GObject}, Cstring), instance, _name)
        ret2 = convert_if_not_null(GtkTextMark, ret, false)
        ret2
    end
    function get_max_undo_levels(instance::GtkTextBuffer)
        ret = ccall(("gtk_text_buffer_get_max_undo_levels", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function get_modified(instance::GtkTextBuffer)
        ret = ccall(("gtk_text_buffer_get_modified", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_selection_bound(instance::GtkTextBuffer)
        ret = ccall(("gtk_text_buffer_get_selection_bound", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GtkTextMark, ret, false)
        ret2
    end
    function get_selection_bounds(instance::GtkTextBuffer)
        m_start = Ref{_GtkTextIter}()
        m_end = Ref{_GtkTextIter}()
        ret = ccall(("gtk_text_buffer_get_selection_bounds", libgtk4), Cint, (Ptr{GObject}, Ptr{_GtkTextIter}, Ptr{_GtkTextIter}), instance, m_start, m_end)
        ret2 = convert(Bool, ret)
        _start = m_start[]
        _end = m_end[]
        (ret2, _start, _end)
    end
    function get_selection_content(instance::GtkTextBuffer)
        ret = ccall(("gtk_text_buffer_get_selection_content", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GdkContentProvider, ret, true)
        ret2
    end
    function get_slice(instance::GtkTextBuffer, _start::Union{GtkTextIter, Ref{_GtkTextIter}}, _end::Union{GtkTextIter, Ref{_GtkTextIter}}, _include_hidden_chars::Bool)
        ret = ccall(("gtk_text_buffer_get_slice", libgtk4), Cstring, (Ptr{GObject}, Ptr{_GtkTextIter}, Ptr{_GtkTextIter}, Cint), instance, _start, _end, _include_hidden_chars)
        ret2 = string_or_nothing(ret, true)
        ret2
    end
    function get_start_iter(instance::GtkTextBuffer)
        m_iter = Ref{_GtkTextIter}()
        ret = ccall(("gtk_text_buffer_get_start_iter", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTextIter}), instance, m_iter)
        _iter = m_iter[]
        _iter
    end
    function get_tag_table(instance::GtkTextBuffer)
        ret = ccall(("gtk_text_buffer_get_tag_table", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GtkTextTagTable, ret, false)
        ret2
    end
    function get_text(instance::GtkTextBuffer, _start::Union{GtkTextIter, Ref{_GtkTextIter}}, _end::Union{GtkTextIter, Ref{_GtkTextIter}}, _include_hidden_chars::Bool)
        ret = ccall(("gtk_text_buffer_get_text", libgtk4), Cstring, (Ptr{GObject}, Ptr{_GtkTextIter}, Ptr{_GtkTextIter}, Cint), instance, _start, _end, _include_hidden_chars)
        ret2 = string_or_nothing(ret, true)
        ret2
    end
    function insert(instance::GtkTextBuffer, _iter::Union{GtkTextIter, Ref{_GtkTextIter}}, _text::Union{AbstractString, Symbol}, _len::Integer)
        ret = ccall(("gtk_text_buffer_insert", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTextIter}, Cstring, Int32), instance, _iter, _text, _len)
        nothing
    end
    function insert_at_cursor(instance::GtkTextBuffer, _text::Union{AbstractString, Symbol}, _len::Integer)
        ret = ccall(("gtk_text_buffer_insert_at_cursor", libgtk4), Nothing, (Ptr{GObject}, Cstring, Int32), instance, _text, _len)
        nothing
    end
    function insert_child_anchor(instance::GtkTextBuffer, _iter::Union{GtkTextIter, Ref{_GtkTextIter}}, _anchor::GtkTextChildAnchor)
        ret = ccall(("gtk_text_buffer_insert_child_anchor", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTextIter}, Ptr{GObject}), instance, _iter, _anchor)
        nothing
    end
    function insert_interactive(instance::GtkTextBuffer, _iter::Union{GtkTextIter, Ref{_GtkTextIter}}, _text::Union{AbstractString, Symbol}, _len::Integer, _default_editable::Bool)
        ret = ccall(("gtk_text_buffer_insert_interactive", libgtk4), Cint, (Ptr{GObject}, Ptr{_GtkTextIter}, Cstring, Int32, Cint), instance, _iter, _text, _len, _default_editable)
        ret2 = convert(Bool, ret)
        ret2
    end
    function insert_interactive_at_cursor(instance::GtkTextBuffer, _text::Union{AbstractString, Symbol}, _len::Integer, _default_editable::Bool)
        ret = ccall(("gtk_text_buffer_insert_interactive_at_cursor", libgtk4), Cint, (Ptr{GObject}, Cstring, Int32, Cint), instance, _text, _len, _default_editable)
        ret2 = convert(Bool, ret)
        ret2
    end
    function insert_markup(instance::GtkTextBuffer, _iter::Union{GtkTextIter, Ref{_GtkTextIter}}, _markup::Union{AbstractString, Symbol}, _len::Integer)
        ret = ccall(("gtk_text_buffer_insert_markup", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTextIter}, Cstring, Int32), instance, _iter, _markup, _len)
        nothing
    end
    function insert_paintable(instance::GtkTextBuffer, _iter::Union{GtkTextIter, Ref{_GtkTextIter}}, _paintable::GdkPaintable)
        ret = ccall(("gtk_text_buffer_insert_paintable", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTextIter}, Ptr{GObject}), instance, _iter, _paintable)
        nothing
    end
    function insert_range(instance::GtkTextBuffer, _iter::Union{GtkTextIter, Ref{_GtkTextIter}}, _start::Union{GtkTextIter, Ref{_GtkTextIter}}, _end::Union{GtkTextIter, Ref{_GtkTextIter}})
        ret = ccall(("gtk_text_buffer_insert_range", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTextIter}, Ptr{_GtkTextIter}, Ptr{_GtkTextIter}), instance, _iter, _start, _end)
        nothing
    end
    function insert_range_interactive(instance::GtkTextBuffer, _iter::Union{GtkTextIter, Ref{_GtkTextIter}}, _start::Union{GtkTextIter, Ref{_GtkTextIter}}, _end::Union{GtkTextIter, Ref{_GtkTextIter}}, _default_editable::Bool)
        ret = ccall(("gtk_text_buffer_insert_range_interactive", libgtk4), Cint, (Ptr{GObject}, Ptr{_GtkTextIter}, Ptr{_GtkTextIter}, Ptr{_GtkTextIter}, Cint), instance, _iter, _start, _end, _default_editable)
        ret2 = convert(Bool, ret)
        ret2
    end
    function move_mark(instance::GtkTextBuffer, _mark::GtkTextMark, _where::Union{GtkTextIter, Ref{_GtkTextIter}})
        ret = ccall(("gtk_text_buffer_move_mark", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{_GtkTextIter}), instance, _mark, _where)
        nothing
    end
    function move_mark_by_name(instance::GtkTextBuffer, _name::Union{AbstractString, Symbol}, _where::Union{GtkTextIter, Ref{_GtkTextIter}})
        ret = ccall(("gtk_text_buffer_move_mark_by_name", libgtk4), Nothing, (Ptr{GObject}, Cstring, Ptr{_GtkTextIter}), instance, _name, _where)
        nothing
    end
    function paste_clipboard(instance::GtkTextBuffer, _clipboard::GdkClipboard, _override_location::Maybe(Union{GtkTextIter, Ref{_GtkTextIter}}), _default_editable::Bool)
        _override_location_maybe = nothing_to_null(_override_location)
        ret = ccall(("gtk_text_buffer_paste_clipboard", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{_GtkTextIter}, Cint), instance, _clipboard, _override_location_maybe, _default_editable)
        nothing
    end
    function place_cursor(instance::GtkTextBuffer, _where::Union{GtkTextIter, Ref{_GtkTextIter}})
        ret = ccall(("gtk_text_buffer_place_cursor", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTextIter}), instance, _where)
        nothing
    end
    function redo(instance::GtkTextBuffer)
        ret = ccall(("gtk_text_buffer_redo", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function remove_all_tags(instance::GtkTextBuffer, _start::Union{GtkTextIter, Ref{_GtkTextIter}}, _end::Union{GtkTextIter, Ref{_GtkTextIter}})
        ret = ccall(("gtk_text_buffer_remove_all_tags", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTextIter}, Ptr{_GtkTextIter}), instance, _start, _end)
        nothing
    end
    function remove_selection_clipboard(instance::GtkTextBuffer, _clipboard::GdkClipboard)
        ret = ccall(("gtk_text_buffer_remove_selection_clipboard", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _clipboard)
        nothing
    end
    function remove_tag(instance::GtkTextBuffer, _tag::GtkTextTag, _start::Union{GtkTextIter, Ref{_GtkTextIter}}, _end::Union{GtkTextIter, Ref{_GtkTextIter}})
        ret = ccall(("gtk_text_buffer_remove_tag", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{_GtkTextIter}, Ptr{_GtkTextIter}), instance, _tag, _start, _end)
        nothing
    end
    function remove_tag_by_name(instance::GtkTextBuffer, _name::Union{AbstractString, Symbol}, _start::Union{GtkTextIter, Ref{_GtkTextIter}}, _end::Union{GtkTextIter, Ref{_GtkTextIter}})
        ret = ccall(("gtk_text_buffer_remove_tag_by_name", libgtk4), Nothing, (Ptr{GObject}, Cstring, Ptr{_GtkTextIter}, Ptr{_GtkTextIter}), instance, _name, _start, _end)
        nothing
    end
    function select_range(instance::GtkTextBuffer, _ins::Union{GtkTextIter, Ref{_GtkTextIter}}, _bound::Union{GtkTextIter, Ref{_GtkTextIter}})
        ret = ccall(("gtk_text_buffer_select_range", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTextIter}, Ptr{_GtkTextIter}), instance, _ins, _bound)
        nothing
    end
    function set_enable_undo(instance::GtkTextBuffer, _enable_undo::Bool)
        ret = ccall(("gtk_text_buffer_set_enable_undo", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _enable_undo)
        nothing
    end
    function set_max_undo_levels(instance::GtkTextBuffer, _max_undo_levels::Integer)
        ret = ccall(("gtk_text_buffer_set_max_undo_levels", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _max_undo_levels)
        nothing
    end
    function set_modified(instance::GtkTextBuffer, _setting::Bool)
        ret = ccall(("gtk_text_buffer_set_modified", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _setting)
        nothing
    end
    function set_text(instance::GtkTextBuffer, _text::Union{AbstractString, Symbol}, _len::Integer)
        ret = ccall(("gtk_text_buffer_set_text", libgtk4), Nothing, (Ptr{GObject}, Cstring, Int32), instance, _text, _len)
        nothing
    end
    function undo(instance::GtkTextBuffer)
        ret = ccall(("gtk_text_buffer_undo", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function TextChildAnchor_new()
        ret = ccall(("gtk_text_child_anchor_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkTextChildAnchorLeaf(ret, true)
        ret2
    end
    function TextChildAnchor_new_with_replacement(_character::Union{AbstractString, Symbol})
        ret = ccall(("gtk_text_child_anchor_new_with_replacement", libgtk4), Ptr{GObject}, (Cstring,), _character)
        ret2 = GtkTextChildAnchorLeaf(ret, true)
        ret2
    end
    function get_deleted(instance::GtkTextChildAnchor)
        ret = ccall(("gtk_text_child_anchor_get_deleted", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_widgets(instance::GtkTextChildAnchor)
        m_out_len = Ref{UInt32}()
        ret = ccall(("gtk_text_child_anchor_get_widgets", libgtk4), Ptr{Ptr{GObject}}, (Ptr{GObject}, Ptr{UInt32}), instance, m_out_len)
        ret2 = begin
                arrtemp = collect(unsafe_wrap(Vector{Ptr{GObject}}, ret, m_out_len[]))
                GLib.g_free(ret)
                arrtemp = convert.(GtkWidget, arrtemp, false)
            end
        _out_len = m_out_len[]
        ret2
    end
    function TextMark_new(_name::Maybe(Union{AbstractString, Symbol}), _left_gravity::Bool)
        _name_maybe = nothing_to_null(_name)
        ret = ccall(("gtk_text_mark_new", libgtk4), Ptr{GObject}, (Cstring, Cint), _name_maybe, _left_gravity)
        ret2 = GtkTextMarkLeaf(ret, true)
        ret2
    end
    function get_buffer(instance::GtkTextMark)
        ret = ccall(("gtk_text_mark_get_buffer", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkTextBuffer, ret, false)
        ret2
    end
    function get_deleted(instance::GtkTextMark)
        ret = ccall(("gtk_text_mark_get_deleted", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_left_gravity(instance::GtkTextMark)
        ret = ccall(("gtk_text_mark_get_left_gravity", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_name(instance::GtkTextMark)
        ret = ccall(("gtk_text_mark_get_name", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_visible(instance::GtkTextMark)
        ret = ccall(("gtk_text_mark_get_visible", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_visible(instance::GtkTextMark, _setting::Bool)
        ret = ccall(("gtk_text_mark_set_visible", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _setting)
        nothing
    end
    function TextTag_new(_name::Maybe(Union{AbstractString, Symbol}))
        _name_maybe = nothing_to_null(_name)
        ret = ccall(("gtk_text_tag_new", libgtk4), Ptr{GObject}, (Cstring,), _name_maybe)
        ret2 = GtkTextTagLeaf(ret, true)
        ret2
    end
    function changed(instance::GtkTextTag, _size_changed::Bool)
        ret = ccall(("gtk_text_tag_changed", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _size_changed)
        nothing
    end
    function get_priority(instance::GtkTextTag)
        ret = ccall(("gtk_text_tag_get_priority", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function set_priority(instance::GtkTextTag, _priority::Integer)
        ret = ccall(("gtk_text_tag_set_priority", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _priority)
        nothing
    end
    function TextTagTable_new()
        ret = ccall(("gtk_text_tag_table_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkTextTagTableLeaf(ret, true)
        ret2
    end
    function add(instance::GtkTextTagTable, _tag::GtkTextTag)
        ret = ccall(("gtk_text_tag_table_add", libgtk4), Cint, (Ptr{GObject}, Ptr{GObject}), instance, _tag)
        ret2 = convert(Bool, ret)
        ret2
    end
    function foreach(instance::GtkTextTagTable, _func::Function)
        begin
            _func_cfunc = @cfunction(GtkTextTagTableForeach, Nothing, (Ptr{GObject}, Ref{Function}))
            begin
                ref = Ref{Any}(_func)
                _func_closure = unsafe_load(convert(Ptr{Ptr{Nothing}}, Base.unsafe_convert(Ptr{Any}, ref)))
            end
        end
        ret = ccall(("gtk_text_tag_table_foreach", libgtk4), Nothing, (Ptr{GObject}, Ptr{Cvoid}, Ptr{Nothing}), instance, _func_cfunc, _func_closure)
        nothing
    end
    function get_size(instance::GtkTextTagTable)
        ret = ccall(("gtk_text_tag_table_get_size", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function lookup(instance::GtkTextTagTable, _name::Union{AbstractString, Symbol})
        ret = ccall(("gtk_text_tag_table_lookup", libgtk4), Ptr{GObject}, (Ptr{GObject}, Cstring), instance, _name)
        ret2 = convert_if_not_null(GtkTextTag, ret, false)
        ret2
    end
    function remove(instance::GtkTextTagTable, _tag::GtkTextTag)
        ret = ccall(("gtk_text_tag_table_remove", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _tag)
        nothing
    end
    function get_buildable_id(instance::GtkTextTagTable)
        get_buildable_id(GtkBuildable(instance))
    end
    function TextView_new()
        ret = ccall(("gtk_text_view_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkTextViewLeaf(ret, false)
        ret2
    end
    function TextView_new_with_buffer(_buffer::GtkTextBuffer)
        ret = ccall(("gtk_text_view_new_with_buffer", libgtk4), Ptr{GObject}, (Ptr{GObject},), _buffer)
        ret2 = GtkTextViewLeaf(ret, false)
        ret2
    end
    function add_child_at_anchor(instance::GtkTextView, _child::GtkWidget, _anchor::GtkTextChildAnchor)
        ret = ccall(("gtk_text_view_add_child_at_anchor", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{GObject}), instance, _child, _anchor)
        nothing
    end
    function add_overlay(instance::GtkTextView, _child::GtkWidget, _xpos::Integer, _ypos::Integer)
        ret = ccall(("gtk_text_view_add_overlay", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Int32, Int32), instance, _child, _xpos, _ypos)
        nothing
    end
    function backward_display_line(instance::GtkTextView, _iter::Union{GtkTextIter, Ref{_GtkTextIter}})
        ret = ccall(("gtk_text_view_backward_display_line", libgtk4), Cint, (Ptr{GObject}, Ptr{_GtkTextIter}), instance, _iter)
        ret2 = convert(Bool, ret)
        ret2
    end
    function backward_display_line_start(instance::GtkTextView, _iter::Union{GtkTextIter, Ref{_GtkTextIter}})
        ret = ccall(("gtk_text_view_backward_display_line_start", libgtk4), Cint, (Ptr{GObject}, Ptr{_GtkTextIter}), instance, _iter)
        ret2 = convert(Bool, ret)
        ret2
    end
    function buffer_to_window_coords(instance::GtkTextView, _win, _buffer_x::Integer, _buffer_y::Integer)
        m_window_x = Ref{Int32}()
        m_window_y = Ref{Int32}()
        ret = ccall(("gtk_text_view_buffer_to_window_coords", libgtk4), Nothing, (Ptr{GObject}, UInt32, Int32, Int32, Ptr{Int32}, Ptr{Int32}), instance, _win, _buffer_x, _buffer_y, m_window_x, m_window_y)
        _window_x = m_window_x[]
        _window_y = m_window_y[]
        (_window_x, _window_y)
    end
    function forward_display_line(instance::GtkTextView, _iter::Union{GtkTextIter, Ref{_GtkTextIter}})
        ret = ccall(("gtk_text_view_forward_display_line", libgtk4), Cint, (Ptr{GObject}, Ptr{_GtkTextIter}), instance, _iter)
        ret2 = convert(Bool, ret)
        ret2
    end
    function forward_display_line_end(instance::GtkTextView, _iter::Union{GtkTextIter, Ref{_GtkTextIter}})
        ret = ccall(("gtk_text_view_forward_display_line_end", libgtk4), Cint, (Ptr{GObject}, Ptr{_GtkTextIter}), instance, _iter)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_accepts_tab(instance::GtkTextView)
        ret = ccall(("gtk_text_view_get_accepts_tab", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_bottom_margin(instance::GtkTextView)
        ret = ccall(("gtk_text_view_get_bottom_margin", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_buffer(instance::GtkTextView)
        ret = ccall(("gtk_text_view_get_buffer", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GtkTextBuffer, ret, false)
        ret2
    end
    function get_cursor_locations(instance::GtkTextView, _iter::Maybe(Union{GtkTextIter, Ref{_GtkTextIter}}))
        _iter_maybe = nothing_to_null(_iter)
        m_strong = Ref{_GdkRectangle}()
        m_weak = Ref{_GdkRectangle}()
        ret = ccall(("gtk_text_view_get_cursor_locations", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTextIter}, Ptr{_GdkRectangle}, Ptr{_GdkRectangle}), instance, _iter_maybe, m_strong, m_weak)
        _strong = m_strong[]
        _weak = m_weak[]
        (_strong, _weak)
    end
    function get_cursor_visible(instance::GtkTextView)
        ret = ccall(("gtk_text_view_get_cursor_visible", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_editable(instance::GtkTextView)
        ret = ccall(("gtk_text_view_get_editable", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_extra_menu(instance::GtkTextView)
        ret = ccall(("gtk_text_view_get_extra_menu", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GMenuModel, ret, false)
        ret2
    end
    function get_gutter(instance::GtkTextView, _win)
        ret = ccall(("gtk_text_view_get_gutter", libgtk4), Ptr{GObject}, (Ptr{GObject}, UInt32), instance, _win)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_indent(instance::GtkTextView)
        ret = ccall(("gtk_text_view_get_indent", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_input_hints(instance::GtkTextView)
        ret = ccall(("gtk_text_view_get_input_hints", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = InputHints(ret)
        ret2
    end
    function get_input_purpose(instance::GtkTextView)
        ret = ccall(("gtk_text_view_get_input_purpose", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = InputPurpose(ret)
        ret2
    end
    function get_iter_at_location(instance::GtkTextView, _x::Integer, _y::Integer)
        m_iter = Ref{_GtkTextIter}()
        ret = ccall(("gtk_text_view_get_iter_at_location", libgtk4), Cint, (Ptr{GObject}, Ptr{_GtkTextIter}, Int32, Int32), instance, m_iter, _x, _y)
        ret2 = convert(Bool, ret)
        _iter = m_iter[]
        (ret2, _iter)
    end
    function get_iter_at_position(instance::GtkTextView, _x::Integer, _y::Integer)
        m_iter = Ref{_GtkTextIter}()
        m_trailing = Ref{Int32}()
        ret = ccall(("gtk_text_view_get_iter_at_position", libgtk4), Cint, (Ptr{GObject}, Ptr{_GtkTextIter}, Ptr{Int32}, Int32, Int32), instance, m_iter, m_trailing, _x, _y)
        ret2 = convert(Bool, ret)
        _iter = m_iter[]
        _trailing = m_trailing[]
        (ret2, _iter, _trailing)
    end
    function get_iter_location(instance::GtkTextView, _iter::Union{GtkTextIter, Ref{_GtkTextIter}})
        m_location = Ref{_GdkRectangle}()
        ret = ccall(("gtk_text_view_get_iter_location", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTextIter}, Ptr{_GdkRectangle}), instance, _iter, m_location)
        _location = m_location[]
        _location
    end
    function get_justification(instance::GtkTextView)
        ret = ccall(("gtk_text_view_get_justification", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = Justification(ret)
        ret2
    end
    function get_left_margin(instance::GtkTextView)
        ret = ccall(("gtk_text_view_get_left_margin", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_line_at_y(instance::GtkTextView, _y::Integer)
        m_target_iter = Ref{_GtkTextIter}()
        m_line_top = Ref{Int32}()
        ret = ccall(("gtk_text_view_get_line_at_y", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTextIter}, Int32, Ptr{Int32}), instance, m_target_iter, _y, m_line_top)
        _target_iter = m_target_iter[]
        _line_top = m_line_top[]
        (_target_iter, _line_top)
    end
    function get_line_yrange(instance::GtkTextView, _iter::Union{GtkTextIter, Ref{_GtkTextIter}})
        m_y = Ref{Int32}()
        m_height = Ref{Int32}()
        ret = ccall(("gtk_text_view_get_line_yrange", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTextIter}, Ptr{Int32}, Ptr{Int32}), instance, _iter, m_y, m_height)
        _y = m_y[]
        _height = m_height[]
        (_y, _height)
    end
    function get_ltr_context(instance::GtkTextView)
        ret = ccall(("gtk_text_view_get_ltr_context", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(PangoContext, ret, false)
        ret2
    end
    function get_monospace(instance::GtkTextView)
        ret = ccall(("gtk_text_view_get_monospace", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_overwrite(instance::GtkTextView)
        ret = ccall(("gtk_text_view_get_overwrite", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_pixels_above_lines(instance::GtkTextView)
        ret = ccall(("gtk_text_view_get_pixels_above_lines", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_pixels_below_lines(instance::GtkTextView)
        ret = ccall(("gtk_text_view_get_pixels_below_lines", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_pixels_inside_wrap(instance::GtkTextView)
        ret = ccall(("gtk_text_view_get_pixels_inside_wrap", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_right_margin(instance::GtkTextView)
        ret = ccall(("gtk_text_view_get_right_margin", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_rtl_context(instance::GtkTextView)
        ret = ccall(("gtk_text_view_get_rtl_context", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(PangoContext, ret, false)
        ret2
    end
    function get_tabs(instance::GtkTextView)
        ret = ccall(("gtk_text_view_get_tabs", libgtk4), Ptr{PangoTabArray}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(PangoTabArray, ret, true)
        ret2
    end
    function get_top_margin(instance::GtkTextView)
        ret = ccall(("gtk_text_view_get_top_margin", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_visible_rect(instance::GtkTextView)
        m_visible_rect = Ref{_GdkRectangle}()
        ret = ccall(("gtk_text_view_get_visible_rect", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GdkRectangle}), instance, m_visible_rect)
        _visible_rect = m_visible_rect[]
        _visible_rect
    end
    function get_wrap_mode(instance::GtkTextView)
        ret = ccall(("gtk_text_view_get_wrap_mode", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = WrapMode(ret)
        ret2
    end
    function move_mark_onscreen(instance::GtkTextView, _mark::GtkTextMark)
        ret = ccall(("gtk_text_view_move_mark_onscreen", libgtk4), Cint, (Ptr{GObject}, Ptr{GObject}), instance, _mark)
        ret2 = convert(Bool, ret)
        ret2
    end
    function move_overlay(instance::GtkTextView, _child::GtkWidget, _xpos::Integer, _ypos::Integer)
        ret = ccall(("gtk_text_view_move_overlay", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Int32, Int32), instance, _child, _xpos, _ypos)
        nothing
    end
    function move_visually(instance::GtkTextView, _iter::Union{GtkTextIter, Ref{_GtkTextIter}}, _count::Integer)
        ret = ccall(("gtk_text_view_move_visually", libgtk4), Cint, (Ptr{GObject}, Ptr{_GtkTextIter}, Int32), instance, _iter, _count)
        ret2 = convert(Bool, ret)
        ret2
    end
    function place_cursor_onscreen(instance::GtkTextView)
        ret = ccall(("gtk_text_view_place_cursor_onscreen", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function remove(instance::GtkTextView, _child::GtkWidget)
        ret = ccall(("gtk_text_view_remove", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child)
        nothing
    end
    function reset_cursor_blink(instance::GtkTextView)
        ret = ccall(("gtk_text_view_reset_cursor_blink", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function reset_im_context(instance::GtkTextView)
        ret = ccall(("gtk_text_view_reset_im_context", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function scroll_mark_onscreen(instance::GtkTextView, _mark::GtkTextMark)
        ret = ccall(("gtk_text_view_scroll_mark_onscreen", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _mark)
        nothing
    end
    function scroll_to_iter(instance::GtkTextView, _iter::Union{GtkTextIter, Ref{_GtkTextIter}}, _within_margin::Real, _use_align::Bool, _xalign::Real, _yalign::Real)
        ret = ccall(("gtk_text_view_scroll_to_iter", libgtk4), Cint, (Ptr{GObject}, Ptr{_GtkTextIter}, Float64, Cint, Float64, Float64), instance, _iter, _within_margin, _use_align, _xalign, _yalign)
        ret2 = convert(Bool, ret)
        ret2
    end
    function scroll_to_mark(instance::GtkTextView, _mark::GtkTextMark, _within_margin::Real, _use_align::Bool, _xalign::Real, _yalign::Real)
        ret = ccall(("gtk_text_view_scroll_to_mark", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Float64, Cint, Float64, Float64), instance, _mark, _within_margin, _use_align, _xalign, _yalign)
        nothing
    end
    function set_accepts_tab(instance::GtkTextView, _accepts_tab::Bool)
        ret = ccall(("gtk_text_view_set_accepts_tab", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _accepts_tab)
        nothing
    end
    function set_bottom_margin(instance::GtkTextView, _bottom_margin::Integer)
        ret = ccall(("gtk_text_view_set_bottom_margin", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _bottom_margin)
        nothing
    end
    function set_buffer(instance::GtkTextView, _buffer::Maybe(GtkTextBuffer))
        _buffer_maybe = nothing_to_null(_buffer)
        ret = ccall(("gtk_text_view_set_buffer", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _buffer_maybe)
        nothing
    end
    function set_cursor_visible(instance::GtkTextView, _setting::Bool)
        ret = ccall(("gtk_text_view_set_cursor_visible", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _setting)
        nothing
    end
    function set_editable(instance::GtkTextView, _setting::Bool)
        ret = ccall(("gtk_text_view_set_editable", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _setting)
        nothing
    end
    function set_extra_menu(instance::GtkTextView, _model::Maybe(GMenuModel))
        _model_maybe = nothing_to_null(_model)
        ret = ccall(("gtk_text_view_set_extra_menu", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _model_maybe)
        nothing
    end
    function set_gutter(instance::GtkTextView, _win, _widget::Maybe(GtkWidget))
        _widget_maybe = nothing_to_null(_widget)
        ret = ccall(("gtk_text_view_set_gutter", libgtk4), Nothing, (Ptr{GObject}, UInt32, Ptr{GObject}), instance, _win, _widget_maybe)
        nothing
    end
    function set_indent(instance::GtkTextView, _indent::Integer)
        ret = ccall(("gtk_text_view_set_indent", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _indent)
        nothing
    end
    function set_input_hints(instance::GtkTextView, _hints)
        ret = ccall(("gtk_text_view_set_input_hints", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _hints)
        nothing
    end
    function set_input_purpose(instance::GtkTextView, _purpose)
        ret = ccall(("gtk_text_view_set_input_purpose", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _purpose)
        nothing
    end
    function set_justification(instance::GtkTextView, _justification)
        ret = ccall(("gtk_text_view_set_justification", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _justification)
        nothing
    end
    function set_left_margin(instance::GtkTextView, _left_margin::Integer)
        ret = ccall(("gtk_text_view_set_left_margin", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _left_margin)
        nothing
    end
    function set_monospace(instance::GtkTextView, _monospace::Bool)
        ret = ccall(("gtk_text_view_set_monospace", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _monospace)
        nothing
    end
    function set_overwrite(instance::GtkTextView, _overwrite::Bool)
        ret = ccall(("gtk_text_view_set_overwrite", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _overwrite)
        nothing
    end
    function set_pixels_above_lines(instance::GtkTextView, _pixels_above_lines::Integer)
        ret = ccall(("gtk_text_view_set_pixels_above_lines", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _pixels_above_lines)
        nothing
    end
    function set_pixels_below_lines(instance::GtkTextView, _pixels_below_lines::Integer)
        ret = ccall(("gtk_text_view_set_pixels_below_lines", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _pixels_below_lines)
        nothing
    end
    function set_pixels_inside_wrap(instance::GtkTextView, _pixels_inside_wrap::Integer)
        ret = ccall(("gtk_text_view_set_pixels_inside_wrap", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _pixels_inside_wrap)
        nothing
    end
    function set_right_margin(instance::GtkTextView, _right_margin::Integer)
        ret = ccall(("gtk_text_view_set_right_margin", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _right_margin)
        nothing
    end
    function set_tabs(instance::GtkTextView, _tabs::PangoTabArray)
        ret = ccall(("gtk_text_view_set_tabs", libgtk4), Nothing, (Ptr{GObject}, Ptr{PangoTabArray}), instance, _tabs)
        nothing
    end
    function set_top_margin(instance::GtkTextView, _top_margin::Integer)
        ret = ccall(("gtk_text_view_set_top_margin", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _top_margin)
        nothing
    end
    function set_wrap_mode(instance::GtkTextView, _wrap_mode)
        ret = ccall(("gtk_text_view_set_wrap_mode", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _wrap_mode)
        nothing
    end
    function starts_display_line(instance::GtkTextView, _iter::Union{GtkTextIter, Ref{_GtkTextIter}})
        ret = ccall(("gtk_text_view_starts_display_line", libgtk4), Cint, (Ptr{GObject}, Ptr{_GtkTextIter}), instance, _iter)
        ret2 = convert(Bool, ret)
        ret2
    end
    function window_to_buffer_coords(instance::GtkTextView, _win, _window_x::Integer, _window_y::Integer)
        m_buffer_x = Ref{Int32}()
        m_buffer_y = Ref{Int32}()
        ret = ccall(("gtk_text_view_window_to_buffer_coords", libgtk4), Nothing, (Ptr{GObject}, UInt32, Int32, Int32, Ptr{Int32}, Ptr{Int32}), instance, _win, _window_x, _window_y, m_buffer_x, m_buffer_y)
        _buffer_x = m_buffer_x[]
        _buffer_y = m_buffer_y[]
        (_buffer_x, _buffer_y)
    end
    function announce(instance::GtkTextView, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkTextView)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkTextView)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkTextView)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkTextView)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkTextView)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkTextView)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkTextView, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkTextView, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkTextView, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkTextView, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkTextView, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkTextView, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkTextView, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkTextView, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkTextView, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function update_caret_position(instance::GtkTextView)
        update_caret_position(GtkAccessibleText(instance))
    end
    function update_contents(instance::GtkTextView, _change, _start::Integer, _end::Integer)
        update_contents(GtkAccessibleText(instance), _change, _start, _end)
    end
    function update_selection_bound(instance::GtkTextView)
        update_selection_bound(GtkAccessibleText(instance))
    end
    function get_buildable_id(instance::GtkTextView)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_border(instance::GtkTextView)
        get_border(GtkScrollable(instance))
    end
    function get_hadjustment(instance::GtkTextView)
        get_hadjustment(GtkScrollable(instance))
    end
    function get_hscroll_policy(instance::GtkTextView)
        get_hscroll_policy(GtkScrollable(instance))
    end
    function get_vadjustment(instance::GtkTextView)
        get_vadjustment(GtkScrollable(instance))
    end
    function get_vscroll_policy(instance::GtkTextView)
        get_vscroll_policy(GtkScrollable(instance))
    end
    function set_hadjustment(instance::GtkTextView, _hadjustment::Maybe(GtkAdjustment))
        set_hadjustment(GtkScrollable(instance), _hadjustment)
    end
    function set_hscroll_policy(instance::GtkTextView, _policy)
        set_hscroll_policy(GtkScrollable(instance), _policy)
    end
    function set_vadjustment(instance::GtkTextView, _vadjustment::Maybe(GtkAdjustment))
        set_vadjustment(GtkScrollable(instance), _vadjustment)
    end
    function set_vscroll_policy(instance::GtkTextView, _policy)
        set_vscroll_policy(GtkScrollable(instance), _policy)
    end
    function ToggleButton_new()
        ret = ccall(("gtk_toggle_button_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkToggleButtonLeaf(ret, false)
        ret2
    end
    function ToggleButton_new_with_label(_label::Union{AbstractString, Symbol})
        ret = ccall(("gtk_toggle_button_new_with_label", libgtk4), Ptr{GObject}, (Cstring,), _label)
        ret2 = GtkToggleButtonLeaf(ret, false)
        ret2
    end
    function ToggleButton_new_with_mnemonic(_label::Union{AbstractString, Symbol})
        ret = ccall(("gtk_toggle_button_new_with_mnemonic", libgtk4), Ptr{GObject}, (Cstring,), _label)
        ret2 = GtkToggleButtonLeaf(ret, false)
        ret2
    end
    function get_active(instance::GtkToggleButton)
        ret = ccall(("gtk_toggle_button_get_active", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_active(instance::GtkToggleButton, _is_active::Bool)
        ret = ccall(("gtk_toggle_button_set_active", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _is_active)
        nothing
    end
    function set_group(instance::GtkToggleButton, _group::Maybe(GtkToggleButton))
        _group_maybe = nothing_to_null(_group)
        ret = ccall(("gtk_toggle_button_set_group", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _group_maybe)
        nothing
    end
    function toggled(instance::GtkToggleButton)
        ret = ccall(("gtk_toggle_button_toggled", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function announce(instance::GtkToggleButton, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkToggleButton)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkToggleButton)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkToggleButton)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkToggleButton)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkToggleButton)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkToggleButton)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkToggleButton, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkToggleButton, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkToggleButton, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkToggleButton, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkToggleButton, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkToggleButton, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkToggleButton, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkToggleButton, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkToggleButton, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_action_name(instance::GtkToggleButton)
        get_action_name(GtkActionable(instance))
    end
    function get_action_target_value(instance::GtkToggleButton)
        get_action_target_value(GtkActionable(instance))
    end
    function set_action_name(instance::GtkToggleButton, _action_name::Maybe(Union{AbstractString, Symbol}))
        set_action_name(GtkActionable(instance), _action_name)
    end
    function set_action_target_value(instance::GtkToggleButton, _target_value::Maybe(GVariant))
        set_action_target_value(GtkActionable(instance), _target_value)
    end
    function set_detailed_action_name(instance::GtkToggleButton, _detailed_action_name::Union{AbstractString, Symbol})
        set_detailed_action_name(GtkActionable(instance), _detailed_action_name)
    end
    function get_buildable_id(instance::GtkToggleButton)
        get_buildable_id(GtkBuildable(instance))
    end
    function set_custom(instance::GtkTooltip, _custom_widget::Maybe(GtkWidget))
        _custom_widget_maybe = nothing_to_null(_custom_widget)
        ret = ccall(("gtk_tooltip_set_custom", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _custom_widget_maybe)
        nothing
    end
    function set_icon(instance::GtkTooltip, _paintable::Maybe(GdkPaintable))
        _paintable_maybe = nothing_to_null(_paintable)
        ret = ccall(("gtk_tooltip_set_icon", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _paintable_maybe)
        nothing
    end
    function set_icon_from_gicon(instance::GtkTooltip, _gicon::Maybe(GIcon))
        _gicon_maybe = nothing_to_null(_gicon)
        ret = ccall(("gtk_tooltip_set_icon_from_gicon", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _gicon_maybe)
        nothing
    end
    function set_icon_from_icon_name(instance::GtkTooltip, _icon_name::Maybe(Union{AbstractString, Symbol}))
        _icon_name_maybe = nothing_to_null(_icon_name)
        ret = ccall(("gtk_tooltip_set_icon_from_icon_name", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _icon_name_maybe)
        nothing
    end
    function set_markup(instance::GtkTooltip, _markup::Maybe(Union{AbstractString, Symbol}))
        _markup_maybe = nothing_to_null(_markup)
        ret = ccall(("gtk_tooltip_set_markup", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _markup_maybe)
        nothing
    end
    function set_text(instance::GtkTooltip, _text::Maybe(Union{AbstractString, Symbol}))
        _text_maybe = nothing_to_null(_text)
        ret = ccall(("gtk_tooltip_set_text", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _text_maybe)
        nothing
    end
    function set_tip_area(instance::GtkTooltip, _rect::Union{GdkRectangle, Ref{_GdkRectangle}})
        ret = ccall(("gtk_tooltip_set_tip_area", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GdkRectangle}), instance, _rect)
        nothing
    end
    function TreeExpander_new()
        ret = ccall(("gtk_tree_expander_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkTreeExpanderLeaf(ret, false)
        ret2
    end
    function get_child(instance::GtkTreeExpander)
        ret = ccall(("gtk_tree_expander_get_child", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_hide_expander(instance::GtkTreeExpander)
        ret = ccall(("gtk_tree_expander_get_hide_expander", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_indent_for_depth(instance::GtkTreeExpander)
        ret = ccall(("gtk_tree_expander_get_indent_for_depth", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_indent_for_icon(instance::GtkTreeExpander)
        ret = ccall(("gtk_tree_expander_get_indent_for_icon", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_item(instance::GtkTreeExpander)
        ret = ccall(("gtk_tree_expander_get_item", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GObject, ret, true)
        ret2
    end
    function get_list_row(instance::GtkTreeExpander)
        ret = ccall(("gtk_tree_expander_get_list_row", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkTreeListRow, ret, false)
        ret2
    end
    function set_child(instance::GtkTreeExpander, _child::Maybe(GtkWidget))
        _child_maybe = nothing_to_null(_child)
        ret = ccall(("gtk_tree_expander_set_child", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child_maybe)
        nothing
    end
    function set_hide_expander(instance::GtkTreeExpander, _hide_expander::Bool)
        ret = ccall(("gtk_tree_expander_set_hide_expander", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _hide_expander)
        nothing
    end
    function set_indent_for_depth(instance::GtkTreeExpander, _indent_for_depth::Bool)
        ret = ccall(("gtk_tree_expander_set_indent_for_depth", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _indent_for_depth)
        nothing
    end
    function set_indent_for_icon(instance::GtkTreeExpander, _indent_for_icon::Bool)
        ret = ccall(("gtk_tree_expander_set_indent_for_icon", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _indent_for_icon)
        nothing
    end
    function set_list_row(instance::GtkTreeExpander, _list_row::Maybe(GtkTreeListRow))
        _list_row_maybe = nothing_to_null(_list_row)
        ret = ccall(("gtk_tree_expander_set_list_row", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _list_row_maybe)
        nothing
    end
    function announce(instance::GtkTreeExpander, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkTreeExpander)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkTreeExpander)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkTreeExpander)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkTreeExpander)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkTreeExpander)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkTreeExpander)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkTreeExpander, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkTreeExpander, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkTreeExpander, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkTreeExpander, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkTreeExpander, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkTreeExpander, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkTreeExpander, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkTreeExpander, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkTreeExpander, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkTreeExpander)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_autoexpand(instance::GtkTreeListModel)
        ret = ccall(("gtk_tree_list_model_get_autoexpand", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_child_row(instance::GtkTreeListModel, _position::Integer)
        ret = ccall(("gtk_tree_list_model_get_child_row", libgtk4), Ptr{GObject}, (Ptr{GObject}, UInt32), instance, _position)
        ret2 = convert_if_not_null(GtkTreeListRow, ret, true)
        ret2
    end
    function get_model(instance::GtkTreeListModel)
        ret = ccall(("gtk_tree_list_model_get_model", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = begin
                leaftype = GLib.find_leaf_type(ret)
                convert(leaftype, ret, false)
            end
        ret2
    end
    function get_passthrough(instance::GtkTreeListModel)
        ret = ccall(("gtk_tree_list_model_get_passthrough", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_row(instance::GtkTreeListModel, _position::Integer)
        ret = ccall(("gtk_tree_list_model_get_row", libgtk4), Ptr{GObject}, (Ptr{GObject}, UInt32), instance, _position)
        ret2 = convert_if_not_null(GtkTreeListRow, ret, true)
        ret2
    end
    function set_autoexpand(instance::GtkTreeListModel, _autoexpand::Bool)
        ret = ccall(("gtk_tree_list_model_set_autoexpand", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _autoexpand)
        nothing
    end
    function get_item_type(instance::GtkTreeListModel)
        get_item_type(GListModel(instance))
    end
    function get_n_items(instance::GtkTreeListModel)
        get_n_items(GListModel(instance))
    end
    function get_item(instance::GtkTreeListModel, _position::Integer)
        get_item(GListModel(instance), _position)
    end
    function items_changed(instance::GtkTreeListModel, _position::Integer, _removed::Integer, _added::Integer)
        items_changed(GListModel(instance), _position, _removed, _added)
    end
    function get_child_row(instance::GtkTreeListRow, _position::Integer)
        ret = ccall(("gtk_tree_list_row_get_child_row", libgtk4), Ptr{GObject}, (Ptr{GObject}, UInt32), instance, _position)
        ret2 = convert_if_not_null(GtkTreeListRow, ret, true)
        ret2
    end
    function get_children(instance::GtkTreeListRow)
        ret = ccall(("gtk_tree_list_row_get_children", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, false)
        ret2
    end
    function get_depth(instance::GtkTreeListRow)
        ret = ccall(("gtk_tree_list_row_get_depth", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function get_expanded(instance::GtkTreeListRow)
        ret = ccall(("gtk_tree_list_row_get_expanded", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_item(instance::GtkTreeListRow)
        ret = ccall(("gtk_tree_list_row_get_item", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GObject, ret, true)
        ret2
    end
    function get_parent(instance::GtkTreeListRow)
        ret = ccall(("gtk_tree_list_row_get_parent", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkTreeListRow, ret, true)
        ret2
    end
    function get_position(instance::GtkTreeListRow)
        ret = ccall(("gtk_tree_list_row_get_position", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function is_expandable(instance::GtkTreeListRow)
        ret = ccall(("gtk_tree_list_row_is_expandable", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_expanded(instance::GtkTreeListRow, _expanded::Bool)
        ret = ccall(("gtk_tree_list_row_set_expanded", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _expanded)
        nothing
    end
    function TreeListRowSorter_new(_sorter::Maybe(GtkSorter))
        _sorter_maybe = begin
                if _sorter !== nothing
                    GLib.glib_ref(_sorter)
                end
                nothing_to_null(_sorter)
            end
        ret = ccall(("gtk_tree_list_row_sorter_new", libgtk4), Ptr{GObject}, (Ptr{GObject},), _sorter_maybe)
        ret2 = GtkTreeListRowSorterLeaf(ret, true)
        ret2
    end
    function get_sorter(instance::GtkTreeListRowSorter)
        ret = ccall(("gtk_tree_list_row_sorter_get_sorter", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkSorter, ret, false)
        ret2
    end
    function set_sorter(instance::GtkTreeListRowSorter, _sorter::Maybe(GtkSorter))
        _sorter_maybe = nothing_to_null(_sorter)
        ret = ccall(("gtk_tree_list_row_sorter_set_sorter", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _sorter_maybe)
        nothing
    end
    function clear_cache(instance::GtkTreeModelFilter)
        ret = ccall(("gtk_tree_model_filter_clear_cache", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function convert_child_iter_to_iter(instance::GtkTreeModelFilter, _child_iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        m_filter_iter = Ref{_GtkTreeIter}()
        ret = ccall(("gtk_tree_model_filter_convert_child_iter_to_iter", libgtk4), Cint, (Ptr{GObject}, Ptr{_GtkTreeIter}, Ptr{_GtkTreeIter}), instance, m_filter_iter, _child_iter)
        ret2 = convert(Bool, ret)
        _filter_iter = m_filter_iter[]
        (ret2, _filter_iter)
    end
    function convert_child_path_to_path(instance::GtkTreeModelFilter, _child_path::GtkTreePath)
        ret = ccall(("gtk_tree_model_filter_convert_child_path_to_path", libgtk4), Ptr{GtkTreePath}, (Ptr{GObject}, Ptr{GtkTreePath}), instance, _child_path)
        ret2 = convert_if_not_null(GtkTreePath, ret, true)
        ret2
    end
    function convert_iter_to_child_iter(instance::GtkTreeModelFilter, _filter_iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        m_child_iter = Ref{_GtkTreeIter}()
        ret = ccall(("gtk_tree_model_filter_convert_iter_to_child_iter", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTreeIter}, Ptr{_GtkTreeIter}), instance, m_child_iter, _filter_iter)
        _child_iter = m_child_iter[]
        _child_iter
    end
    function convert_path_to_child_path(instance::GtkTreeModelFilter, _filter_path::GtkTreePath)
        ret = ccall(("gtk_tree_model_filter_convert_path_to_child_path", libgtk4), Ptr{GtkTreePath}, (Ptr{GObject}, Ptr{GtkTreePath}), instance, _filter_path)
        ret2 = convert_if_not_null(GtkTreePath, ret, true)
        ret2
    end
    function get_model(instance::GtkTreeModelFilter)
        ret = ccall(("gtk_tree_model_filter_get_model", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = begin
                leaftype = GLib.find_leaf_type(ret)
                convert(leaftype, ret, false)
            end
        ret2
    end
    function refilter(instance::GtkTreeModelFilter)
        ret = ccall(("gtk_tree_model_filter_refilter", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function set_visible_column(instance::GtkTreeModelFilter, _column::Integer)
        ret = ccall(("gtk_tree_model_filter_set_visible_column", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _column)
        nothing
    end
    function drag_data_delete(instance::GtkTreeModelFilter, _path::GtkTreePath)
        drag_data_delete(GtkTreeDragSource(instance), _path)
    end
    function drag_data_get(instance::GtkTreeModelFilter, _path::GtkTreePath)
        drag_data_get(GtkTreeDragSource(instance), _path)
    end
    function row_draggable(instance::GtkTreeModelFilter, _path::GtkTreePath)
        row_draggable(GtkTreeDragSource(instance), _path)
    end
    function filter_new(instance::GtkTreeModelFilter, _root::Maybe(GtkTreePath))
        filter_new(GtkTreeModel(instance), _root)
    end
    function foreach(instance::GtkTreeModelFilter, _func::Function)
        foreach(GtkTreeModel(instance), _func)
    end
    function get_column_type(instance::GtkTreeModelFilter, _index_::Integer)
        get_column_type(GtkTreeModel(instance), _index_)
    end
    function get_flags(instance::GtkTreeModelFilter)
        get_flags(GtkTreeModel(instance))
    end
    function get_iter(instance::GtkTreeModelFilter, _path::GtkTreePath)
        get_iter(GtkTreeModel(instance), _path)
    end
    function get_iter_first(instance::GtkTreeModelFilter)
        get_iter_first(GtkTreeModel(instance))
    end
    function get_iter_from_string(instance::GtkTreeModelFilter, _path_string::Union{AbstractString, Symbol})
        get_iter_from_string(GtkTreeModel(instance), _path_string)
    end
    function get_n_columns(instance::GtkTreeModelFilter)
        get_n_columns(GtkTreeModel(instance))
    end
    function get_path(instance::GtkTreeModelFilter, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        get_path(GtkTreeModel(instance), _iter)
    end
    function get_string_from_iter(instance::GtkTreeModelFilter, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        get_string_from_iter(GtkTreeModel(instance), _iter)
    end
    function get_value(instance::GtkTreeModelFilter, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}}, _column::Integer)
        get_value(GtkTreeModel(instance), _iter, _column)
    end
    function iter_children(instance::GtkTreeModelFilter, _parent::Maybe(Union{GtkTreeIter, Ref{_GtkTreeIter}}))
        iter_children(GtkTreeModel(instance), _parent)
    end
    function iter_has_child(instance::GtkTreeModelFilter, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        iter_has_child(GtkTreeModel(instance), _iter)
    end
    function iter_n_children(instance::GtkTreeModelFilter, _iter::Maybe(Union{GtkTreeIter, Ref{_GtkTreeIter}}))
        iter_n_children(GtkTreeModel(instance), _iter)
    end
    function iter_next(instance::GtkTreeModelFilter, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        iter_next(GtkTreeModel(instance), _iter)
    end
    function iter_nth_child(instance::GtkTreeModelFilter, _parent::Maybe(Union{GtkTreeIter, Ref{_GtkTreeIter}}), _n::Integer)
        iter_nth_child(GtkTreeModel(instance), _parent, _n)
    end
    function iter_parent(instance::GtkTreeModelFilter, _child::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        iter_parent(GtkTreeModel(instance), _child)
    end
    function iter_previous(instance::GtkTreeModelFilter, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        iter_previous(GtkTreeModel(instance), _iter)
    end
    function ref_node(instance::GtkTreeModelFilter, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        ref_node(GtkTreeModel(instance), _iter)
    end
    function row_changed(instance::GtkTreeModelFilter, _path::GtkTreePath, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        row_changed(GtkTreeModel(instance), _path, _iter)
    end
    function row_deleted(instance::GtkTreeModelFilter, _path::GtkTreePath)
        row_deleted(GtkTreeModel(instance), _path)
    end
    function row_has_child_toggled(instance::GtkTreeModelFilter, _path::GtkTreePath, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        row_has_child_toggled(GtkTreeModel(instance), _path, _iter)
    end
    function row_inserted(instance::GtkTreeModelFilter, _path::GtkTreePath, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        row_inserted(GtkTreeModel(instance), _path, _iter)
    end
    function rows_reordered(instance::GtkTreeModelFilter, _path::GtkTreePath, _iter::Maybe(Union{GtkTreeIter, Ref{_GtkTreeIter}}), _new_order)
        rows_reordered(GtkTreeModel(instance), _path, _iter, _new_order)
    end
    function unref_node(instance::GtkTreeModelFilter, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        unref_node(GtkTreeModel(instance), _iter)
    end
    function TreeModelSort_new_with_model(_child_model::GtkTreeModel)
        ret = ccall(("gtk_tree_model_sort_new_with_model", libgtk4), Ptr{GObject}, (Ptr{GObject},), _child_model)
        ret2 = GtkTreeModelSortLeaf(ret, true)
        ret2
    end
    function clear_cache(instance::GtkTreeModelSort)
        ret = ccall(("gtk_tree_model_sort_clear_cache", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function convert_child_iter_to_iter(instance::GtkTreeModelSort, _child_iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        m_sort_iter = Ref{_GtkTreeIter}()
        ret = ccall(("gtk_tree_model_sort_convert_child_iter_to_iter", libgtk4), Cint, (Ptr{GObject}, Ptr{_GtkTreeIter}, Ptr{_GtkTreeIter}), instance, m_sort_iter, _child_iter)
        ret2 = convert(Bool, ret)
        _sort_iter = m_sort_iter[]
        (ret2, _sort_iter)
    end
    function convert_child_path_to_path(instance::GtkTreeModelSort, _child_path::GtkTreePath)
        ret = ccall(("gtk_tree_model_sort_convert_child_path_to_path", libgtk4), Ptr{GtkTreePath}, (Ptr{GObject}, Ptr{GtkTreePath}), instance, _child_path)
        ret2 = convert_if_not_null(GtkTreePath, ret, true)
        ret2
    end
    function convert_iter_to_child_iter(instance::GtkTreeModelSort, _sorted_iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        m_child_iter = Ref{_GtkTreeIter}()
        ret = ccall(("gtk_tree_model_sort_convert_iter_to_child_iter", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTreeIter}, Ptr{_GtkTreeIter}), instance, m_child_iter, _sorted_iter)
        _child_iter = m_child_iter[]
        _child_iter
    end
    function convert_path_to_child_path(instance::GtkTreeModelSort, _sorted_path::GtkTreePath)
        ret = ccall(("gtk_tree_model_sort_convert_path_to_child_path", libgtk4), Ptr{GtkTreePath}, (Ptr{GObject}, Ptr{GtkTreePath}), instance, _sorted_path)
        ret2 = convert_if_not_null(GtkTreePath, ret, true)
        ret2
    end
    function get_model(instance::GtkTreeModelSort)
        ret = ccall(("gtk_tree_model_sort_get_model", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = begin
                leaftype = GLib.find_leaf_type(ret)
                convert(leaftype, ret, false)
            end
        ret2
    end
    function iter_is_valid(instance::GtkTreeModelSort, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        ret = ccall(("gtk_tree_model_sort_iter_is_valid", libgtk4), Cint, (Ptr{GObject}, Ptr{_GtkTreeIter}), instance, _iter)
        ret2 = convert(Bool, ret)
        ret2
    end
    function reset_default_sort_func(instance::GtkTreeModelSort)
        ret = ccall(("gtk_tree_model_sort_reset_default_sort_func", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function drag_data_delete(instance::GtkTreeModelSort, _path::GtkTreePath)
        drag_data_delete(GtkTreeDragSource(instance), _path)
    end
    function drag_data_get(instance::GtkTreeModelSort, _path::GtkTreePath)
        drag_data_get(GtkTreeDragSource(instance), _path)
    end
    function row_draggable(instance::GtkTreeModelSort, _path::GtkTreePath)
        row_draggable(GtkTreeDragSource(instance), _path)
    end
    function filter_new(instance::GtkTreeModelSort, _root::Maybe(GtkTreePath))
        filter_new(GtkTreeModel(instance), _root)
    end
    function foreach(instance::GtkTreeModelSort, _func::Function)
        foreach(GtkTreeModel(instance), _func)
    end
    function get_column_type(instance::GtkTreeModelSort, _index_::Integer)
        get_column_type(GtkTreeModel(instance), _index_)
    end
    function get_flags(instance::GtkTreeModelSort)
        get_flags(GtkTreeModel(instance))
    end
    function get_iter(instance::GtkTreeModelSort, _path::GtkTreePath)
        get_iter(GtkTreeModel(instance), _path)
    end
    function get_iter_first(instance::GtkTreeModelSort)
        get_iter_first(GtkTreeModel(instance))
    end
    function get_iter_from_string(instance::GtkTreeModelSort, _path_string::Union{AbstractString, Symbol})
        get_iter_from_string(GtkTreeModel(instance), _path_string)
    end
    function get_n_columns(instance::GtkTreeModelSort)
        get_n_columns(GtkTreeModel(instance))
    end
    function get_path(instance::GtkTreeModelSort, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        get_path(GtkTreeModel(instance), _iter)
    end
    function get_string_from_iter(instance::GtkTreeModelSort, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        get_string_from_iter(GtkTreeModel(instance), _iter)
    end
    function get_value(instance::GtkTreeModelSort, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}}, _column::Integer)
        get_value(GtkTreeModel(instance), _iter, _column)
    end
    function iter_children(instance::GtkTreeModelSort, _parent::Maybe(Union{GtkTreeIter, Ref{_GtkTreeIter}}))
        iter_children(GtkTreeModel(instance), _parent)
    end
    function iter_has_child(instance::GtkTreeModelSort, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        iter_has_child(GtkTreeModel(instance), _iter)
    end
    function iter_n_children(instance::GtkTreeModelSort, _iter::Maybe(Union{GtkTreeIter, Ref{_GtkTreeIter}}))
        iter_n_children(GtkTreeModel(instance), _iter)
    end
    function iter_next(instance::GtkTreeModelSort, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        iter_next(GtkTreeModel(instance), _iter)
    end
    function iter_nth_child(instance::GtkTreeModelSort, _parent::Maybe(Union{GtkTreeIter, Ref{_GtkTreeIter}}), _n::Integer)
        iter_nth_child(GtkTreeModel(instance), _parent, _n)
    end
    function iter_parent(instance::GtkTreeModelSort, _child::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        iter_parent(GtkTreeModel(instance), _child)
    end
    function iter_previous(instance::GtkTreeModelSort, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        iter_previous(GtkTreeModel(instance), _iter)
    end
    function ref_node(instance::GtkTreeModelSort, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        ref_node(GtkTreeModel(instance), _iter)
    end
    function row_changed(instance::GtkTreeModelSort, _path::GtkTreePath, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        row_changed(GtkTreeModel(instance), _path, _iter)
    end
    function row_deleted(instance::GtkTreeModelSort, _path::GtkTreePath)
        row_deleted(GtkTreeModel(instance), _path)
    end
    function row_has_child_toggled(instance::GtkTreeModelSort, _path::GtkTreePath, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        row_has_child_toggled(GtkTreeModel(instance), _path, _iter)
    end
    function row_inserted(instance::GtkTreeModelSort, _path::GtkTreePath, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        row_inserted(GtkTreeModel(instance), _path, _iter)
    end
    function rows_reordered(instance::GtkTreeModelSort, _path::GtkTreePath, _iter::Maybe(Union{GtkTreeIter, Ref{_GtkTreeIter}}), _new_order)
        rows_reordered(GtkTreeModel(instance), _path, _iter, _new_order)
    end
    function unref_node(instance::GtkTreeModelSort, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        unref_node(GtkTreeModel(instance), _iter)
    end
    function get_sort_column_id(instance::GtkTreeModelSort)
        get_sort_column_id(GtkTreeSortable(instance))
    end
    function has_default_sort_func(instance::GtkTreeModelSort)
        has_default_sort_func(GtkTreeSortable(instance))
    end
    function set_default_sort_func(instance::GtkTreeModelSort, _sort_func::Function, _destroy::Maybe(Function))
        set_default_sort_func(GtkTreeSortable(instance), _sort_func, _destroy)
    end
    function set_sort_column_id(instance::GtkTreeModelSort, _sort_column_id::Integer, _order)
        set_sort_column_id(GtkTreeSortable(instance), _sort_column_id, _order)
    end
    function set_sort_func(instance::GtkTreeModelSort, _sort_column_id::Integer, _sort_func::Function, _destroy::Maybe(Function))
        set_sort_func(GtkTreeSortable(instance), _sort_column_id, _sort_func, _destroy)
    end
    function sort_column_changed(instance::GtkTreeModelSort)
        sort_column_changed(GtkTreeSortable(instance))
    end
    function count_selected_rows(instance::GtkTreeSelection)
        ret = ccall(("gtk_tree_selection_count_selected_rows", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_mode(instance::GtkTreeSelection)
        ret = ccall(("gtk_tree_selection_get_mode", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = SelectionMode(ret)
        ret2
    end
    function get_selected(instance::GtkTreeSelection)
        m_model = Ref{Ptr{GObject}}()
        m_iter = Ref{_GtkTreeIter}()
        ret = ccall(("gtk_tree_selection_get_selected", libgtk4), Cint, (Ptr{GObject}, Ptr{Ptr{GObject}}, Ptr{_GtkTreeIter}), instance, m_model, m_iter)
        ret2 = convert(Bool, ret)
        _model = m_model[]
        _model = begin
                leaftype = GLib.find_leaf_type(_model)
                convert(leaftype, _model, false)
            end
        _iter = m_iter[]
        (ret2, _model, _iter)
    end
    function get_selected_rows(instance::GtkTreeSelection)
        m_model = Ref{Ptr{GObject}}()
        ret = ccall(("gtk_tree_selection_get_selected_rows", libgtk4), Ptr{GLib._GList{GtkTreePath}}, (Ptr{GObject}, Ptr{Ptr{GObject}}), instance, m_model)
        ret2 = GLib.GList(ret, true)
        _model = m_model[]
        _model = begin
                leaftype = GLib.find_leaf_type(_model)
                convert(leaftype, _model, false)
            end
        (ret2, _model)
    end
    function get_tree_view(instance::GtkTreeSelection)
        ret = ccall(("gtk_tree_selection_get_tree_view", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GtkTreeView, ret, false)
        ret2
    end
    function iter_is_selected(instance::GtkTreeSelection, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        ret = ccall(("gtk_tree_selection_iter_is_selected", libgtk4), Cint, (Ptr{GObject}, Ptr{_GtkTreeIter}), instance, _iter)
        ret2 = convert(Bool, ret)
        ret2
    end
    function path_is_selected(instance::GtkTreeSelection, _path::GtkTreePath)
        ret = ccall(("gtk_tree_selection_path_is_selected", libgtk4), Cint, (Ptr{GObject}, Ptr{GtkTreePath}), instance, _path)
        ret2 = convert(Bool, ret)
        ret2
    end
    function select_all(instance::GtkTreeSelection)
        ret = ccall(("gtk_tree_selection_select_all", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function select_iter(instance::GtkTreeSelection, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        ret = ccall(("gtk_tree_selection_select_iter", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTreeIter}), instance, _iter)
        nothing
    end
    function select_path(instance::GtkTreeSelection, _path::GtkTreePath)
        ret = ccall(("gtk_tree_selection_select_path", libgtk4), Nothing, (Ptr{GObject}, Ptr{GtkTreePath}), instance, _path)
        nothing
    end
    function select_range(instance::GtkTreeSelection, _start_path::GtkTreePath, _end_path::GtkTreePath)
        ret = ccall(("gtk_tree_selection_select_range", libgtk4), Nothing, (Ptr{GObject}, Ptr{GtkTreePath}, Ptr{GtkTreePath}), instance, _start_path, _end_path)
        nothing
    end
    function selected_foreach(instance::GtkTreeSelection, _func::Function)
        begin
            _func_cfunc = @cfunction(GtkTreeSelectionForeachFunc, Nothing, (Ptr{GObject}, Ptr{GtkTreePath}, Ptr{_GtkTreeIter}, Ref{Function}))
            begin
                ref = Ref{Any}(_func)
                _func_closure = unsafe_load(convert(Ptr{Ptr{Nothing}}, Base.unsafe_convert(Ptr{Any}, ref)))
            end
        end
        ret = ccall(("gtk_tree_selection_selected_foreach", libgtk4), Nothing, (Ptr{GObject}, Ptr{Cvoid}, Ptr{Nothing}), instance, _func_cfunc, _func_closure)
        nothing
    end
    function set_mode(instance::GtkTreeSelection, _type)
        ret = ccall(("gtk_tree_selection_set_mode", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _type)
        nothing
    end
    function unselect_all(instance::GtkTreeSelection)
        ret = ccall(("gtk_tree_selection_unselect_all", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function unselect_iter(instance::GtkTreeSelection, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        ret = ccall(("gtk_tree_selection_unselect_iter", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTreeIter}), instance, _iter)
        nothing
    end
    function unselect_path(instance::GtkTreeSelection, _path::GtkTreePath)
        ret = ccall(("gtk_tree_selection_unselect_path", libgtk4), Nothing, (Ptr{GObject}, Ptr{GtkTreePath}), instance, _path)
        nothing
    end
    function unselect_range(instance::GtkTreeSelection, _start_path::GtkTreePath, _end_path::GtkTreePath)
        ret = ccall(("gtk_tree_selection_unselect_range", libgtk4), Nothing, (Ptr{GObject}, Ptr{GtkTreePath}, Ptr{GtkTreePath}), instance, _start_path, _end_path)
        nothing
    end
    function TreeStore_new(_types)
        _types_arr = convert(Vector{UInt64}, _types)
        _n_columns = length(_types)
        ret = ccall(("gtk_tree_store_newv", libgtk4), Ptr{GObject}, (Int32, Ptr{UInt64}), _n_columns, _types_arr)
        ret2 = GtkTreeStoreLeaf(ret, true)
        ret2
    end
    function append(instance::GtkTreeStore, _parent::Maybe(Union{GtkTreeIter, Ref{_GtkTreeIter}}))
        m_iter = Ref{_GtkTreeIter}()
        _parent_maybe = nothing_to_null(_parent)
        ret = ccall(("gtk_tree_store_append", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTreeIter}, Ptr{_GtkTreeIter}), instance, m_iter, _parent_maybe)
        _iter = m_iter[]
        _iter
    end
    function clear(instance::GtkTreeStore)
        ret = ccall(("gtk_tree_store_clear", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function insert(instance::GtkTreeStore, _parent::Maybe(Union{GtkTreeIter, Ref{_GtkTreeIter}}), _position::Integer)
        m_iter = Ref{_GtkTreeIter}()
        _parent_maybe = nothing_to_null(_parent)
        ret = ccall(("gtk_tree_store_insert", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTreeIter}, Ptr{_GtkTreeIter}, Int32), instance, m_iter, _parent_maybe, _position)
        _iter = m_iter[]
        _iter
    end
    function insert_after(instance::GtkTreeStore, _parent::Maybe(Union{GtkTreeIter, Ref{_GtkTreeIter}}), _sibling::Maybe(Union{GtkTreeIter, Ref{_GtkTreeIter}}))
        m_iter = Ref{_GtkTreeIter}()
        _parent_maybe = nothing_to_null(_parent)
        _sibling_maybe = nothing_to_null(_sibling)
        ret = ccall(("gtk_tree_store_insert_after", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTreeIter}, Ptr{_GtkTreeIter}, Ptr{_GtkTreeIter}), instance, m_iter, _parent_maybe, _sibling_maybe)
        _iter = m_iter[]
        _iter
    end
    function insert_before(instance::GtkTreeStore, _parent::Maybe(Union{GtkTreeIter, Ref{_GtkTreeIter}}), _sibling::Maybe(Union{GtkTreeIter, Ref{_GtkTreeIter}}))
        m_iter = Ref{_GtkTreeIter}()
        _parent_maybe = nothing_to_null(_parent)
        _sibling_maybe = nothing_to_null(_sibling)
        ret = ccall(("gtk_tree_store_insert_before", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTreeIter}, Ptr{_GtkTreeIter}, Ptr{_GtkTreeIter}), instance, m_iter, _parent_maybe, _sibling_maybe)
        _iter = m_iter[]
        _iter
    end
    function insert_with_values(instance::GtkTreeStore, _parent::Maybe(Union{GtkTreeIter, Ref{_GtkTreeIter}}), _position::Integer, _columns, _values)
        m_iter = Ref{_GtkTreeIter}()
        _parent_maybe = nothing_to_null(_parent)
        _columns_arr = convert(Vector{Int32}, _columns)
        _values_arr = convert(Vector{_GValue}, _values)
        _n_values = length(_columns)
        _n_values = length(_values)
        ret = ccall(("gtk_tree_store_insert_with_valuesv", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTreeIter}, Ptr{_GtkTreeIter}, Int32, Ptr{Int32}, Ptr{_GValue}, Int32), instance, m_iter, _parent_maybe, _position, _columns_arr, _values_arr, _n_values)
        _iter = m_iter[]
        _iter
    end
    function is_ancestor(instance::GtkTreeStore, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}}, _descendant::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        ret = ccall(("gtk_tree_store_is_ancestor", libgtk4), Cint, (Ptr{GObject}, Ptr{_GtkTreeIter}, Ptr{_GtkTreeIter}), instance, _iter, _descendant)
        ret2 = convert(Bool, ret)
        ret2
    end
    function iter_depth(instance::GtkTreeStore, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        ret = ccall(("gtk_tree_store_iter_depth", libgtk4), Int32, (Ptr{GObject}, Ptr{_GtkTreeIter}), instance, _iter)
        ret
    end
    function iter_is_valid(instance::GtkTreeStore, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        ret = ccall(("gtk_tree_store_iter_is_valid", libgtk4), Cint, (Ptr{GObject}, Ptr{_GtkTreeIter}), instance, _iter)
        ret2 = convert(Bool, ret)
        ret2
    end
    function move_after(instance::GtkTreeStore, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}}, _position::Maybe(Union{GtkTreeIter, Ref{_GtkTreeIter}}))
        _position_maybe = nothing_to_null(_position)
        ret = ccall(("gtk_tree_store_move_after", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTreeIter}, Ptr{_GtkTreeIter}), instance, _iter, _position_maybe)
        nothing
    end
    function move_before(instance::GtkTreeStore, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}}, _position::Maybe(Union{GtkTreeIter, Ref{_GtkTreeIter}}))
        _position_maybe = nothing_to_null(_position)
        ret = ccall(("gtk_tree_store_move_before", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTreeIter}, Ptr{_GtkTreeIter}), instance, _iter, _position_maybe)
        nothing
    end
    function prepend(instance::GtkTreeStore, _parent::Maybe(Union{GtkTreeIter, Ref{_GtkTreeIter}}))
        m_iter = Ref{_GtkTreeIter}()
        _parent_maybe = nothing_to_null(_parent)
        ret = ccall(("gtk_tree_store_prepend", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTreeIter}, Ptr{_GtkTreeIter}), instance, m_iter, _parent_maybe)
        _iter = m_iter[]
        _iter
    end
    function remove(instance::GtkTreeStore, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        ret = ccall(("gtk_tree_store_remove", libgtk4), Cint, (Ptr{GObject}, Ptr{_GtkTreeIter}), instance, _iter)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_column_types(instance::GtkTreeStore, _types)
        _types_arr = convert(Vector{UInt64}, _types)
        _n_columns = length(_types)
        ret = ccall(("gtk_tree_store_set_column_types", libgtk4), Nothing, (Ptr{GObject}, Int32, Ptr{UInt64}), instance, _n_columns, _types_arr)
        nothing
    end
    function set_value(instance::GtkTreeStore, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}}, _column::Integer, _value::Union{GValue, Ref{_GValue}})
        ret = ccall(("gtk_tree_store_set_value", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTreeIter}, Int32, Ptr{_GValue}), instance, _iter, _column, _value)
        nothing
    end
    function set(instance::GtkTreeStore, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}}, _columns, _values)
        _columns_arr = convert(Vector{Int32}, _columns)
        _values_arr = convert(Vector{_GValue}, _values)
        _n_values = length(_columns)
        _n_values = length(_values)
        ret = ccall(("gtk_tree_store_set_valuesv", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTreeIter}, Ptr{Int32}, Ptr{_GValue}, Int32), instance, _iter, _columns_arr, _values_arr, _n_values)
        nothing
    end
    function swap(instance::GtkTreeStore, _a::Union{GtkTreeIter, Ref{_GtkTreeIter}}, _b::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        ret = ccall(("gtk_tree_store_swap", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTreeIter}, Ptr{_GtkTreeIter}), instance, _a, _b)
        nothing
    end
    function get_buildable_id(instance::GtkTreeStore)
        get_buildable_id(GtkBuildable(instance))
    end
    function drag_data_received(instance::GtkTreeStore, _dest::GtkTreePath, _value::Union{GValue, Ref{_GValue}})
        drag_data_received(GtkTreeDragDest(instance), _dest, _value)
    end
    function row_drop_possible(instance::GtkTreeStore, _dest_path::GtkTreePath, _value::Union{GValue, Ref{_GValue}})
        row_drop_possible(GtkTreeDragDest(instance), _dest_path, _value)
    end
    function drag_data_delete(instance::GtkTreeStore, _path::GtkTreePath)
        drag_data_delete(GtkTreeDragSource(instance), _path)
    end
    function drag_data_get(instance::GtkTreeStore, _path::GtkTreePath)
        drag_data_get(GtkTreeDragSource(instance), _path)
    end
    function row_draggable(instance::GtkTreeStore, _path::GtkTreePath)
        row_draggable(GtkTreeDragSource(instance), _path)
    end
    function filter_new(instance::GtkTreeStore, _root::Maybe(GtkTreePath))
        filter_new(GtkTreeModel(instance), _root)
    end
    function foreach(instance::GtkTreeStore, _func::Function)
        foreach(GtkTreeModel(instance), _func)
    end
    function get_column_type(instance::GtkTreeStore, _index_::Integer)
        get_column_type(GtkTreeModel(instance), _index_)
    end
    function get_flags(instance::GtkTreeStore)
        get_flags(GtkTreeModel(instance))
    end
    function get_iter(instance::GtkTreeStore, _path::GtkTreePath)
        get_iter(GtkTreeModel(instance), _path)
    end
    function get_iter_first(instance::GtkTreeStore)
        get_iter_first(GtkTreeModel(instance))
    end
    function get_iter_from_string(instance::GtkTreeStore, _path_string::Union{AbstractString, Symbol})
        get_iter_from_string(GtkTreeModel(instance), _path_string)
    end
    function get_n_columns(instance::GtkTreeStore)
        get_n_columns(GtkTreeModel(instance))
    end
    function get_path(instance::GtkTreeStore, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        get_path(GtkTreeModel(instance), _iter)
    end
    function get_string_from_iter(instance::GtkTreeStore, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        get_string_from_iter(GtkTreeModel(instance), _iter)
    end
    function get_value(instance::GtkTreeStore, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}}, _column::Integer)
        get_value(GtkTreeModel(instance), _iter, _column)
    end
    function iter_children(instance::GtkTreeStore, _parent::Maybe(Union{GtkTreeIter, Ref{_GtkTreeIter}}))
        iter_children(GtkTreeModel(instance), _parent)
    end
    function iter_has_child(instance::GtkTreeStore, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        iter_has_child(GtkTreeModel(instance), _iter)
    end
    function iter_n_children(instance::GtkTreeStore, _iter::Maybe(Union{GtkTreeIter, Ref{_GtkTreeIter}}))
        iter_n_children(GtkTreeModel(instance), _iter)
    end
    function iter_next(instance::GtkTreeStore, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        iter_next(GtkTreeModel(instance), _iter)
    end
    function iter_nth_child(instance::GtkTreeStore, _parent::Maybe(Union{GtkTreeIter, Ref{_GtkTreeIter}}), _n::Integer)
        iter_nth_child(GtkTreeModel(instance), _parent, _n)
    end
    function iter_parent(instance::GtkTreeStore, _child::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        iter_parent(GtkTreeModel(instance), _child)
    end
    function iter_previous(instance::GtkTreeStore, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        iter_previous(GtkTreeModel(instance), _iter)
    end
    function ref_node(instance::GtkTreeStore, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        ref_node(GtkTreeModel(instance), _iter)
    end
    function row_changed(instance::GtkTreeStore, _path::GtkTreePath, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        row_changed(GtkTreeModel(instance), _path, _iter)
    end
    function row_deleted(instance::GtkTreeStore, _path::GtkTreePath)
        row_deleted(GtkTreeModel(instance), _path)
    end
    function row_has_child_toggled(instance::GtkTreeStore, _path::GtkTreePath, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        row_has_child_toggled(GtkTreeModel(instance), _path, _iter)
    end
    function row_inserted(instance::GtkTreeStore, _path::GtkTreePath, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        row_inserted(GtkTreeModel(instance), _path, _iter)
    end
    function rows_reordered(instance::GtkTreeStore, _path::GtkTreePath, _iter::Maybe(Union{GtkTreeIter, Ref{_GtkTreeIter}}), _new_order)
        rows_reordered(GtkTreeModel(instance), _path, _iter, _new_order)
    end
    function unref_node(instance::GtkTreeStore, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        unref_node(GtkTreeModel(instance), _iter)
    end
    function get_sort_column_id(instance::GtkTreeStore)
        get_sort_column_id(GtkTreeSortable(instance))
    end
    function has_default_sort_func(instance::GtkTreeStore)
        has_default_sort_func(GtkTreeSortable(instance))
    end
    function set_default_sort_func(instance::GtkTreeStore, _sort_func::Function, _destroy::Maybe(Function))
        set_default_sort_func(GtkTreeSortable(instance), _sort_func, _destroy)
    end
    function set_sort_column_id(instance::GtkTreeStore, _sort_column_id::Integer, _order)
        set_sort_column_id(GtkTreeSortable(instance), _sort_column_id, _order)
    end
    function set_sort_func(instance::GtkTreeStore, _sort_column_id::Integer, _sort_func::Function, _destroy::Maybe(Function))
        set_sort_func(GtkTreeSortable(instance), _sort_column_id, _sort_func, _destroy)
    end
    function sort_column_changed(instance::GtkTreeStore)
        sort_column_changed(GtkTreeSortable(instance))
    end
    function TreeView_new()
        ret = ccall(("gtk_tree_view_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkTreeViewLeaf(ret, false)
        ret2
    end
    function TreeView_new_with_model(_model::GtkTreeModel)
        ret = ccall(("gtk_tree_view_new_with_model", libgtk4), Ptr{GObject}, (Ptr{GObject},), _model)
        ret2 = GtkTreeViewLeaf(ret, false)
        ret2
    end
    function append_column(instance::GtkTreeView, _column::GtkTreeViewColumn)
        ret = ccall(("gtk_tree_view_append_column", libgtk4), Int32, (Ptr{GObject}, Ptr{GObject}), instance, _column)
        ret
    end
    function collapse_all(instance::GtkTreeView)
        ret = ccall(("gtk_tree_view_collapse_all", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function collapse_row(instance::GtkTreeView, _path::GtkTreePath)
        ret = ccall(("gtk_tree_view_collapse_row", libgtk4), Cint, (Ptr{GObject}, Ptr{GtkTreePath}), instance, _path)
        ret2 = convert(Bool, ret)
        ret2
    end
    function columns_autosize(instance::GtkTreeView)
        ret = ccall(("gtk_tree_view_columns_autosize", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function convert_bin_window_to_tree_coords(instance::GtkTreeView, _bx::Integer, _by::Integer)
        m_tx = Ref{Int32}()
        m_ty = Ref{Int32}()
        ret = ccall(("gtk_tree_view_convert_bin_window_to_tree_coords", libgtk4), Nothing, (Ptr{GObject}, Int32, Int32, Ptr{Int32}, Ptr{Int32}), instance, _bx, _by, m_tx, m_ty)
        _tx = m_tx[]
        _ty = m_ty[]
        (_tx, _ty)
    end
    function convert_bin_window_to_widget_coords(instance::GtkTreeView, _bx::Integer, _by::Integer)
        m_wx = Ref{Int32}()
        m_wy = Ref{Int32}()
        ret = ccall(("gtk_tree_view_convert_bin_window_to_widget_coords", libgtk4), Nothing, (Ptr{GObject}, Int32, Int32, Ptr{Int32}, Ptr{Int32}), instance, _bx, _by, m_wx, m_wy)
        _wx = m_wx[]
        _wy = m_wy[]
        (_wx, _wy)
    end
    function convert_tree_to_bin_window_coords(instance::GtkTreeView, _tx::Integer, _ty::Integer)
        m_bx = Ref{Int32}()
        m_by = Ref{Int32}()
        ret = ccall(("gtk_tree_view_convert_tree_to_bin_window_coords", libgtk4), Nothing, (Ptr{GObject}, Int32, Int32, Ptr{Int32}, Ptr{Int32}), instance, _tx, _ty, m_bx, m_by)
        _bx = m_bx[]
        _by = m_by[]
        (_bx, _by)
    end
    function convert_tree_to_widget_coords(instance::GtkTreeView, _tx::Integer, _ty::Integer)
        m_wx = Ref{Int32}()
        m_wy = Ref{Int32}()
        ret = ccall(("gtk_tree_view_convert_tree_to_widget_coords", libgtk4), Nothing, (Ptr{GObject}, Int32, Int32, Ptr{Int32}, Ptr{Int32}), instance, _tx, _ty, m_wx, m_wy)
        _wx = m_wx[]
        _wy = m_wy[]
        (_wx, _wy)
    end
    function convert_widget_to_bin_window_coords(instance::GtkTreeView, _wx::Integer, _wy::Integer)
        m_bx = Ref{Int32}()
        m_by = Ref{Int32}()
        ret = ccall(("gtk_tree_view_convert_widget_to_bin_window_coords", libgtk4), Nothing, (Ptr{GObject}, Int32, Int32, Ptr{Int32}, Ptr{Int32}), instance, _wx, _wy, m_bx, m_by)
        _bx = m_bx[]
        _by = m_by[]
        (_bx, _by)
    end
    function convert_widget_to_tree_coords(instance::GtkTreeView, _wx::Integer, _wy::Integer)
        m_tx = Ref{Int32}()
        m_ty = Ref{Int32}()
        ret = ccall(("gtk_tree_view_convert_widget_to_tree_coords", libgtk4), Nothing, (Ptr{GObject}, Int32, Int32, Ptr{Int32}, Ptr{Int32}), instance, _wx, _wy, m_tx, m_ty)
        _tx = m_tx[]
        _ty = m_ty[]
        (_tx, _ty)
    end
    function create_row_drag_icon(instance::GtkTreeView, _path::GtkTreePath)
        ret = ccall(("gtk_tree_view_create_row_drag_icon", libgtk4), Ptr{GObject}, (Ptr{GObject}, Ptr{GtkTreePath}), instance, _path)
        ret2 = GLib.find_leaf_type_if_not_null(ret, true)
        ret2
    end
    function enable_model_drag_dest(instance::GtkTreeView, _formats::GdkContentFormats, _actions)
        ret = ccall(("gtk_tree_view_enable_model_drag_dest", libgtk4), Nothing, (Ptr{GObject}, Ptr{GdkContentFormats}, UInt32), instance, _formats, _actions)
        nothing
    end
    function enable_model_drag_source(instance::GtkTreeView, _start_button_mask, _formats::GdkContentFormats, _actions)
        ret = ccall(("gtk_tree_view_enable_model_drag_source", libgtk4), Nothing, (Ptr{GObject}, UInt32, Ptr{GdkContentFormats}, UInt32), instance, _start_button_mask, _formats, _actions)
        nothing
    end
    function expand_all(instance::GtkTreeView)
        ret = ccall(("gtk_tree_view_expand_all", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function expand_row(instance::GtkTreeView, _path::GtkTreePath, _open_all::Bool)
        ret = ccall(("gtk_tree_view_expand_row", libgtk4), Cint, (Ptr{GObject}, Ptr{GtkTreePath}, Cint), instance, _path, _open_all)
        ret2 = convert(Bool, ret)
        ret2
    end
    function expand_to_path(instance::GtkTreeView, _path::GtkTreePath)
        ret = ccall(("gtk_tree_view_expand_to_path", libgtk4), Nothing, (Ptr{GObject}, Ptr{GtkTreePath}), instance, _path)
        nothing
    end
    function get_activate_on_single_click(instance::GtkTreeView)
        ret = ccall(("gtk_tree_view_get_activate_on_single_click", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_background_area(instance::GtkTreeView, _path::Maybe(GtkTreePath), _column::Maybe(GtkTreeViewColumn))
        _path_maybe = nothing_to_null(_path)
        _column_maybe = nothing_to_null(_column)
        m_rect = Ref{_GdkRectangle}()
        ret = ccall(("gtk_tree_view_get_background_area", libgtk4), Nothing, (Ptr{GObject}, Ptr{GtkTreePath}, Ptr{GObject}, Ptr{_GdkRectangle}), instance, _path_maybe, _column_maybe, m_rect)
        _rect = m_rect[]
        _rect
    end
    function get_cell_area(instance::GtkTreeView, _path::Maybe(GtkTreePath), _column::Maybe(GtkTreeViewColumn))
        _path_maybe = nothing_to_null(_path)
        _column_maybe = nothing_to_null(_column)
        m_rect = Ref{_GdkRectangle}()
        ret = ccall(("gtk_tree_view_get_cell_area", libgtk4), Nothing, (Ptr{GObject}, Ptr{GtkTreePath}, Ptr{GObject}, Ptr{_GdkRectangle}), instance, _path_maybe, _column_maybe, m_rect)
        _rect = m_rect[]
        _rect
    end
    function get_column(instance::GtkTreeView, _n::Integer)
        ret = ccall(("gtk_tree_view_get_column", libgtk4), Ptr{GObject}, (Ptr{GObject}, Int32), instance, _n)
        ret2 = convert_if_not_null(GtkTreeViewColumn, ret, false)
        ret2
    end
    function get_columns(instance::GtkTreeView)
        ret = ccall(("gtk_tree_view_get_columns", libgtk4), Ptr{GLib._GList{Ptr{GObject}}}, (Ptr{GObject},), instance)
        ret2 = GLib.GList(ret, false)
        ret2
    end
    function get_cursor(instance::GtkTreeView)
        m_path = Ref{Ptr{GtkTreePath}}()
        m_focus_column = Ref{Ptr{GObject}}()
        ret = ccall(("gtk_tree_view_get_cursor", libgtk4), Nothing, (Ptr{GObject}, Ptr{Ptr{GtkTreePath}}, Ptr{Ptr{GObject}}), instance, m_path, m_focus_column)
        _path = m_path[]
        _path = convert_if_not_null(GtkTreePath, _path, true)
        _focus_column = m_focus_column[]
        _focus_column = convert_if_not_null(GtkTreeViewColumn, _focus_column, false)
        (_path, _focus_column)
    end
    function get_dest_row_at_pos(instance::GtkTreeView, _drag_x::Integer, _drag_y::Integer)
        m_path = Ref{Ptr{GtkTreePath}}()
        m_pos = Ref{UInt32}()
        ret = ccall(("gtk_tree_view_get_dest_row_at_pos", libgtk4), Cint, (Ptr{GObject}, Int32, Int32, Ptr{Ptr{GtkTreePath}}, Ptr{UInt32}), instance, _drag_x, _drag_y, m_path, m_pos)
        ret2 = convert(Bool, ret)
        _path = m_path[]
        _path = convert_if_not_null(GtkTreePath, _path, true)
        _pos = m_pos[]
        _pos = TreeViewDropPosition(_pos)
        (ret2, _path, _pos)
    end
    function get_drag_dest_row(instance::GtkTreeView)
        m_path = Ref{Ptr{GtkTreePath}}()
        m_pos = Ref{UInt32}()
        ret = ccall(("gtk_tree_view_get_drag_dest_row", libgtk4), Nothing, (Ptr{GObject}, Ptr{Ptr{GtkTreePath}}, Ptr{UInt32}), instance, m_path, m_pos)
        _path = m_path[]
        _path = convert_if_not_null(GtkTreePath, _path, true)
        _pos = m_pos[]
        _pos = TreeViewDropPosition(_pos)
        (_path, _pos)
    end
    function get_enable_search(instance::GtkTreeView)
        ret = ccall(("gtk_tree_view_get_enable_search", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_enable_tree_lines(instance::GtkTreeView)
        ret = ccall(("gtk_tree_view_get_enable_tree_lines", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_expander_column(instance::GtkTreeView)
        ret = ccall(("gtk_tree_view_get_expander_column", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkTreeViewColumn, ret, false)
        ret2
    end
    function get_fixed_height_mode(instance::GtkTreeView)
        ret = ccall(("gtk_tree_view_get_fixed_height_mode", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_grid_lines(instance::GtkTreeView)
        ret = ccall(("gtk_tree_view_get_grid_lines", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = TreeViewGridLines(ret)
        ret2
    end
    function get_headers_clickable(instance::GtkTreeView)
        ret = ccall(("gtk_tree_view_get_headers_clickable", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_headers_visible(instance::GtkTreeView)
        ret = ccall(("gtk_tree_view_get_headers_visible", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_hover_expand(instance::GtkTreeView)
        ret = ccall(("gtk_tree_view_get_hover_expand", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_hover_selection(instance::GtkTreeView)
        ret = ccall(("gtk_tree_view_get_hover_selection", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_level_indentation(instance::GtkTreeView)
        ret = ccall(("gtk_tree_view_get_level_indentation", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_model(instance::GtkTreeView)
        ret = ccall(("gtk_tree_view_get_model", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, false)
        ret2
    end
    function get_n_columns(instance::GtkTreeView)
        ret = ccall(("gtk_tree_view_get_n_columns", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function get_path_at_pos(instance::GtkTreeView, _x::Integer, _y::Integer)
        m_path = Ref{Ptr{GtkTreePath}}()
        m_column = Ref{Ptr{GObject}}()
        m_cell_x = Ref{Int32}()
        m_cell_y = Ref{Int32}()
        ret = ccall(("gtk_tree_view_get_path_at_pos", libgtk4), Cint, (Ptr{GObject}, Int32, Int32, Ptr{Ptr{GtkTreePath}}, Ptr{Ptr{GObject}}, Ptr{Int32}, Ptr{Int32}), instance, _x, _y, m_path, m_column, m_cell_x, m_cell_y)
        ret2 = convert(Bool, ret)
        _path = m_path[]
        _path = convert_if_not_null(GtkTreePath, _path, true)
        _column = m_column[]
        _column = convert_if_not_null(GtkTreeViewColumn, _column, false)
        _cell_x = m_cell_x[]
        _cell_y = m_cell_y[]
        (ret2, _path, _column, _cell_x, _cell_y)
    end
    function get_reorderable(instance::GtkTreeView)
        ret = ccall(("gtk_tree_view_get_reorderable", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_rubber_banding(instance::GtkTreeView)
        ret = ccall(("gtk_tree_view_get_rubber_banding", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_search_column(instance::GtkTreeView)
        ret = ccall(("gtk_tree_view_get_search_column", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_search_entry(instance::GtkTreeView)
        ret = ccall(("gtk_tree_view_get_search_entry", libgtk4), Ptr{GtkWidget}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, false)
        ret2
    end
    function get_selection(instance::GtkTreeView)
        ret = ccall(("gtk_tree_view_get_selection", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GtkTreeSelection, ret, false)
        ret2
    end
    function get_show_expanders(instance::GtkTreeView)
        ret = ccall(("gtk_tree_view_get_show_expanders", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_tooltip_column(instance::GtkTreeView)
        ret = ccall(("gtk_tree_view_get_tooltip_column", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_tooltip_context(instance::GtkTreeView, _x::Integer, _y::Integer, _keyboard_tip::Bool)
        m_model = Ref{Ptr{GObject}}()
        m_path = Ref{Ptr{GtkTreePath}}()
        m_iter = Ref{_GtkTreeIter}()
        ret = ccall(("gtk_tree_view_get_tooltip_context", libgtk4), Cint, (Ptr{GObject}, Int32, Int32, Cint, Ptr{Ptr{GObject}}, Ptr{Ptr{GtkTreePath}}, Ptr{_GtkTreeIter}), instance, _x, _y, _keyboard_tip, m_model, m_path, m_iter)
        ret2 = convert(Bool, ret)
        _model = m_model[]
        _model = GLib.find_leaf_type_if_not_null(_model, false)
        _path = m_path[]
        _path = convert(GtkTreePath, _path, true)
        _iter = m_iter[]
        (ret2, _model, _path, _iter)
    end
    function get_visible_range(instance::GtkTreeView)
        m_start_path = Ref{Ptr{GtkTreePath}}()
        m_end_path = Ref{Ptr{GtkTreePath}}()
        ret = ccall(("gtk_tree_view_get_visible_range", libgtk4), Cint, (Ptr{GObject}, Ptr{Ptr{GtkTreePath}}, Ptr{Ptr{GtkTreePath}}), instance, m_start_path, m_end_path)
        ret2 = convert(Bool, ret)
        _start_path = m_start_path[]
        _start_path = convert(GtkTreePath, _start_path, true)
        _end_path = m_end_path[]
        _end_path = convert(GtkTreePath, _end_path, true)
        (ret2, _start_path, _end_path)
    end
    function get_visible_rect(instance::GtkTreeView)
        m_visible_rect = Ref{_GdkRectangle}()
        ret = ccall(("gtk_tree_view_get_visible_rect", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GdkRectangle}), instance, m_visible_rect)
        _visible_rect = m_visible_rect[]
        _visible_rect
    end
    function insert_column(instance::GtkTreeView, _column::GtkTreeViewColumn, _position::Integer)
        ret = ccall(("gtk_tree_view_insert_column", libgtk4), Int32, (Ptr{GObject}, Ptr{GObject}, Int32), instance, _column, _position)
        ret
    end
    function is_blank_at_pos(instance::GtkTreeView, _x::Integer, _y::Integer)
        m_path = Ref{Ptr{GtkTreePath}}()
        m_column = Ref{Ptr{GObject}}()
        m_cell_x = Ref{Int32}()
        m_cell_y = Ref{Int32}()
        ret = ccall(("gtk_tree_view_is_blank_at_pos", libgtk4), Cint, (Ptr{GObject}, Int32, Int32, Ptr{Ptr{GtkTreePath}}, Ptr{Ptr{GObject}}, Ptr{Int32}, Ptr{Int32}), instance, _x, _y, m_path, m_column, m_cell_x, m_cell_y)
        ret2 = convert(Bool, ret)
        _path = m_path[]
        _path = convert_if_not_null(GtkTreePath, _path, true)
        _column = m_column[]
        _column = convert_if_not_null(GtkTreeViewColumn, _column, false)
        _cell_x = m_cell_x[]
        _cell_y = m_cell_y[]
        (ret2, _path, _column, _cell_x, _cell_y)
    end
    function is_rubber_banding_active(instance::GtkTreeView)
        ret = ccall(("gtk_tree_view_is_rubber_banding_active", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function map_expanded_rows(instance::GtkTreeView, _func::Function)
        begin
            _func_cfunc = @cfunction(GtkTreeViewMappingFunc, Nothing, (Ptr{GObject}, Ptr{GtkTreePath}, Ref{Function}))
            begin
                ref = Ref{Any}(_func)
                _func_closure = unsafe_load(convert(Ptr{Ptr{Nothing}}, Base.unsafe_convert(Ptr{Any}, ref)))
            end
        end
        ret = ccall(("gtk_tree_view_map_expanded_rows", libgtk4), Nothing, (Ptr{GObject}, Ptr{Cvoid}, Ptr{Nothing}), instance, _func_cfunc, _func_closure)
        nothing
    end
    function move_column_after(instance::GtkTreeView, _column::GtkTreeViewColumn, _base_column::Maybe(GtkTreeViewColumn))
        _base_column_maybe = nothing_to_null(_base_column)
        ret = ccall(("gtk_tree_view_move_column_after", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{GObject}), instance, _column, _base_column_maybe)
        nothing
    end
    function remove_column(instance::GtkTreeView, _column::GtkTreeViewColumn)
        ret = ccall(("gtk_tree_view_remove_column", libgtk4), Int32, (Ptr{GObject}, Ptr{GObject}), instance, _column)
        ret
    end
    function row_activated(instance::GtkTreeView, _path::GtkTreePath, _column::Maybe(GtkTreeViewColumn))
        _column_maybe = nothing_to_null(_column)
        ret = ccall(("gtk_tree_view_row_activated", libgtk4), Nothing, (Ptr{GObject}, Ptr{GtkTreePath}, Ptr{GObject}), instance, _path, _column_maybe)
        nothing
    end
    function row_expanded(instance::GtkTreeView, _path::GtkTreePath)
        ret = ccall(("gtk_tree_view_row_expanded", libgtk4), Cint, (Ptr{GObject}, Ptr{GtkTreePath}), instance, _path)
        ret2 = convert(Bool, ret)
        ret2
    end
    function scroll_to_cell(instance::GtkTreeView, _path::Maybe(GtkTreePath), _column::Maybe(GtkTreeViewColumn), _use_align::Bool, _row_align::Real, _col_align::Real)
        _path_maybe = nothing_to_null(_path)
        _column_maybe = nothing_to_null(_column)
        ret = ccall(("gtk_tree_view_scroll_to_cell", libgtk4), Nothing, (Ptr{GObject}, Ptr{GtkTreePath}, Ptr{GObject}, Cint, Float32, Float32), instance, _path_maybe, _column_maybe, _use_align, _row_align, _col_align)
        nothing
    end
    function scroll_to_point(instance::GtkTreeView, _tree_x::Integer, _tree_y::Integer)
        ret = ccall(("gtk_tree_view_scroll_to_point", libgtk4), Nothing, (Ptr{GObject}, Int32, Int32), instance, _tree_x, _tree_y)
        nothing
    end
    function set_activate_on_single_click(instance::GtkTreeView, _single::Bool)
        ret = ccall(("gtk_tree_view_set_activate_on_single_click", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _single)
        nothing
    end
    function set_cursor(instance::GtkTreeView, _path::GtkTreePath, _focus_column::Maybe(GtkTreeViewColumn), _start_editing::Bool)
        _focus_column_maybe = nothing_to_null(_focus_column)
        ret = ccall(("gtk_tree_view_set_cursor", libgtk4), Nothing, (Ptr{GObject}, Ptr{GtkTreePath}, Ptr{GObject}, Cint), instance, _path, _focus_column_maybe, _start_editing)
        nothing
    end
    function set_cursor_on_cell(instance::GtkTreeView, _path::GtkTreePath, _focus_column::Maybe(GtkTreeViewColumn), _focus_cell::Maybe(GtkCellRenderer), _start_editing::Bool)
        _focus_column_maybe = nothing_to_null(_focus_column)
        _focus_cell_maybe = nothing_to_null(_focus_cell)
        ret = ccall(("gtk_tree_view_set_cursor_on_cell", libgtk4), Nothing, (Ptr{GObject}, Ptr{GtkTreePath}, Ptr{GObject}, Ptr{GObject}, Cint), instance, _path, _focus_column_maybe, _focus_cell_maybe, _start_editing)
        nothing
    end
    function set_drag_dest_row(instance::GtkTreeView, _path::Maybe(GtkTreePath), _pos)
        _path_maybe = nothing_to_null(_path)
        ret = ccall(("gtk_tree_view_set_drag_dest_row", libgtk4), Nothing, (Ptr{GObject}, Ptr{GtkTreePath}, UInt32), instance, _path_maybe, _pos)
        nothing
    end
    function set_enable_search(instance::GtkTreeView, _enable_search::Bool)
        ret = ccall(("gtk_tree_view_set_enable_search", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _enable_search)
        nothing
    end
    function set_enable_tree_lines(instance::GtkTreeView, _enabled::Bool)
        ret = ccall(("gtk_tree_view_set_enable_tree_lines", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _enabled)
        nothing
    end
    function set_expander_column(instance::GtkTreeView, _column::Maybe(GtkTreeViewColumn))
        _column_maybe = nothing_to_null(_column)
        ret = ccall(("gtk_tree_view_set_expander_column", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _column_maybe)
        nothing
    end
    function set_fixed_height_mode(instance::GtkTreeView, _enable::Bool)
        ret = ccall(("gtk_tree_view_set_fixed_height_mode", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _enable)
        nothing
    end
    function set_grid_lines(instance::GtkTreeView, _grid_lines)
        ret = ccall(("gtk_tree_view_set_grid_lines", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _grid_lines)
        nothing
    end
    function set_headers_clickable(instance::GtkTreeView, _setting::Bool)
        ret = ccall(("gtk_tree_view_set_headers_clickable", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _setting)
        nothing
    end
    function set_headers_visible(instance::GtkTreeView, _headers_visible::Bool)
        ret = ccall(("gtk_tree_view_set_headers_visible", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _headers_visible)
        nothing
    end
    function set_hover_expand(instance::GtkTreeView, _expand::Bool)
        ret = ccall(("gtk_tree_view_set_hover_expand", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _expand)
        nothing
    end
    function set_hover_selection(instance::GtkTreeView, _hover::Bool)
        ret = ccall(("gtk_tree_view_set_hover_selection", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _hover)
        nothing
    end
    function set_level_indentation(instance::GtkTreeView, _indentation::Integer)
        ret = ccall(("gtk_tree_view_set_level_indentation", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _indentation)
        nothing
    end
    function set_model(instance::GtkTreeView, _model::Maybe(GtkTreeModel))
        _model_maybe = nothing_to_null(_model)
        ret = ccall(("gtk_tree_view_set_model", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _model_maybe)
        nothing
    end
    function set_reorderable(instance::GtkTreeView, _reorderable::Bool)
        ret = ccall(("gtk_tree_view_set_reorderable", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _reorderable)
        nothing
    end
    function set_rubber_banding(instance::GtkTreeView, _enable::Bool)
        ret = ccall(("gtk_tree_view_set_rubber_banding", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _enable)
        nothing
    end
    function set_search_column(instance::GtkTreeView, _column::Integer)
        ret = ccall(("gtk_tree_view_set_search_column", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _column)
        nothing
    end
    function set_search_entry(instance::GtkTreeView, _entry::Maybe(GtkEditable))
        _entry_maybe = nothing_to_null(_entry)
        ret = ccall(("gtk_tree_view_set_search_entry", libgtk4), Nothing, (Ptr{GObject}, Ptr{GtkWidget}), instance, _entry_maybe)
        nothing
    end
    function set_show_expanders(instance::GtkTreeView, _enabled::Bool)
        ret = ccall(("gtk_tree_view_set_show_expanders", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _enabled)
        nothing
    end
    function set_tooltip_cell(instance::GtkTreeView, _tooltip::GtkTooltip, _path::Maybe(GtkTreePath), _column::Maybe(GtkTreeViewColumn), _cell::Maybe(GtkCellRenderer))
        _path_maybe = nothing_to_null(_path)
        _column_maybe = nothing_to_null(_column)
        _cell_maybe = nothing_to_null(_cell)
        ret = ccall(("gtk_tree_view_set_tooltip_cell", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{GtkTreePath}, Ptr{GObject}, Ptr{GObject}), instance, _tooltip, _path_maybe, _column_maybe, _cell_maybe)
        nothing
    end
    function set_tooltip_column(instance::GtkTreeView, _column::Integer)
        ret = ccall(("gtk_tree_view_set_tooltip_column", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _column)
        nothing
    end
    function set_tooltip_row(instance::GtkTreeView, _tooltip::GtkTooltip, _path::GtkTreePath)
        ret = ccall(("gtk_tree_view_set_tooltip_row", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{GtkTreePath}), instance, _tooltip, _path)
        nothing
    end
    function unset_rows_drag_dest(instance::GtkTreeView)
        ret = ccall(("gtk_tree_view_unset_rows_drag_dest", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function unset_rows_drag_source(instance::GtkTreeView)
        ret = ccall(("gtk_tree_view_unset_rows_drag_source", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function announce(instance::GtkTreeView, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkTreeView)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkTreeView)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkTreeView)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkTreeView)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkTreeView)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkTreeView)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkTreeView, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkTreeView, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkTreeView, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkTreeView, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkTreeView, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkTreeView, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkTreeView, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkTreeView, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkTreeView, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkTreeView)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_border(instance::GtkTreeView)
        get_border(GtkScrollable(instance))
    end
    function get_hadjustment(instance::GtkTreeView)
        get_hadjustment(GtkScrollable(instance))
    end
    function get_hscroll_policy(instance::GtkTreeView)
        get_hscroll_policy(GtkScrollable(instance))
    end
    function get_vadjustment(instance::GtkTreeView)
        get_vadjustment(GtkScrollable(instance))
    end
    function get_vscroll_policy(instance::GtkTreeView)
        get_vscroll_policy(GtkScrollable(instance))
    end
    function set_hadjustment(instance::GtkTreeView, _hadjustment::Maybe(GtkAdjustment))
        set_hadjustment(GtkScrollable(instance), _hadjustment)
    end
    function set_hscroll_policy(instance::GtkTreeView, _policy)
        set_hscroll_policy(GtkScrollable(instance), _policy)
    end
    function set_vadjustment(instance::GtkTreeView, _vadjustment::Maybe(GtkAdjustment))
        set_vadjustment(GtkScrollable(instance), _vadjustment)
    end
    function set_vscroll_policy(instance::GtkTreeView, _policy)
        set_vscroll_policy(GtkScrollable(instance), _policy)
    end
    function TreeViewColumn_new()
        ret = ccall(("gtk_tree_view_column_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkTreeViewColumnLeaf(ret, false)
        ret2
    end
    function TreeViewColumn_new_with_area(_area::GtkCellArea)
        ret = ccall(("gtk_tree_view_column_new_with_area", libgtk4), Ptr{GObject}, (Ptr{GObject},), _area)
        ret2 = GtkTreeViewColumnLeaf(ret, false)
        ret2
    end
    function add_attribute(instance::GtkTreeViewColumn, _cell_renderer::GtkCellRenderer, _attribute::Union{AbstractString, Symbol}, _column::Integer)
        ret = ccall(("gtk_tree_view_column_add_attribute", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Cstring, Int32), instance, _cell_renderer, _attribute, _column)
        nothing
    end
    function cell_get_position(instance::GtkTreeViewColumn, _cell_renderer::GtkCellRenderer)
        m_x_offset = Ref{Int32}()
        m_width = Ref{Int32}()
        ret = ccall(("gtk_tree_view_column_cell_get_position", libgtk4), Cint, (Ptr{GObject}, Ptr{GObject}, Ptr{Int32}, Ptr{Int32}), instance, _cell_renderer, m_x_offset, m_width)
        ret2 = convert(Bool, ret)
        _x_offset = m_x_offset[]
        _width = m_width[]
        (ret2, _x_offset, _width)
    end
    function cell_get_size(instance::GtkTreeViewColumn)
        m_x_offset = Ref{Int32}()
        m_y_offset = Ref{Int32}()
        m_width = Ref{Int32}()
        m_height = Ref{Int32}()
        ret = ccall(("gtk_tree_view_column_cell_get_size", libgtk4), Nothing, (Ptr{GObject}, Ptr{Int32}, Ptr{Int32}, Ptr{Int32}, Ptr{Int32}), instance, m_x_offset, m_y_offset, m_width, m_height)
        _x_offset = m_x_offset[]
        _y_offset = m_y_offset[]
        _width = m_width[]
        _height = m_height[]
        (_x_offset, _y_offset, _width, _height)
    end
    function cell_is_visible(instance::GtkTreeViewColumn)
        ret = ccall(("gtk_tree_view_column_cell_is_visible", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function cell_set_cell_data(instance::GtkTreeViewColumn, _tree_model::GtkTreeModel, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}}, _is_expander::Bool, _is_expanded::Bool)
        ret = ccall(("gtk_tree_view_column_cell_set_cell_data", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{_GtkTreeIter}, Cint, Cint), instance, _tree_model, _iter, _is_expander, _is_expanded)
        nothing
    end
    function clear(instance::GtkTreeViewColumn)
        ret = ccall(("gtk_tree_view_column_clear", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function clear_attributes(instance::GtkTreeViewColumn, _cell_renderer::GtkCellRenderer)
        ret = ccall(("gtk_tree_view_column_clear_attributes", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _cell_renderer)
        nothing
    end
    function clicked(instance::GtkTreeViewColumn)
        ret = ccall(("gtk_tree_view_column_clicked", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function focus_cell(instance::GtkTreeViewColumn, _cell::GtkCellRenderer)
        ret = ccall(("gtk_tree_view_column_focus_cell", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _cell)
        nothing
    end
    function get_alignment(instance::GtkTreeViewColumn)
        ret = ccall(("gtk_tree_view_column_get_alignment", libgtk4), Float32, (Ptr{GObject},), instance)
        ret
    end
    function get_button(instance::GtkTreeViewColumn)
        ret = ccall(("gtk_tree_view_column_get_button", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GtkWidget, ret, false)
        ret2
    end
    function get_clickable(instance::GtkTreeViewColumn)
        ret = ccall(("gtk_tree_view_column_get_clickable", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_expand(instance::GtkTreeViewColumn)
        ret = ccall(("gtk_tree_view_column_get_expand", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_fixed_width(instance::GtkTreeViewColumn)
        ret = ccall(("gtk_tree_view_column_get_fixed_width", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_max_width(instance::GtkTreeViewColumn)
        ret = ccall(("gtk_tree_view_column_get_max_width", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_min_width(instance::GtkTreeViewColumn)
        ret = ccall(("gtk_tree_view_column_get_min_width", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_reorderable(instance::GtkTreeViewColumn)
        ret = ccall(("gtk_tree_view_column_get_reorderable", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_resizable(instance::GtkTreeViewColumn)
        ret = ccall(("gtk_tree_view_column_get_resizable", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_sizing(instance::GtkTreeViewColumn)
        ret = ccall(("gtk_tree_view_column_get_sizing", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = TreeViewColumnSizing(ret)
        ret2
    end
    function get_sort_column_id(instance::GtkTreeViewColumn)
        ret = ccall(("gtk_tree_view_column_get_sort_column_id", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_sort_indicator(instance::GtkTreeViewColumn)
        ret = ccall(("gtk_tree_view_column_get_sort_indicator", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_sort_order(instance::GtkTreeViewColumn)
        ret = ccall(("gtk_tree_view_column_get_sort_order", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = SortType(ret)
        ret2
    end
    function get_spacing(instance::GtkTreeViewColumn)
        ret = ccall(("gtk_tree_view_column_get_spacing", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_title(instance::GtkTreeViewColumn)
        ret = ccall(("gtk_tree_view_column_get_title", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_tree_view(instance::GtkTreeViewColumn)
        ret = ccall(("gtk_tree_view_column_get_tree_view", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_visible(instance::GtkTreeViewColumn)
        ret = ccall(("gtk_tree_view_column_get_visible", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_widget(instance::GtkTreeViewColumn)
        ret = ccall(("gtk_tree_view_column_get_widget", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_width(instance::GtkTreeViewColumn)
        ret = ccall(("gtk_tree_view_column_get_width", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_x_offset(instance::GtkTreeViewColumn)
        ret = ccall(("gtk_tree_view_column_get_x_offset", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function pack_end(instance::GtkTreeViewColumn, _cell::GtkCellRenderer, _expand::Bool)
        ret = ccall(("gtk_tree_view_column_pack_end", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Cint), instance, _cell, _expand)
        nothing
    end
    function pack_start(instance::GtkTreeViewColumn, _cell::GtkCellRenderer, _expand::Bool)
        ret = ccall(("gtk_tree_view_column_pack_start", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Cint), instance, _cell, _expand)
        nothing
    end
    function queue_resize(instance::GtkTreeViewColumn)
        ret = ccall(("gtk_tree_view_column_queue_resize", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function set_alignment(instance::GtkTreeViewColumn, _xalign::Real)
        ret = ccall(("gtk_tree_view_column_set_alignment", libgtk4), Nothing, (Ptr{GObject}, Float32), instance, _xalign)
        nothing
    end
    function set_clickable(instance::GtkTreeViewColumn, _clickable::Bool)
        ret = ccall(("gtk_tree_view_column_set_clickable", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _clickable)
        nothing
    end
    function set_expand(instance::GtkTreeViewColumn, _expand::Bool)
        ret = ccall(("gtk_tree_view_column_set_expand", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _expand)
        nothing
    end
    function set_fixed_width(instance::GtkTreeViewColumn, _fixed_width::Integer)
        ret = ccall(("gtk_tree_view_column_set_fixed_width", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _fixed_width)
        nothing
    end
    function set_max_width(instance::GtkTreeViewColumn, _max_width::Integer)
        ret = ccall(("gtk_tree_view_column_set_max_width", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _max_width)
        nothing
    end
    function set_min_width(instance::GtkTreeViewColumn, _min_width::Integer)
        ret = ccall(("gtk_tree_view_column_set_min_width", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _min_width)
        nothing
    end
    function set_reorderable(instance::GtkTreeViewColumn, _reorderable::Bool)
        ret = ccall(("gtk_tree_view_column_set_reorderable", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _reorderable)
        nothing
    end
    function set_resizable(instance::GtkTreeViewColumn, _resizable::Bool)
        ret = ccall(("gtk_tree_view_column_set_resizable", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _resizable)
        nothing
    end
    function set_sizing(instance::GtkTreeViewColumn, _type)
        ret = ccall(("gtk_tree_view_column_set_sizing", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _type)
        nothing
    end
    function set_sort_column_id(instance::GtkTreeViewColumn, _sort_column_id::Integer)
        ret = ccall(("gtk_tree_view_column_set_sort_column_id", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _sort_column_id)
        nothing
    end
    function set_sort_indicator(instance::GtkTreeViewColumn, _setting::Bool)
        ret = ccall(("gtk_tree_view_column_set_sort_indicator", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _setting)
        nothing
    end
    function set_sort_order(instance::GtkTreeViewColumn, _order)
        ret = ccall(("gtk_tree_view_column_set_sort_order", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _order)
        nothing
    end
    function set_spacing(instance::GtkTreeViewColumn, _spacing::Integer)
        ret = ccall(("gtk_tree_view_column_set_spacing", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _spacing)
        nothing
    end
    function set_title(instance::GtkTreeViewColumn, _title::Union{AbstractString, Symbol})
        ret = ccall(("gtk_tree_view_column_set_title", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _title)
        nothing
    end
    function set_visible(instance::GtkTreeViewColumn, _visible::Bool)
        ret = ccall(("gtk_tree_view_column_set_visible", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _visible)
        nothing
    end
    function set_widget(instance::GtkTreeViewColumn, _widget::Maybe(GtkWidget))
        _widget_maybe = nothing_to_null(_widget)
        ret = ccall(("gtk_tree_view_column_set_widget", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _widget_maybe)
        nothing
    end
    function get_buildable_id(instance::GtkTreeViewColumn)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_area(instance::GtkTreeViewColumn)
        get_area(GtkCellLayout(instance))
    end
    function get_cells(instance::GtkTreeViewColumn)
        get_cells(GtkCellLayout(instance))
    end
    function reorder(instance::GtkTreeViewColumn, _cell::GtkCellRenderer, _position::Integer)
        reorder(GtkCellLayout(instance), _cell, _position)
    end
    function UriLauncher_new(_uri::Maybe(Union{AbstractString, Symbol}))
        _uri_maybe = nothing_to_null(_uri)
        ret = ccall(("gtk_uri_launcher_new", libgtk4), Ptr{GObject}, (Cstring,), _uri_maybe)
        ret2 = GtkUriLauncherLeaf(ret, true)
        ret2
    end
    function get_uri(instance::GtkUriLauncher)
        ret = ccall(("gtk_uri_launcher_get_uri", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function launch(instance::GtkUriLauncher, _parent::Maybe(GtkWindow), _cancellable::Maybe(GCancellable), _callback::Maybe(Function))
        _parent_maybe = nothing_to_null(_parent)
        _cancellable_maybe = nothing_to_null(_cancellable)
        if _callback === nothing
            _callback_cfunc = C_NULL
            _callback_closure = C_NULL
        else
            _callback_cfunc = @cfunction(GAsyncReadyCallback, Nothing, (Ptr{GObject}, Ptr{GObject}, Ref{Function}))
            _callback_closure = GLib.gc_ref(_callback)
        end
        ret = ccall(("gtk_uri_launcher_launch", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{GObject}, Ptr{Cvoid}, Ptr{Nothing}), instance, _parent_maybe, _cancellable_maybe, _callback_cfunc, _callback_closure)
        nothing
    end
    function launch_finish(instance::GtkUriLauncher, _result::GAsyncResult)
        err = err_buf()
        ret = ccall(("gtk_uri_launcher_launch_finish", libgtk4), Cint, (Ptr{GObject}, Ptr{GObject}, Ptr{Ptr{GError}}), instance, _result, err)
        check_err(err)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_uri(instance::GtkUriLauncher, _uri::Maybe(Union{AbstractString, Symbol}))
        _uri_maybe = nothing_to_null(_uri)
        ret = ccall(("gtk_uri_launcher_set_uri", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _uri_maybe)
        nothing
    end
    function Video_new()
        ret = ccall(("gtk_video_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkVideoLeaf(ret, false)
        ret2
    end
    function Video_new_for_file(_file::Maybe(GFile))
        _file_maybe = nothing_to_null(_file)
        ret = ccall(("gtk_video_new_for_file", libgtk4), Ptr{GObject}, (Ptr{GObject},), _file_maybe)
        ret2 = GtkVideoLeaf(ret, false)
        ret2
    end
    function Video_new_for_filename(_filename::Maybe(Union{AbstractString, Symbol}))
        _filename_maybe = nothing_to_null(_filename)
        ret = ccall(("gtk_video_new_for_filename", libgtk4), Ptr{GObject}, (Cstring,), _filename_maybe)
        ret2 = GtkVideoLeaf(ret, false)
        ret2
    end
    function Video_new_for_media_stream(_stream::Maybe(GtkMediaStream))
        _stream_maybe = nothing_to_null(_stream)
        ret = ccall(("gtk_video_new_for_media_stream", libgtk4), Ptr{GObject}, (Ptr{GObject},), _stream_maybe)
        ret2 = GtkVideoLeaf(ret, false)
        ret2
    end
    function Video_new_for_resource(_resource_path::Maybe(Union{AbstractString, Symbol}))
        _resource_path_maybe = nothing_to_null(_resource_path)
        ret = ccall(("gtk_video_new_for_resource", libgtk4), Ptr{GObject}, (Cstring,), _resource_path_maybe)
        ret2 = GtkVideoLeaf(ret, false)
        ret2
    end
    function get_autoplay(instance::GtkVideo)
        ret = ccall(("gtk_video_get_autoplay", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_file(instance::GtkVideo)
        ret = ccall(("gtk_video_get_file", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, false)
        ret2
    end
    function get_graphics_offload(instance::GtkVideo)
        ret = ccall(("gtk_video_get_graphics_offload", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = GraphicsOffloadEnabled(ret)
        ret2
    end
    function get_loop(instance::GtkVideo)
        ret = ccall(("gtk_video_get_loop", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_media_stream(instance::GtkVideo)
        ret = ccall(("gtk_video_get_media_stream", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkMediaStream, ret, false)
        ret2
    end
    function set_autoplay(instance::GtkVideo, _autoplay::Bool)
        ret = ccall(("gtk_video_set_autoplay", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _autoplay)
        nothing
    end
    function set_file(instance::GtkVideo, _file::Maybe(GFile))
        _file_maybe = nothing_to_null(_file)
        ret = ccall(("gtk_video_set_file", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _file_maybe)
        nothing
    end
    function set_filename(instance::GtkVideo, _filename::Maybe(Union{AbstractString, Symbol}))
        _filename_maybe = nothing_to_null(_filename)
        ret = ccall(("gtk_video_set_filename", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _filename_maybe)
        nothing
    end
    function set_graphics_offload(instance::GtkVideo, _enabled)
        ret = ccall(("gtk_video_set_graphics_offload", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _enabled)
        nothing
    end
    function set_loop(instance::GtkVideo, _loop::Bool)
        ret = ccall(("gtk_video_set_loop", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _loop)
        nothing
    end
    function set_media_stream(instance::GtkVideo, _stream::Maybe(GtkMediaStream))
        _stream_maybe = nothing_to_null(_stream)
        ret = ccall(("gtk_video_set_media_stream", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _stream_maybe)
        nothing
    end
    function set_resource(instance::GtkVideo, _resource_path::Maybe(Union{AbstractString, Symbol}))
        _resource_path_maybe = nothing_to_null(_resource_path)
        ret = ccall(("gtk_video_set_resource", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _resource_path_maybe)
        nothing
    end
    function announce(instance::GtkVideo, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkVideo)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkVideo)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkVideo)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkVideo)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkVideo)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkVideo)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkVideo, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkVideo, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkVideo, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkVideo, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkVideo, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkVideo, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkVideo, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkVideo, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkVideo, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkVideo)
        get_buildable_id(GtkBuildable(instance))
    end
    function Viewport_new(_hadjustment::Maybe(GtkAdjustment), _vadjustment::Maybe(GtkAdjustment))
        _hadjustment_maybe = nothing_to_null(_hadjustment)
        _vadjustment_maybe = nothing_to_null(_vadjustment)
        ret = ccall(("gtk_viewport_new", libgtk4), Ptr{GObject}, (Ptr{GObject}, Ptr{GObject}), _hadjustment_maybe, _vadjustment_maybe)
        ret2 = GtkViewportLeaf(ret, false)
        ret2
    end
    function get_child(instance::GtkViewport)
        ret = ccall(("gtk_viewport_get_child", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_scroll_to_focus(instance::GtkViewport)
        ret = ccall(("gtk_viewport_get_scroll_to_focus", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function scroll_to(instance::GtkViewport, _descendant::GtkWidget, _scroll::Maybe(GtkScrollInfo))
        _scroll_maybe = nothing_to_null(_scroll)
        ret = ccall(("gtk_viewport_scroll_to", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{GtkScrollInfo}), instance, _descendant, _scroll_maybe)
        nothing
    end
    function set_child(instance::GtkViewport, _child::Maybe(GtkWidget))
        _child_maybe = nothing_to_null(_child)
        ret = ccall(("gtk_viewport_set_child", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child_maybe)
        nothing
    end
    function set_scroll_to_focus(instance::GtkViewport, _scroll_to_focus::Bool)
        ret = ccall(("gtk_viewport_set_scroll_to_focus", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _scroll_to_focus)
        nothing
    end
    function announce(instance::GtkViewport, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkViewport)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkViewport)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkViewport)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkViewport)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkViewport)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkViewport)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkViewport, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkViewport, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkViewport, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkViewport, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkViewport, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkViewport, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkViewport, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkViewport, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkViewport, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkViewport)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_border(instance::GtkViewport)
        get_border(GtkScrollable(instance))
    end
    function get_hadjustment(instance::GtkViewport)
        get_hadjustment(GtkScrollable(instance))
    end
    function get_hscroll_policy(instance::GtkViewport)
        get_hscroll_policy(GtkScrollable(instance))
    end
    function get_vadjustment(instance::GtkViewport)
        get_vadjustment(GtkScrollable(instance))
    end
    function get_vscroll_policy(instance::GtkViewport)
        get_vscroll_policy(GtkScrollable(instance))
    end
    function set_hadjustment(instance::GtkViewport, _hadjustment::Maybe(GtkAdjustment))
        set_hadjustment(GtkScrollable(instance), _hadjustment)
    end
    function set_hscroll_policy(instance::GtkViewport, _policy)
        set_hscroll_policy(GtkScrollable(instance), _policy)
    end
    function set_vadjustment(instance::GtkViewport, _vadjustment::Maybe(GtkAdjustment))
        set_vadjustment(GtkScrollable(instance), _vadjustment)
    end
    function set_vscroll_policy(instance::GtkViewport, _policy)
        set_vscroll_policy(GtkScrollable(instance), _policy)
    end
    function VolumeButton_new()
        ret = ccall(("gtk_volume_button_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkVolumeButtonLeaf(ret, false)
        ret2
    end
    function announce(instance::GtkVolumeButton, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkVolumeButton)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkVolumeButton)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkVolumeButton)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkVolumeButton)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkVolumeButton)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkVolumeButton)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkVolumeButton, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkVolumeButton, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkVolumeButton, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkVolumeButton, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkVolumeButton, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkVolumeButton, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkVolumeButton, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkVolumeButton, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkVolumeButton, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkVolumeButton)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_orientation(instance::GtkVolumeButton)
        get_orientation(GtkOrientable(instance))
    end
    function set_orientation(instance::GtkVolumeButton, _orientation)
        set_orientation(GtkOrientable(instance), _orientation)
    end
    function get_default_direction()
        ret = ccall(("gtk_widget_get_default_direction", libgtk4), UInt32, ())
        ret2 = TextDirection(ret)
        ret2
    end
    function set_default_direction(_dir)
        ret = ccall(("gtk_widget_set_default_direction", libgtk4), Nothing, (UInt32,), _dir)
        nothing
    end
    function action_set_enabled(instance::GtkWidget, _action_name::Union{AbstractString, Symbol}, _enabled::Bool)
        ret = ccall(("gtk_widget_action_set_enabled", libgtk4), Nothing, (Ptr{GObject}, Cstring, Cint), instance, _action_name, _enabled)
        nothing
    end
    function activate(instance::GtkWidget)
        ret = ccall(("gtk_widget_activate", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function activate_action(instance::GtkWidget, _name::Union{AbstractString, Symbol}, _args::Maybe(GVariant))
        _args_maybe = nothing_to_null(_args)
        ret = ccall(("gtk_widget_activate_action_variant", libgtk4), Cint, (Ptr{GObject}, Cstring, Ptr{GVariant}), instance, _name, _args_maybe)
        ret2 = convert(Bool, ret)
        ret2
    end
    function activate_default(instance::GtkWidget)
        ret = ccall(("gtk_widget_activate_default", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function add_controller(instance::GtkWidget, _controller::GtkEventController)
        _controller = GLib.glib_ref(_controller)
        ret = ccall(("gtk_widget_add_controller", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _controller)
        nothing
    end
    function add_css_class(instance::GtkWidget, _css_class::Union{AbstractString, Symbol})
        ret = ccall(("gtk_widget_add_css_class", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _css_class)
        nothing
    end
    function add_mnemonic_label(instance::GtkWidget, _label::GtkWidget)
        ret = ccall(("gtk_widget_add_mnemonic_label", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _label)
        nothing
    end
    function allocate(instance::GtkWidget, _width::Integer, _height::Integer, _baseline::Integer, _transform::Maybe(GskTransform))
        _transform_maybe = nothing_to_null(_transform)
        ret = ccall(("gtk_widget_allocate", libgtk4), Nothing, (Ptr{GObject}, Int32, Int32, Int32, Ptr{GskTransform}), instance, _width, _height, _baseline, _transform_maybe)
        nothing
    end
    function child_focus(instance::GtkWidget, _direction)
        ret = ccall(("gtk_widget_child_focus", libgtk4), Cint, (Ptr{GObject}, UInt32), instance, _direction)
        ret2 = convert(Bool, ret)
        ret2
    end
    function compute_bounds(instance::GtkWidget, _target::GtkWidget)
        m_out_bounds = Ref{_GrapheneRect}()
        ret = ccall(("gtk_widget_compute_bounds", libgtk4), Cint, (Ptr{GObject}, Ptr{GObject}, Ptr{_GrapheneRect}), instance, _target, m_out_bounds)
        ret2 = convert(Bool, ret)
        _out_bounds = m_out_bounds[]
        (ret2, _out_bounds)
    end
    function compute_expand(instance::GtkWidget, _orientation)
        ret = ccall(("gtk_widget_compute_expand", libgtk4), Cint, (Ptr{GObject}, UInt32), instance, _orientation)
        ret2 = convert(Bool, ret)
        ret2
    end
    function compute_point(instance::GtkWidget, _target::GtkWidget, _point::Union{GraphenePoint, Ref{_GraphenePoint}})
        m_out_point = Ref{_GraphenePoint}()
        ret = ccall(("gtk_widget_compute_point", libgtk4), Cint, (Ptr{GObject}, Ptr{GObject}, Ptr{_GraphenePoint}, Ptr{_GraphenePoint}), instance, _target, _point, m_out_point)
        ret2 = convert(Bool, ret)
        _out_point = m_out_point[]
        (ret2, _out_point)
    end
    function compute_transform(instance::GtkWidget, _target::GtkWidget)
        m_out_transform = Ref{_GrapheneMatrix}()
        ret = ccall(("gtk_widget_compute_transform", libgtk4), Cint, (Ptr{GObject}, Ptr{GObject}, Ptr{_GrapheneMatrix}), instance, _target, m_out_transform)
        ret2 = convert(Bool, ret)
        _out_transform = m_out_transform[]
        (ret2, _out_transform)
    end
    function contains(instance::GtkWidget, _x::Real, _y::Real)
        ret = ccall(("gtk_widget_contains", libgtk4), Cint, (Ptr{GObject}, Float64, Float64), instance, _x, _y)
        ret2 = convert(Bool, ret)
        ret2
    end
    function create_pango_context(instance::GtkWidget)
        ret = ccall(("gtk_widget_create_pango_context", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(PangoContext, ret, true)
        ret2
    end
    function create_pango_layout(instance::GtkWidget, _text::Maybe(Union{AbstractString, Symbol}))
        _text_maybe = nothing_to_null(_text)
        ret = ccall(("gtk_widget_create_pango_layout", libgtk4), Ptr{GObject}, (Ptr{GObject}, Cstring), instance, _text_maybe)
        ret2 = convert(PangoLayout, ret, true)
        ret2
    end
    function dispose_template(instance::GtkWidget, _widget_type::Integer)
        ret = ccall(("gtk_widget_dispose_template", libgtk4), Nothing, (Ptr{GObject}, UInt64), instance, _widget_type)
        nothing
    end
    function drag_check_threshold(instance::GtkWidget, _start_x::Integer, _start_y::Integer, _current_x::Integer, _current_y::Integer)
        ret = ccall(("gtk_drag_check_threshold", libgtk4), Cint, (Ptr{GObject}, Int32, Int32, Int32, Int32), instance, _start_x, _start_y, _current_x, _current_y)
        ret2 = convert(Bool, ret)
        ret2
    end
    function error_bell(instance::GtkWidget)
        ret = ccall(("gtk_widget_error_bell", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function get_allocated_baseline(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_allocated_baseline", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_allocated_height(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_allocated_height", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_allocated_width(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_allocated_width", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_allocation(instance::GtkWidget)
        m_allocation = Ref{_GdkRectangle}()
        ret = ccall(("gtk_widget_get_allocation", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GdkRectangle}), instance, m_allocation)
        _allocation = m_allocation[]
        _allocation
    end
    function get_ancestor(instance::GtkWidget, _widget_type::Integer)
        ret = ccall(("gtk_widget_get_ancestor", libgtk4), Ptr{GObject}, (Ptr{GObject}, UInt64), instance, _widget_type)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_baseline(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_baseline", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_can_focus(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_can_focus", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_can_target(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_can_target", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_child_visible(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_child_visible", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_clipboard(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_clipboard", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GdkClipboard, ret, false)
        ret2
    end
    function get_color(instance::GtkWidget)
        m_color = Ref{_GdkRGBA}()
        ret = ccall(("gtk_widget_get_color", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GdkRGBA}), instance, m_color)
        _color = m_color[]
        _color
    end
    function get_css_classes(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_css_classes", libgtk4), Ptr{Cstring}, (Ptr{GObject},), instance)
        ret2 = begin
                _len = length_zt(ret)
                arrtemp = bytestring.(unsafe_wrap(Vector{Cstring}, ret, _len))
                GLib.g_strfreev(ret)
                arrtemp
            end
        ret2
    end
    function get_css_name(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_css_name", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_cursor(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_cursor", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GdkCursor, ret, false)
        ret2
    end
    function get_direction(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_direction", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = TextDirection(ret)
        ret2
    end
    function get_display(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_display", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GdkDisplay, ret, false)
        ret2
    end
    function get_first_child(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_first_child", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_focus_child(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_focus_child", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_focus_on_click(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_focus_on_click", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_focusable(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_focusable", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_font_map(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_font_map", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(PangoFontMap, ret, false)
        ret2
    end
    function get_font_options(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_font_options", libgtk4), Ptr{cairoFontOptions}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(cairoFontOptions, ret, false)
        ret2
    end
    function get_frame_clock(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_frame_clock", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GdkFrameClock, ret, false)
        ret2
    end
    function get_halign(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_halign", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = Align(ret)
        ret2
    end
    function get_has_tooltip(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_has_tooltip", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_height(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_height", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_hexpand(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_hexpand", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_hexpand_set(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_hexpand_set", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_last_child(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_last_child", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_layout_manager(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_layout_manager", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkLayoutManager, ret, false)
        ret2
    end
    function get_mapped(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_mapped", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_margin_bottom(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_margin_bottom", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_margin_end(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_margin_end", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_margin_start(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_margin_start", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_margin_top(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_margin_top", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_name(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_name", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_native(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_native", libgtk4), Ptr{GtkWidget}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, false)
        ret2
    end
    function get_next_sibling(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_next_sibling", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_opacity(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_opacity", libgtk4), Float64, (Ptr{GObject},), instance)
        ret
    end
    function get_overflow(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_overflow", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = Overflow(ret)
        ret2
    end
    function get_pango_context(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_pango_context", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(PangoContext, ret, false)
        ret2
    end
    function get_parent(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_parent", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_preferred_size(instance::GtkWidget)
        m_minimum_size = Ref{_GtkRequisition}()
        m_natural_size = Ref{_GtkRequisition}()
        ret = ccall(("gtk_widget_get_preferred_size", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkRequisition}, Ptr{_GtkRequisition}), instance, m_minimum_size, m_natural_size)
        _minimum_size = m_minimum_size[]
        _natural_size = m_natural_size[]
        (_minimum_size, _natural_size)
    end
    function get_prev_sibling(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_prev_sibling", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_primary_clipboard(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_primary_clipboard", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GdkClipboard, ret, false)
        ret2
    end
    function get_realized(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_realized", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_receives_default(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_receives_default", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_request_mode(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_request_mode", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = SizeRequestMode(ret)
        ret2
    end
    function get_root(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_root", libgtk4), Ptr{GtkWidget}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, false)
        ret2
    end
    function get_scale_factor(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_scale_factor", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_sensitive(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_sensitive", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_settings(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_settings", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GtkSettings, ret, false)
        ret2
    end
    function get_size(instance::GtkWidget, _orientation)
        ret = ccall(("gtk_widget_get_size", libgtk4), Int32, (Ptr{GObject}, UInt32), instance, _orientation)
        ret
    end
    function get_size_request(instance::GtkWidget)
        m_width = Ref{Int32}()
        m_height = Ref{Int32}()
        ret = ccall(("gtk_widget_get_size_request", libgtk4), Nothing, (Ptr{GObject}, Ptr{Int32}, Ptr{Int32}), instance, m_width, m_height)
        _width = m_width[]
        _height = m_height[]
        (_width, _height)
    end
    function get_state_flags(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_state_flags", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = StateFlags(ret)
        ret2
    end
    function get_style_context(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_style_context", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GtkStyleContext, ret, false)
        ret2
    end
    function get_template_child(instance::GtkWidget, _widget_type::Integer, _name::Union{AbstractString, Symbol})
        ret = ccall(("gtk_widget_get_template_child", libgtk4), Ptr{GObject}, (Ptr{GObject}, UInt64, Cstring), instance, _widget_type, _name)
        ret2 = convert(GObject, ret, false)
        ret2
    end
    function get_tooltip_markup(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_tooltip_markup", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_tooltip_text(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_tooltip_text", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_valign(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_valign", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = Align(ret)
        ret2
    end
    function get_vexpand(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_vexpand", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_vexpand_set(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_vexpand_set", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_visible(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_visible", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_width(instance::GtkWidget)
        ret = ccall(("gtk_widget_get_width", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function grab_focus(instance::GtkWidget)
        ret = ccall(("gtk_widget_grab_focus", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function has_css_class(instance::GtkWidget, _css_class::Union{AbstractString, Symbol})
        ret = ccall(("gtk_widget_has_css_class", libgtk4), Cint, (Ptr{GObject}, Cstring), instance, _css_class)
        ret2 = convert(Bool, ret)
        ret2
    end
    function has_default(instance::GtkWidget)
        ret = ccall(("gtk_widget_has_default", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function has_focus(instance::GtkWidget)
        ret = ccall(("gtk_widget_has_focus", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function has_visible_focus(instance::GtkWidget)
        ret = ccall(("gtk_widget_has_visible_focus", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function hide(instance::GtkWidget)
        ret = ccall(("gtk_widget_hide", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function in_destruction(instance::GtkWidget)
        ret = ccall(("gtk_widget_in_destruction", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function init_template(instance::GtkWidget)
        ret = ccall(("gtk_widget_init_template", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function insert_action_group(instance::GtkWidget, _name::Union{AbstractString, Symbol}, _group::Maybe(GActionGroup))
        _group_maybe = nothing_to_null(_group)
        ret = ccall(("gtk_widget_insert_action_group", libgtk4), Nothing, (Ptr{GObject}, Cstring, Ptr{GObject}), instance, _name, _group_maybe)
        nothing
    end
    function insert_after(instance::GtkWidget, _parent::GtkWidget, _previous_sibling::Maybe(GtkWidget))
        _previous_sibling_maybe = nothing_to_null(_previous_sibling)
        ret = ccall(("gtk_widget_insert_after", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{GObject}), instance, _parent, _previous_sibling_maybe)
        nothing
    end
    function insert_before(instance::GtkWidget, _parent::GtkWidget, _next_sibling::Maybe(GtkWidget))
        _next_sibling_maybe = nothing_to_null(_next_sibling)
        ret = ccall(("gtk_widget_insert_before", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{GObject}), instance, _parent, _next_sibling_maybe)
        nothing
    end
    function is_ancestor(instance::GtkWidget, _ancestor::GtkWidget)
        ret = ccall(("gtk_widget_is_ancestor", libgtk4), Cint, (Ptr{GObject}, Ptr{GObject}), instance, _ancestor)
        ret2 = convert(Bool, ret)
        ret2
    end
    function is_drawable(instance::GtkWidget)
        ret = ccall(("gtk_widget_is_drawable", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function is_focus(instance::GtkWidget)
        ret = ccall(("gtk_widget_is_focus", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function is_sensitive(instance::GtkWidget)
        ret = ccall(("gtk_widget_is_sensitive", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function is_visible(instance::GtkWidget)
        ret = ccall(("gtk_widget_is_visible", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function keynav_failed(instance::GtkWidget, _direction)
        ret = ccall(("gtk_widget_keynav_failed", libgtk4), Cint, (Ptr{GObject}, UInt32), instance, _direction)
        ret2 = convert(Bool, ret)
        ret2
    end
    function list_mnemonic_labels(instance::GtkWidget)
        ret = ccall(("gtk_widget_list_mnemonic_labels", libgtk4), Ptr{GLib._GList{Ptr{GObject}}}, (Ptr{GObject},), instance)
        ret2 = GLib.GList(ret, false)
        ret2
    end
    function map(instance::GtkWidget)
        ret = ccall(("gtk_widget_map", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function measure(instance::GtkWidget, _orientation, _for_size::Integer)
        m_minimum = Ref{Int32}()
        m_natural = Ref{Int32}()
        m_minimum_baseline = Ref{Int32}()
        m_natural_baseline = Ref{Int32}()
        ret = ccall(("gtk_widget_measure", libgtk4), Nothing, (Ptr{GObject}, UInt32, Int32, Ptr{Int32}, Ptr{Int32}, Ptr{Int32}, Ptr{Int32}), instance, _orientation, _for_size, m_minimum, m_natural, m_minimum_baseline, m_natural_baseline)
        _minimum = m_minimum[]
        _natural = m_natural[]
        _minimum_baseline = m_minimum_baseline[]
        _natural_baseline = m_natural_baseline[]
        (_minimum, _natural, _minimum_baseline, _natural_baseline)
    end
    function mnemonic_activate(instance::GtkWidget, _group_cycling::Bool)
        ret = ccall(("gtk_widget_mnemonic_activate", libgtk4), Cint, (Ptr{GObject}, Cint), instance, _group_cycling)
        ret2 = convert(Bool, ret)
        ret2
    end
    function observe_children(instance::GtkWidget)
        ret = ccall(("gtk_widget_observe_children", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = begin
                leaftype = GLib.find_leaf_type(ret)
                convert(leaftype, ret, true)
            end
        ret2
    end
    function observe_controllers(instance::GtkWidget)
        ret = ccall(("gtk_widget_observe_controllers", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = begin
                leaftype = GLib.find_leaf_type(ret)
                convert(leaftype, ret, true)
            end
        ret2
    end
    function pick(instance::GtkWidget, _x::Real, _y::Real, _flags)
        ret = ccall(("gtk_widget_pick", libgtk4), Ptr{GObject}, (Ptr{GObject}, Float64, Float64, UInt32), instance, _x, _y, _flags)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function queue_allocate(instance::GtkWidget)
        ret = ccall(("gtk_widget_queue_allocate", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function queue_draw(instance::GtkWidget)
        ret = ccall(("gtk_widget_queue_draw", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function queue_resize(instance::GtkWidget)
        ret = ccall(("gtk_widget_queue_resize", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function realize(instance::GtkWidget)
        ret = ccall(("gtk_widget_realize", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function remove_controller(instance::GtkWidget, _controller::GtkEventController)
        ret = ccall(("gtk_widget_remove_controller", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _controller)
        nothing
    end
    function remove_css_class(instance::GtkWidget, _css_class::Union{AbstractString, Symbol})
        ret = ccall(("gtk_widget_remove_css_class", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _css_class)
        nothing
    end
    function remove_mnemonic_label(instance::GtkWidget, _label::GtkWidget)
        ret = ccall(("gtk_widget_remove_mnemonic_label", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _label)
        nothing
    end
    function remove_tick_callback(instance::GtkWidget, _id::Integer)
        ret = ccall(("gtk_widget_remove_tick_callback", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _id)
        nothing
    end
    function set_can_focus(instance::GtkWidget, _can_focus::Bool)
        ret = ccall(("gtk_widget_set_can_focus", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _can_focus)
        nothing
    end
    function set_can_target(instance::GtkWidget, _can_target::Bool)
        ret = ccall(("gtk_widget_set_can_target", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _can_target)
        nothing
    end
    function set_child_visible(instance::GtkWidget, _child_visible::Bool)
        ret = ccall(("gtk_widget_set_child_visible", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _child_visible)
        nothing
    end
    function set_css_classes(instance::GtkWidget, _classes)
        ret = ccall(("gtk_widget_set_css_classes", libgtk4), Nothing, (Ptr{GObject}, Ptr{Cstring}), instance, _classes)
        nothing
    end
    function set_cursor(instance::GtkWidget, _cursor::Maybe(GdkCursor))
        _cursor_maybe = nothing_to_null(_cursor)
        ret = ccall(("gtk_widget_set_cursor", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _cursor_maybe)
        nothing
    end
    function set_cursor_from_name(instance::GtkWidget, _name::Maybe(Union{AbstractString, Symbol}))
        _name_maybe = nothing_to_null(_name)
        ret = ccall(("gtk_widget_set_cursor_from_name", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _name_maybe)
        nothing
    end
    function set_direction(instance::GtkWidget, _dir)
        ret = ccall(("gtk_widget_set_direction", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _dir)
        nothing
    end
    function set_focus_child(instance::GtkWidget, _child::Maybe(GtkWidget))
        _child_maybe = nothing_to_null(_child)
        ret = ccall(("gtk_widget_set_focus_child", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child_maybe)
        nothing
    end
    function set_focus_on_click(instance::GtkWidget, _focus_on_click::Bool)
        ret = ccall(("gtk_widget_set_focus_on_click", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _focus_on_click)
        nothing
    end
    function set_focusable(instance::GtkWidget, _focusable::Bool)
        ret = ccall(("gtk_widget_set_focusable", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _focusable)
        nothing
    end
    function set_font_map(instance::GtkWidget, _font_map::Maybe(PangoFontMap))
        _font_map_maybe = nothing_to_null(_font_map)
        ret = ccall(("gtk_widget_set_font_map", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _font_map_maybe)
        nothing
    end
    function set_font_options(instance::GtkWidget, _options::Maybe(cairoFontOptions))
        _options_maybe = nothing_to_null(_options)
        ret = ccall(("gtk_widget_set_font_options", libgtk4), Nothing, (Ptr{GObject}, Ptr{cairoFontOptions}), instance, _options_maybe)
        nothing
    end
    function set_halign(instance::GtkWidget, _align)
        ret = ccall(("gtk_widget_set_halign", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _align)
        nothing
    end
    function set_has_tooltip(instance::GtkWidget, _has_tooltip::Bool)
        ret = ccall(("gtk_widget_set_has_tooltip", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _has_tooltip)
        nothing
    end
    function set_hexpand(instance::GtkWidget, _expand::Bool)
        ret = ccall(("gtk_widget_set_hexpand", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _expand)
        nothing
    end
    function set_hexpand_set(instance::GtkWidget, _set::Bool)
        ret = ccall(("gtk_widget_set_hexpand_set", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _set)
        nothing
    end
    function set_layout_manager(instance::GtkWidget, _layout_manager::Maybe(GtkLayoutManager))
        _layout_manager_maybe = begin
                if _layout_manager !== nothing
                    GLib.glib_ref(_layout_manager)
                end
                nothing_to_null(_layout_manager)
            end
        ret = ccall(("gtk_widget_set_layout_manager", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _layout_manager_maybe)
        nothing
    end
    function set_margin_bottom(instance::GtkWidget, _margin::Integer)
        ret = ccall(("gtk_widget_set_margin_bottom", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _margin)
        nothing
    end
    function set_margin_end(instance::GtkWidget, _margin::Integer)
        ret = ccall(("gtk_widget_set_margin_end", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _margin)
        nothing
    end
    function set_margin_start(instance::GtkWidget, _margin::Integer)
        ret = ccall(("gtk_widget_set_margin_start", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _margin)
        nothing
    end
    function set_margin_top(instance::GtkWidget, _margin::Integer)
        ret = ccall(("gtk_widget_set_margin_top", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _margin)
        nothing
    end
    function set_name(instance::GtkWidget, _name::Union{AbstractString, Symbol})
        ret = ccall(("gtk_widget_set_name", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _name)
        nothing
    end
    function set_opacity(instance::GtkWidget, _opacity::Real)
        ret = ccall(("gtk_widget_set_opacity", libgtk4), Nothing, (Ptr{GObject}, Float64), instance, _opacity)
        nothing
    end
    function set_overflow(instance::GtkWidget, _overflow)
        ret = ccall(("gtk_widget_set_overflow", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _overflow)
        nothing
    end
    function set_parent(instance::GtkWidget, _parent::GtkWidget)
        ret = ccall(("gtk_widget_set_parent", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _parent)
        nothing
    end
    function set_receives_default(instance::GtkWidget, _receives_default::Bool)
        ret = ccall(("gtk_widget_set_receives_default", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _receives_default)
        nothing
    end
    function set_sensitive(instance::GtkWidget, _sensitive::Bool)
        ret = ccall(("gtk_widget_set_sensitive", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _sensitive)
        nothing
    end
    function set_size_request(instance::GtkWidget, _width::Integer, _height::Integer)
        ret = ccall(("gtk_widget_set_size_request", libgtk4), Nothing, (Ptr{GObject}, Int32, Int32), instance, _width, _height)
        nothing
    end
    function set_state_flags(instance::GtkWidget, _flags, _clear::Bool)
        ret = ccall(("gtk_widget_set_state_flags", libgtk4), Nothing, (Ptr{GObject}, UInt32, Cint), instance, _flags, _clear)
        nothing
    end
    function set_tooltip_markup(instance::GtkWidget, _markup::Maybe(Union{AbstractString, Symbol}))
        _markup_maybe = nothing_to_null(_markup)
        ret = ccall(("gtk_widget_set_tooltip_markup", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _markup_maybe)
        nothing
    end
    function set_tooltip_text(instance::GtkWidget, _text::Maybe(Union{AbstractString, Symbol}))
        _text_maybe = nothing_to_null(_text)
        ret = ccall(("gtk_widget_set_tooltip_text", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _text_maybe)
        nothing
    end
    function set_valign(instance::GtkWidget, _align)
        ret = ccall(("gtk_widget_set_valign", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _align)
        nothing
    end
    function set_vexpand(instance::GtkWidget, _expand::Bool)
        ret = ccall(("gtk_widget_set_vexpand", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _expand)
        nothing
    end
    function set_vexpand_set(instance::GtkWidget, _set::Bool)
        ret = ccall(("gtk_widget_set_vexpand_set", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _set)
        nothing
    end
    function set_visible(instance::GtkWidget, _visible::Bool)
        ret = ccall(("gtk_widget_set_visible", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _visible)
        nothing
    end
    function should_layout(instance::GtkWidget)
        ret = ccall(("gtk_widget_should_layout", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function show(instance::GtkWidget)
        ret = ccall(("gtk_widget_show", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function size_allocate(instance::GtkWidget, _allocation::Union{GdkRectangle, Ref{_GdkRectangle}}, _baseline::Integer)
        ret = ccall(("gtk_widget_size_allocate", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GdkRectangle}, Int32), instance, _allocation, _baseline)
        nothing
    end
    function snapshot_child(instance::GtkWidget, _child::GtkWidget, _snapshot::GtkSnapshot)
        ret = ccall(("gtk_widget_snapshot_child", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{GObject}), instance, _child, _snapshot)
        nothing
    end
    function translate_coordinates(instance::GtkWidget, _dest_widget::GtkWidget, _src_x::Real, _src_y::Real)
        m_dest_x = Ref{Float64}()
        m_dest_y = Ref{Float64}()
        ret = ccall(("gtk_widget_translate_coordinates", libgtk4), Cint, (Ptr{GObject}, Ptr{GObject}, Float64, Float64, Ptr{Float64}, Ptr{Float64}), instance, _dest_widget, _src_x, _src_y, m_dest_x, m_dest_y)
        ret2 = convert(Bool, ret)
        _dest_x = m_dest_x[]
        _dest_y = m_dest_y[]
        (ret2, _dest_x, _dest_y)
    end
    function trigger_tooltip_query(instance::GtkWidget)
        ret = ccall(("gtk_widget_trigger_tooltip_query", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function unmap(instance::GtkWidget)
        ret = ccall(("gtk_widget_unmap", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function unparent(instance::GtkWidget)
        ret = ccall(("gtk_widget_unparent", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function unrealize(instance::GtkWidget)
        ret = ccall(("gtk_widget_unrealize", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function unset_state_flags(instance::GtkWidget, _flags)
        ret = ccall(("gtk_widget_unset_state_flags", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _flags)
        nothing
    end
    function announce(instance::GtkWidget, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkWidget)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkWidget)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkWidget)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkWidget)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkWidget)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkWidget)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkWidget, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkWidget, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkWidget, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkWidget, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkWidget, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkWidget, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkWidget, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkWidget, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkWidget, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkWidget)
        get_buildable_id(GtkBuildable(instance))
    end
    function WidgetPaintable_new(_widget::Maybe(GtkWidget))
        _widget_maybe = nothing_to_null(_widget)
        ret = ccall(("gtk_widget_paintable_new", libgtk4), Ptr{GObject}, (Ptr{GObject},), _widget_maybe)
        ret2 = GtkWidgetPaintableLeaf(ret, true)
        ret2
    end
    function get_widget(instance::GtkWidgetPaintable)
        ret = ccall(("gtk_widget_paintable_get_widget", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function set_widget(instance::GtkWidgetPaintable, _widget::Maybe(GtkWidget))
        _widget_maybe = nothing_to_null(_widget)
        ret = ccall(("gtk_widget_paintable_set_widget", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _widget_maybe)
        nothing
    end
    function compute_concrete_size(instance::GtkWidgetPaintable, _specified_width::Real, _specified_height::Real, _default_width::Real, _default_height::Real)
        compute_concrete_size(GdkPaintable(instance), _specified_width, _specified_height, _default_width, _default_height)
    end
    function get_current_image(instance::GtkWidgetPaintable)
        get_current_image(GdkPaintable(instance))
    end
    function get_flags(instance::GtkWidgetPaintable)
        get_flags(GdkPaintable(instance))
    end
    function get_intrinsic_aspect_ratio(instance::GtkWidgetPaintable)
        get_intrinsic_aspect_ratio(GdkPaintable(instance))
    end
    function get_intrinsic_height(instance::GtkWidgetPaintable)
        get_intrinsic_height(GdkPaintable(instance))
    end
    function get_intrinsic_width(instance::GtkWidgetPaintable)
        get_intrinsic_width(GdkPaintable(instance))
    end
    function invalidate_contents(instance::GtkWidgetPaintable)
        invalidate_contents(GdkPaintable(instance))
    end
    function invalidate_size(instance::GtkWidgetPaintable)
        invalidate_size(GdkPaintable(instance))
    end
    function snapshot(instance::GtkWidgetPaintable, _snapshot::GdkSnapshot, _width::Real, _height::Real)
        snapshot(GdkPaintable(instance), _snapshot, _width, _height)
    end
    function Window_new()
        ret = ccall(("gtk_window_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkWindowLeaf(ret, false)
        ret2
    end
    function get_default_icon_name()
        ret = ccall(("gtk_window_get_default_icon_name", libgtk4), Cstring, ())
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_toplevels()
        ret = ccall(("gtk_window_get_toplevels", libgtk4), Ptr{GObject}, ())
        ret2 = begin
                leaftype = GLib.find_leaf_type(ret)
                convert(leaftype, ret, false)
            end
        ret2
    end
    function list_toplevels()
        ret = ccall(("gtk_window_list_toplevels", libgtk4), Ptr{GLib._GList{Ptr{GObject}}}, ())
        ret2 = GLib.GList(ret, false)
        ret2
    end
    function set_auto_startup_notification(_setting::Bool)
        ret = ccall(("gtk_window_set_auto_startup_notification", libgtk4), Nothing, (Cint,), _setting)
        nothing
    end
    function set_default_icon_name(_name::Union{AbstractString, Symbol})
        ret = ccall(("gtk_window_set_default_icon_name", libgtk4), Nothing, (Cstring,), _name)
        nothing
    end
    function set_interactive_debugging(_enable::Bool)
        ret = ccall(("gtk_window_set_interactive_debugging", libgtk4), Nothing, (Cint,), _enable)
        nothing
    end
    function close(instance::GtkWindow)
        ret = ccall(("gtk_window_close", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function destroy(instance::GtkWindow)
        ret = ccall(("gtk_window_destroy", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function fullscreen(instance::GtkWindow)
        ret = ccall(("gtk_window_fullscreen", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function fullscreen_on_monitor(instance::GtkWindow, _monitor::GdkMonitor)
        ret = ccall(("gtk_window_fullscreen_on_monitor", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _monitor)
        nothing
    end
    function get_application(instance::GtkWindow)
        ret = ccall(("gtk_window_get_application", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkApplication, ret, false)
        ret2
    end
    function get_child(instance::GtkWindow)
        ret = ccall(("gtk_window_get_child", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_decorated(instance::GtkWindow)
        ret = ccall(("gtk_window_get_decorated", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_default_size(instance::GtkWindow)
        m_width = Ref{Int32}()
        m_height = Ref{Int32}()
        ret = ccall(("gtk_window_get_default_size", libgtk4), Nothing, (Ptr{GObject}, Ptr{Int32}, Ptr{Int32}), instance, m_width, m_height)
        _width = m_width[]
        _height = m_height[]
        (_width, _height)
    end
    function get_default_widget(instance::GtkWindow)
        ret = ccall(("gtk_window_get_default_widget", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_deletable(instance::GtkWindow)
        ret = ccall(("gtk_window_get_deletable", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_destroy_with_parent(instance::GtkWindow)
        ret = ccall(("gtk_window_get_destroy_with_parent", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_focus(instance::GtkWindow)
        ret = ccall(("gtk_window_get_focus", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_focus_visible(instance::GtkWindow)
        ret = ccall(("gtk_window_get_focus_visible", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_group(instance::GtkWindow)
        ret = ccall(("gtk_window_get_group", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GtkWindowGroup, ret, false)
        ret2
    end
    function get_handle_menubar_accel(instance::GtkWindow)
        ret = ccall(("gtk_window_get_handle_menubar_accel", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_hide_on_close(instance::GtkWindow)
        ret = ccall(("gtk_window_get_hide_on_close", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_icon_name(instance::GtkWindow)
        ret = ccall(("gtk_window_get_icon_name", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_mnemonics_visible(instance::GtkWindow)
        ret = ccall(("gtk_window_get_mnemonics_visible", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_modal(instance::GtkWindow)
        ret = ccall(("gtk_window_get_modal", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_resizable(instance::GtkWindow)
        ret = ccall(("gtk_window_get_resizable", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_title(instance::GtkWindow)
        ret = ccall(("gtk_window_get_title", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_titlebar(instance::GtkWindow)
        ret = ccall(("gtk_window_get_titlebar", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function get_transient_for(instance::GtkWindow)
        ret = ccall(("gtk_window_get_transient_for", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWindow, ret, false)
        ret2
    end
    function has_group(instance::GtkWindow)
        ret = ccall(("gtk_window_has_group", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function is_active(instance::GtkWindow)
        ret = ccall(("gtk_window_is_active", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function is_fullscreen(instance::GtkWindow)
        ret = ccall(("gtk_window_is_fullscreen", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function is_maximized(instance::GtkWindow)
        ret = ccall(("gtk_window_is_maximized", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function is_suspended(instance::GtkWindow)
        ret = ccall(("gtk_window_is_suspended", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function maximize(instance::GtkWindow)
        ret = ccall(("gtk_window_maximize", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function minimize(instance::GtkWindow)
        ret = ccall(("gtk_window_minimize", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function present(instance::GtkWindow)
        ret = ccall(("gtk_window_present", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function present_with_time(instance::GtkWindow, _timestamp::Integer)
        ret = ccall(("gtk_window_present_with_time", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _timestamp)
        nothing
    end
    function set_application(instance::GtkWindow, _application::Maybe(GtkApplication))
        _application_maybe = nothing_to_null(_application)
        ret = ccall(("gtk_window_set_application", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _application_maybe)
        nothing
    end
    function set_child(instance::GtkWindow, _child::Maybe(GtkWidget))
        _child_maybe = nothing_to_null(_child)
        ret = ccall(("gtk_window_set_child", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child_maybe)
        nothing
    end
    function set_decorated(instance::GtkWindow, _setting::Bool)
        ret = ccall(("gtk_window_set_decorated", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _setting)
        nothing
    end
    function set_default_size(instance::GtkWindow, _width::Integer, _height::Integer)
        ret = ccall(("gtk_window_set_default_size", libgtk4), Nothing, (Ptr{GObject}, Int32, Int32), instance, _width, _height)
        nothing
    end
    function set_default_widget(instance::GtkWindow, _default_widget::Maybe(GtkWidget))
        _default_widget_maybe = nothing_to_null(_default_widget)
        ret = ccall(("gtk_window_set_default_widget", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _default_widget_maybe)
        nothing
    end
    function set_deletable(instance::GtkWindow, _setting::Bool)
        ret = ccall(("gtk_window_set_deletable", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _setting)
        nothing
    end
    function set_destroy_with_parent(instance::GtkWindow, _setting::Bool)
        ret = ccall(("gtk_window_set_destroy_with_parent", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _setting)
        nothing
    end
    function set_display(instance::GtkWindow, _display::GdkDisplay)
        ret = ccall(("gtk_window_set_display", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _display)
        nothing
    end
    function set_focus(instance::GtkWindow, _focus::Maybe(GtkWidget))
        _focus_maybe = nothing_to_null(_focus)
        ret = ccall(("gtk_window_set_focus", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _focus_maybe)
        nothing
    end
    function set_focus_visible(instance::GtkWindow, _setting::Bool)
        ret = ccall(("gtk_window_set_focus_visible", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _setting)
        nothing
    end
    function set_handle_menubar_accel(instance::GtkWindow, _handle_menubar_accel::Bool)
        ret = ccall(("gtk_window_set_handle_menubar_accel", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _handle_menubar_accel)
        nothing
    end
    function set_hide_on_close(instance::GtkWindow, _setting::Bool)
        ret = ccall(("gtk_window_set_hide_on_close", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _setting)
        nothing
    end
    function set_icon_name(instance::GtkWindow, _name::Maybe(Union{AbstractString, Symbol}))
        _name_maybe = nothing_to_null(_name)
        ret = ccall(("gtk_window_set_icon_name", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _name_maybe)
        nothing
    end
    function set_mnemonics_visible(instance::GtkWindow, _setting::Bool)
        ret = ccall(("gtk_window_set_mnemonics_visible", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _setting)
        nothing
    end
    function set_modal(instance::GtkWindow, _modal::Bool)
        ret = ccall(("gtk_window_set_modal", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _modal)
        nothing
    end
    function set_resizable(instance::GtkWindow, _resizable::Bool)
        ret = ccall(("gtk_window_set_resizable", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _resizable)
        nothing
    end
    function set_startup_id(instance::GtkWindow, _startup_id::Union{AbstractString, Symbol})
        ret = ccall(("gtk_window_set_startup_id", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _startup_id)
        nothing
    end
    function set_title(instance::GtkWindow, _title::Maybe(Union{AbstractString, Symbol}))
        _title_maybe = nothing_to_null(_title)
        ret = ccall(("gtk_window_set_title", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _title_maybe)
        nothing
    end
    function set_titlebar(instance::GtkWindow, _titlebar::Maybe(GtkWidget))
        _titlebar_maybe = nothing_to_null(_titlebar)
        ret = ccall(("gtk_window_set_titlebar", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _titlebar_maybe)
        nothing
    end
    function set_transient_for(instance::GtkWindow, _parent::Maybe(GtkWindow))
        _parent_maybe = nothing_to_null(_parent)
        ret = ccall(("gtk_window_set_transient_for", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _parent_maybe)
        nothing
    end
    function unfullscreen(instance::GtkWindow)
        ret = ccall(("gtk_window_unfullscreen", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function unmaximize(instance::GtkWindow)
        ret = ccall(("gtk_window_unmaximize", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function unminimize(instance::GtkWindow)
        ret = ccall(("gtk_window_unminimize", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function announce(instance::GtkWindow, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkWindow)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkWindow)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkWindow)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkWindow)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkWindow)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkWindow)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkWindow, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkWindow, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkWindow, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkWindow, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkWindow, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkWindow, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkWindow, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkWindow, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkWindow, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkWindow)
        get_buildable_id(GtkBuildable(instance))
    end
    function get_renderer(instance::GtkWindow)
        get_renderer(GtkNative(instance))
    end
    function get_surface(instance::GtkWindow)
        get_surface(GtkNative(instance))
    end
    function get_surface_transform(instance::GtkWindow)
        get_surface_transform(GtkNative(instance))
    end
    function realize(instance::GtkWindow)
        realize(GtkNative(instance))
    end
    function unrealize(instance::GtkWindow)
        unrealize(GtkNative(instance))
    end
    function get_display(instance::GtkWindow)
        get_display(GtkRoot(instance))
    end
    function WindowControls_new(_side)
        ret = ccall(("gtk_window_controls_new", libgtk4), Ptr{GObject}, (UInt32,), _side)
        ret2 = GtkWindowControlsLeaf(ret, false)
        ret2
    end
    function get_decoration_layout(instance::GtkWindowControls)
        ret = ccall(("gtk_window_controls_get_decoration_layout", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_empty(instance::GtkWindowControls)
        ret = ccall(("gtk_window_controls_get_empty", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_side(instance::GtkWindowControls)
        ret = ccall(("gtk_window_controls_get_side", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = PackType(ret)
        ret2
    end
    function set_decoration_layout(instance::GtkWindowControls, _layout::Maybe(Union{AbstractString, Symbol}))
        _layout_maybe = nothing_to_null(_layout)
        ret = ccall(("gtk_window_controls_set_decoration_layout", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _layout_maybe)
        nothing
    end
    function set_side(instance::GtkWindowControls, _side)
        ret = ccall(("gtk_window_controls_set_side", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _side)
        nothing
    end
    function announce(instance::GtkWindowControls, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkWindowControls)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkWindowControls)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkWindowControls)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkWindowControls)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkWindowControls)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkWindowControls)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkWindowControls, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkWindowControls, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkWindowControls, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkWindowControls, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkWindowControls, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkWindowControls, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkWindowControls, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkWindowControls, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkWindowControls, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkWindowControls)
        get_buildable_id(GtkBuildable(instance))
    end
    function WindowGroup_new()
        ret = ccall(("gtk_window_group_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkWindowGroupLeaf(ret, true)
        ret2
    end
    function add_window(instance::GtkWindowGroup, _window::GtkWindow)
        ret = ccall(("gtk_window_group_add_window", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _window)
        nothing
    end
    function list_windows(instance::GtkWindowGroup)
        ret = ccall(("gtk_window_group_list_windows", libgtk4), Ptr{GLib._GList{Ptr{GObject}}}, (Ptr{GObject},), instance)
        ret2 = GLib.GList(ret, false)
        ret2
    end
    function remove_window(instance::GtkWindowGroup, _window::GtkWindow)
        ret = ccall(("gtk_window_group_remove_window", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _window)
        nothing
    end
    function WindowHandle_new()
        ret = ccall(("gtk_window_handle_new", libgtk4), Ptr{GObject}, ())
        ret2 = GtkWindowHandleLeaf(ret, false)
        ret2
    end
    function get_child(instance::GtkWindowHandle)
        ret = ccall(("gtk_window_handle_get_child", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function set_child(instance::GtkWindowHandle, _child::Maybe(GtkWidget))
        _child_maybe = nothing_to_null(_child)
        ret = ccall(("gtk_window_handle_set_child", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _child_maybe)
        nothing
    end
    function announce(instance::GtkWindowHandle, _message::Union{AbstractString, Symbol}, _priority)
        announce(GtkAccessible(instance), _message, _priority)
    end
    function get_accessible_parent(instance::GtkWindowHandle)
        get_accessible_parent(GtkAccessible(instance))
    end
    function get_accessible_role(instance::GtkWindowHandle)
        get_accessible_role(GtkAccessible(instance))
    end
    function get_at_context(instance::GtkWindowHandle)
        get_at_context(GtkAccessible(instance))
    end
    function get_bounds(instance::GtkWindowHandle)
        get_bounds(GtkAccessible(instance))
    end
    function get_first_accessible_child(instance::GtkWindowHandle)
        get_first_accessible_child(GtkAccessible(instance))
    end
    function get_next_accessible_sibling(instance::GtkWindowHandle)
        get_next_accessible_sibling(GtkAccessible(instance))
    end
    function get_platform_state(instance::GtkWindowHandle, _state)
        get_platform_state(GtkAccessible(instance), _state)
    end
    function reset_property(instance::GtkWindowHandle, _property)
        reset_property(GtkAccessible(instance), _property)
    end
    function reset_relation(instance::GtkWindowHandle, _relation)
        reset_relation(GtkAccessible(instance), _relation)
    end
    function reset_state(instance::GtkWindowHandle, _state)
        reset_state(GtkAccessible(instance), _state)
    end
    function set_accessible_parent(instance::GtkWindowHandle, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        set_accessible_parent(GtkAccessible(instance), _parent, _next_sibling)
    end
    function update_next_accessible_sibling(instance::GtkWindowHandle, _new_sibling::Maybe(GtkAccessible))
        update_next_accessible_sibling(GtkAccessible(instance), _new_sibling)
    end
    function update_property(instance::GtkWindowHandle, _properties, _values)
        update_property(GtkAccessible(instance), _properties, _values)
    end
    function update_relation(instance::GtkWindowHandle, _relations, _values)
        update_relation(GtkAccessible(instance), _relations, _values)
    end
    function update_state(instance::GtkWindowHandle, _states, _values)
        update_state(GtkAccessible(instance), _states, _values)
    end
    function get_buildable_id(instance::GtkWindowHandle)
        get_buildable_id(GtkBuildable(instance))
    end
    function announce(instance::GtkAccessible, _message::Union{AbstractString, Symbol}, _priority)
        ret = ccall(("gtk_accessible_announce", libgtk4), Nothing, (Ptr{GObject}, Cstring, UInt32), instance, _message, _priority)
        nothing
    end
    function get_accessible_parent(instance::GtkAccessible)
        ret = ccall(("gtk_accessible_get_accessible_parent", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, true)
        ret2
    end
    function get_accessible_role(instance::GtkAccessible)
        ret = ccall(("gtk_accessible_get_accessible_role", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = AccessibleRole(ret)
        ret2
    end
    function get_at_context(instance::GtkAccessible)
        ret = ccall(("gtk_accessible_get_at_context", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GtkATContext, ret, true)
        ret2
    end
    function get_bounds(instance::GtkAccessible)
        m_x = Ref{Int32}()
        m_y = Ref{Int32}()
        m_width = Ref{Int32}()
        m_height = Ref{Int32}()
        ret = ccall(("gtk_accessible_get_bounds", libgtk4), Cint, (Ptr{GObject}, Ptr{Int32}, Ptr{Int32}, Ptr{Int32}, Ptr{Int32}), instance, m_x, m_y, m_width, m_height)
        ret2 = convert(Bool, ret)
        _x = m_x[]
        _y = m_y[]
        _width = m_width[]
        _height = m_height[]
        (ret2, _x, _y, _width, _height)
    end
    function get_first_accessible_child(instance::GtkAccessible)
        ret = ccall(("gtk_accessible_get_first_accessible_child", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, true)
        ret2
    end
    function get_next_accessible_sibling(instance::GtkAccessible)
        ret = ccall(("gtk_accessible_get_next_accessible_sibling", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, true)
        ret2
    end
    function get_platform_state(instance::GtkAccessible, _state)
        ret = ccall(("gtk_accessible_get_platform_state", libgtk4), Cint, (Ptr{GObject}, UInt32), instance, _state)
        ret2 = convert(Bool, ret)
        ret2
    end
    function reset_property(instance::GtkAccessible, _property)
        ret = ccall(("gtk_accessible_reset_property", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _property)
        nothing
    end
    function reset_relation(instance::GtkAccessible, _relation)
        ret = ccall(("gtk_accessible_reset_relation", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _relation)
        nothing
    end
    function reset_state(instance::GtkAccessible, _state)
        ret = ccall(("gtk_accessible_reset_state", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _state)
        nothing
    end
    function set_accessible_parent(instance::GtkAccessible, _parent::Maybe(GtkAccessible), _next_sibling::Maybe(GtkAccessible))
        _parent_maybe = nothing_to_null(_parent)
        _next_sibling_maybe = nothing_to_null(_next_sibling)
        ret = ccall(("gtk_accessible_set_accessible_parent", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{GObject}), instance, _parent_maybe, _next_sibling_maybe)
        nothing
    end
    function update_next_accessible_sibling(instance::GtkAccessible, _new_sibling::Maybe(GtkAccessible))
        _new_sibling_maybe = nothing_to_null(_new_sibling)
        ret = ccall(("gtk_accessible_update_next_accessible_sibling", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _new_sibling_maybe)
        nothing
    end
    function update_property(instance::GtkAccessible, _properties, _values)
        _properties_arr = convert(Vector{UInt32}, _properties)
        _values_arr = convert(Vector{_GValue}, _values)
        _n_properties = length(_properties)
        _n_properties = length(_values)
        ret = ccall(("gtk_accessible_update_property_value", libgtk4), Nothing, (Ptr{GObject}, Int32, Ptr{UInt32}, Ptr{_GValue}), instance, _n_properties, _properties_arr, _values_arr)
        nothing
    end
    function update_relation(instance::GtkAccessible, _relations, _values)
        _relations_arr = convert(Vector{UInt32}, _relations)
        _values_arr = convert(Vector{_GValue}, _values)
        _n_relations = length(_relations)
        _n_relations = length(_values)
        ret = ccall(("gtk_accessible_update_relation_value", libgtk4), Nothing, (Ptr{GObject}, Int32, Ptr{UInt32}, Ptr{_GValue}), instance, _n_relations, _relations_arr, _values_arr)
        nothing
    end
    function update_state(instance::GtkAccessible, _states, _values)
        _states_arr = convert(Vector{UInt32}, _states)
        _values_arr = convert(Vector{_GValue}, _values)
        _n_states = length(_states)
        _n_states = length(_values)
        ret = ccall(("gtk_accessible_update_state_value", libgtk4), Nothing, (Ptr{GObject}, Int32, Ptr{UInt32}, Ptr{_GValue}), instance, _n_states, _states_arr, _values_arr)
        nothing
    end
    function update_caret_position(instance::GtkAccessibleText)
        ret = ccall(("gtk_accessible_text_update_caret_position", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function update_contents(instance::GtkAccessibleText, _change, _start::Integer, _end::Integer)
        ret = ccall(("gtk_accessible_text_update_contents", libgtk4), Nothing, (Ptr{GObject}, UInt32, UInt32, UInt32), instance, _change, _start, _end)
        nothing
    end
    function update_selection_bound(instance::GtkAccessibleText)
        ret = ccall(("gtk_accessible_text_update_selection_bound", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function get_action_name(instance::GtkActionable)
        ret = ccall(("gtk_actionable_get_action_name", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_action_target_value(instance::GtkActionable)
        ret = ccall(("gtk_actionable_get_action_target_value", libgtk4), Ptr{GVariant}, (Ptr{GObject},), instance)
        ret2 = convert(GVariant, ret)
        ret2
    end
    function set_action_name(instance::GtkActionable, _action_name::Maybe(Union{AbstractString, Symbol}))
        _action_name_maybe = nothing_to_null(_action_name)
        ret = ccall(("gtk_actionable_set_action_name", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _action_name_maybe)
        nothing
    end
    function set_action_target_value(instance::GtkActionable, _target_value::Maybe(GVariant))
        _target_value_maybe = nothing_to_null(_target_value)
        ret = ccall(("gtk_actionable_set_action_target_value", libgtk4), Nothing, (Ptr{GObject}, Ptr{GVariant}), instance, _target_value_maybe)
        nothing
    end
    function set_detailed_action_name(instance::GtkActionable, _detailed_action_name::Union{AbstractString, Symbol})
        ret = ccall(("gtk_actionable_set_detailed_action_name", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _detailed_action_name)
        nothing
    end
    function get_app_info(instance::GtkAppChooser)
        ret = ccall(("gtk_app_chooser_get_app_info", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, true)
        ret2
    end
    function get_content_type(instance::GtkAppChooser)
        ret = ccall(("gtk_app_chooser_get_content_type", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, true)
        ret2
    end
    function refresh(instance::GtkAppChooser)
        ret = ccall(("gtk_app_chooser_refresh", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function get_buildable_id(instance::GtkBuildable)
        ret = ccall(("gtk_buildable_get_buildable_id", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function editing_done(instance::GtkCellEditable)
        ret = ccall(("gtk_cell_editable_editing_done", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function remove_widget(instance::GtkCellEditable)
        ret = ccall(("gtk_cell_editable_remove_widget", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function add_attribute(instance::GtkCellLayout, _cell::GtkCellRenderer, _attribute::Union{AbstractString, Symbol}, _column::Integer)
        ret = ccall(("gtk_cell_layout_add_attribute", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Cstring, Int32), instance, _cell, _attribute, _column)
        nothing
    end
    function clear(instance::GtkCellLayout)
        ret = ccall(("gtk_cell_layout_clear", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function clear_attributes(instance::GtkCellLayout, _cell::GtkCellRenderer)
        ret = ccall(("gtk_cell_layout_clear_attributes", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _cell)
        nothing
    end
    function get_area(instance::GtkCellLayout)
        ret = ccall(("gtk_cell_layout_get_area", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkCellArea, ret, false)
        ret2
    end
    function get_cells(instance::GtkCellLayout)
        ret = ccall(("gtk_cell_layout_get_cells", libgtk4), Ptr{GLib._GList{Ptr{GObject}}}, (Ptr{GObject},), instance)
        ret2 = GLib.GList(ret, false)
        ret2
    end
    function pack_end(instance::GtkCellLayout, _cell::GtkCellRenderer, _expand::Bool)
        ret = ccall(("gtk_cell_layout_pack_end", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Cint), instance, _cell, _expand)
        nothing
    end
    function pack_start(instance::GtkCellLayout, _cell::GtkCellRenderer, _expand::Bool)
        ret = ccall(("gtk_cell_layout_pack_start", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Cint), instance, _cell, _expand)
        nothing
    end
    function reorder(instance::GtkCellLayout, _cell::GtkCellRenderer, _position::Integer)
        ret = ccall(("gtk_cell_layout_reorder", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Int32), instance, _cell, _position)
        nothing
    end
    function add_palette(instance::GtkColorChooser, _orientation, _colors_per_line::Integer, _colors)
        _colors_arr = convert(Vector{_GdkRGBA}, _colors)
        _n_colors = length(_colors)
        ret = ccall(("gtk_color_chooser_add_palette", libgtk4), Nothing, (Ptr{GObject}, UInt32, Int32, Int32, Ptr{_GdkRGBA}), instance, _orientation, _colors_per_line, _n_colors, _colors_arr)
        nothing
    end
    function get_rgba(instance::GtkColorChooser)
        m_color = Ref{_GdkRGBA}()
        ret = ccall(("gtk_color_chooser_get_rgba", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GdkRGBA}), instance, m_color)
        _color = m_color[]
        _color
    end
    function get_use_alpha(instance::GtkColorChooser)
        ret = ccall(("gtk_color_chooser_get_use_alpha", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_rgba(instance::GtkColorChooser, _color::Union{GdkRGBA, Ref{_GdkRGBA}})
        ret = ccall(("gtk_color_chooser_set_rgba", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GdkRGBA}), instance, _color)
        nothing
    end
    function set_use_alpha(instance::GtkColorChooser, _use_alpha::Bool)
        ret = ccall(("gtk_color_chooser_set_use_alpha", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _use_alpha)
        nothing
    end
    function delegate_get_property(_object::GObject, _prop_id::Integer, _value::Union{GValue, Ref{_GValue}}, _pspec::GParam)
        ret = ccall(("gtk_editable_delegate_get_property", libgtk4), Cint, (Ptr{GObject}, UInt32, Ptr{_GValue}, Ptr{GParam}), _object, _prop_id, _value, _pspec)
        ret2 = convert(Bool, ret)
        ret2
    end
    function delegate_set_property(_object::GObject, _prop_id::Integer, _value::Union{GValue, Ref{_GValue}}, _pspec::GParam)
        ret = ccall(("gtk_editable_delegate_set_property", libgtk4), Cint, (Ptr{GObject}, UInt32, Ptr{_GValue}, Ptr{GParam}), _object, _prop_id, _value, _pspec)
        ret2 = convert(Bool, ret)
        ret2
    end
    function delegate_get_accessible_platform_state(instance::GtkEditable, _state)
        ret = ccall(("gtk_editable_delegate_get_accessible_platform_state", libgtk4), Cint, (Ptr{GObject}, UInt32), instance, _state)
        ret2 = convert(Bool, ret)
        ret2
    end
    function delete_selection(instance::GtkEditable)
        ret = ccall(("gtk_editable_delete_selection", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function delete_text(instance::GtkEditable, _start_pos::Integer, _end_pos::Integer)
        ret = ccall(("gtk_editable_delete_text", libgtk4), Nothing, (Ptr{GObject}, Int32, Int32), instance, _start_pos, _end_pos)
        nothing
    end
    function finish_delegate(instance::GtkEditable)
        ret = ccall(("gtk_editable_finish_delegate", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function get_alignment(instance::GtkEditable)
        ret = ccall(("gtk_editable_get_alignment", libgtk4), Float32, (Ptr{GObject},), instance)
        ret
    end
    function get_chars(instance::GtkEditable, _start_pos::Integer, _end_pos::Integer)
        ret = ccall(("gtk_editable_get_chars", libgtk4), Cstring, (Ptr{GObject}, Int32, Int32), instance, _start_pos, _end_pos)
        ret2 = string_or_nothing(ret, true)
        ret2
    end
    function get_delegate(instance::GtkEditable)
        ret = ccall(("gtk_editable_get_delegate", libgtk4), Ptr{GtkWidget}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, false)
        ret2
    end
    function get_editable(instance::GtkEditable)
        ret = ccall(("gtk_editable_get_editable", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_enable_undo(instance::GtkEditable)
        ret = ccall(("gtk_editable_get_enable_undo", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_max_width_chars(instance::GtkEditable)
        ret = ccall(("gtk_editable_get_max_width_chars", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_position(instance::GtkEditable)
        ret = ccall(("gtk_editable_get_position", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_selection_bounds(instance::GtkEditable)
        m_start_pos = Ref{Int32}()
        m_end_pos = Ref{Int32}()
        ret = ccall(("gtk_editable_get_selection_bounds", libgtk4), Cint, (Ptr{GObject}, Ptr{Int32}, Ptr{Int32}), instance, m_start_pos, m_end_pos)
        ret2 = convert(Bool, ret)
        _start_pos = m_start_pos[]
        _end_pos = m_end_pos[]
        (ret2, _start_pos, _end_pos)
    end
    function get_text(instance::GtkEditable)
        ret = ccall(("gtk_editable_get_text", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_width_chars(instance::GtkEditable)
        ret = ccall(("gtk_editable_get_width_chars", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function init_delegate(instance::GtkEditable)
        ret = ccall(("gtk_editable_init_delegate", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function insert_text(instance::GtkEditable, _text::Union{AbstractString, Symbol}, _length::Integer, _position::Integer)
        m_position = Ref{Int32}()
        m_position[] = Base.cconvert(Int32, _position)
        ret = ccall(("gtk_editable_insert_text", libgtk4), Nothing, (Ptr{GObject}, Cstring, Int32, Ptr{Int32}), instance, _text, _length, m_position)
        _position = m_position[]
        _position
    end
    function select_region(instance::GtkEditable, _start_pos::Integer, _end_pos::Integer)
        ret = ccall(("gtk_editable_select_region", libgtk4), Nothing, (Ptr{GObject}, Int32, Int32), instance, _start_pos, _end_pos)
        nothing
    end
    function set_alignment(instance::GtkEditable, _xalign::Real)
        ret = ccall(("gtk_editable_set_alignment", libgtk4), Nothing, (Ptr{GObject}, Float32), instance, _xalign)
        nothing
    end
    function set_editable(instance::GtkEditable, _is_editable::Bool)
        ret = ccall(("gtk_editable_set_editable", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _is_editable)
        nothing
    end
    function set_enable_undo(instance::GtkEditable, _enable_undo::Bool)
        ret = ccall(("gtk_editable_set_enable_undo", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _enable_undo)
        nothing
    end
    function set_max_width_chars(instance::GtkEditable, _n_chars::Integer)
        ret = ccall(("gtk_editable_set_max_width_chars", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _n_chars)
        nothing
    end
    function set_position(instance::GtkEditable, _position::Integer)
        ret = ccall(("gtk_editable_set_position", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _position)
        nothing
    end
    function set_text(instance::GtkEditable, _text::Union{AbstractString, Symbol})
        ret = ccall(("gtk_editable_set_text", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _text)
        nothing
    end
    function set_width_chars(instance::GtkEditable, _n_chars::Integer)
        ret = ccall(("gtk_editable_set_width_chars", libgtk4), Nothing, (Ptr{GObject}, Int32), instance, _n_chars)
        nothing
    end
    function add_choice(instance::GtkFileChooser, _id::Union{AbstractString, Symbol}, _label::Union{AbstractString, Symbol}, _options, _option_labels)
        _options_maybe = nothing_to_null(_options)
        _option_labels_maybe = nothing_to_null(_option_labels)
        ret = ccall(("gtk_file_chooser_add_choice", libgtk4), Nothing, (Ptr{GObject}, Cstring, Cstring, Ptr{Cstring}, Ptr{Cstring}), instance, _id, _label, _options_maybe, _option_labels_maybe)
        nothing
    end
    function add_filter(instance::GtkFileChooser, _filter::GtkFileFilter)
        ret = ccall(("gtk_file_chooser_add_filter", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _filter)
        nothing
    end
    function add_shortcut_folder(instance::GtkFileChooser, _folder::GFile)
        err = err_buf()
        ret = ccall(("gtk_file_chooser_add_shortcut_folder", libgtk4), Cint, (Ptr{GObject}, Ptr{GObject}, Ptr{Ptr{GError}}), instance, _folder, err)
        check_err(err)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_action(instance::GtkFileChooser)
        ret = ccall(("gtk_file_chooser_get_action", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = FileChooserAction(ret)
        ret2
    end
    function get_choice(instance::GtkFileChooser, _id::Union{AbstractString, Symbol})
        ret = ccall(("gtk_file_chooser_get_choice", libgtk4), Cstring, (Ptr{GObject}, Cstring), instance, _id)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_create_folders(instance::GtkFileChooser)
        ret = ccall(("gtk_file_chooser_get_create_folders", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_current_folder(instance::GtkFileChooser)
        ret = ccall(("gtk_file_chooser_get_current_folder", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, true)
        ret2
    end
    function get_current_name(instance::GtkFileChooser)
        ret = ccall(("gtk_file_chooser_get_current_name", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, true)
        ret2
    end
    function get_file(instance::GtkFileChooser)
        ret = ccall(("gtk_file_chooser_get_file", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = GLib.find_leaf_type_if_not_null(ret, true)
        ret2
    end
    function get_files(instance::GtkFileChooser)
        ret = ccall(("gtk_file_chooser_get_files", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = begin
                leaftype = GLib.find_leaf_type(ret)
                convert(leaftype, ret, true)
            end
        ret2
    end
    function get_filter(instance::GtkFileChooser)
        ret = ccall(("gtk_file_chooser_get_filter", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkFileFilter, ret, false)
        ret2
    end
    function get_filters(instance::GtkFileChooser)
        ret = ccall(("gtk_file_chooser_get_filters", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = begin
                leaftype = GLib.find_leaf_type(ret)
                convert(leaftype, ret, true)
            end
        ret2
    end
    function get_select_multiple(instance::GtkFileChooser)
        ret = ccall(("gtk_file_chooser_get_select_multiple", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_shortcut_folders(instance::GtkFileChooser)
        ret = ccall(("gtk_file_chooser_get_shortcut_folders", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = begin
                leaftype = GLib.find_leaf_type(ret)
                convert(leaftype, ret, true)
            end
        ret2
    end
    function remove_choice(instance::GtkFileChooser, _id::Union{AbstractString, Symbol})
        ret = ccall(("gtk_file_chooser_remove_choice", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _id)
        nothing
    end
    function remove_filter(instance::GtkFileChooser, _filter::GtkFileFilter)
        ret = ccall(("gtk_file_chooser_remove_filter", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _filter)
        nothing
    end
    function remove_shortcut_folder(instance::GtkFileChooser, _folder::GFile)
        err = err_buf()
        ret = ccall(("gtk_file_chooser_remove_shortcut_folder", libgtk4), Cint, (Ptr{GObject}, Ptr{GObject}, Ptr{Ptr{GError}}), instance, _folder, err)
        check_err(err)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_action(instance::GtkFileChooser, _action)
        ret = ccall(("gtk_file_chooser_set_action", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _action)
        nothing
    end
    function set_choice(instance::GtkFileChooser, _id::Union{AbstractString, Symbol}, _option::Union{AbstractString, Symbol})
        ret = ccall(("gtk_file_chooser_set_choice", libgtk4), Nothing, (Ptr{GObject}, Cstring, Cstring), instance, _id, _option)
        nothing
    end
    function set_create_folders(instance::GtkFileChooser, _create_folders::Bool)
        ret = ccall(("gtk_file_chooser_set_create_folders", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _create_folders)
        nothing
    end
    function set_current_folder(instance::GtkFileChooser, _file::Maybe(GFile))
        _file_maybe = nothing_to_null(_file)
        err = err_buf()
        ret = ccall(("gtk_file_chooser_set_current_folder", libgtk4), Cint, (Ptr{GObject}, Ptr{GObject}, Ptr{Ptr{GError}}), instance, _file_maybe, err)
        check_err(err)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_current_name(instance::GtkFileChooser, _name::Union{AbstractString, Symbol})
        ret = ccall(("gtk_file_chooser_set_current_name", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _name)
        nothing
    end
    function set_file(instance::GtkFileChooser, _file::GFile)
        err = err_buf()
        ret = ccall(("gtk_file_chooser_set_file", libgtk4), Cint, (Ptr{GObject}, Ptr{GObject}, Ptr{Ptr{GError}}), instance, _file, err)
        check_err(err)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_filter(instance::GtkFileChooser, _filter::GtkFileFilter)
        ret = ccall(("gtk_file_chooser_set_filter", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _filter)
        nothing
    end
    function set_select_multiple(instance::GtkFileChooser, _select_multiple::Bool)
        ret = ccall(("gtk_file_chooser_set_select_multiple", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _select_multiple)
        nothing
    end
    function get_font(instance::GtkFontChooser)
        ret = ccall(("gtk_font_chooser_get_font", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, true)
        ret2
    end
    function get_font_desc(instance::GtkFontChooser)
        ret = ccall(("gtk_font_chooser_get_font_desc", libgtk4), Ptr{PangoFontDescription}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(PangoFontDescription, ret, true)
        ret2
    end
    function get_font_face(instance::GtkFontChooser)
        ret = ccall(("gtk_font_chooser_get_font_face", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(PangoFontFace, ret, false)
        ret2
    end
    function get_font_family(instance::GtkFontChooser)
        ret = ccall(("gtk_font_chooser_get_font_family", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(PangoFontFamily, ret, false)
        ret2
    end
    function get_font_features(instance::GtkFontChooser)
        ret = ccall(("gtk_font_chooser_get_font_features", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, true)
        ret2
    end
    function get_font_map(instance::GtkFontChooser)
        ret = ccall(("gtk_font_chooser_get_font_map", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(PangoFontMap, ret, true)
        ret2
    end
    function get_font_size(instance::GtkFontChooser)
        ret = ccall(("gtk_font_chooser_get_font_size", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_language(instance::GtkFontChooser)
        ret = ccall(("gtk_font_chooser_get_language", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, true)
        ret2
    end
    function get_level(instance::GtkFontChooser)
        ret = ccall(("gtk_font_chooser_get_level", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = FontChooserLevel(ret)
        ret2
    end
    function get_preview_text(instance::GtkFontChooser)
        ret = ccall(("gtk_font_chooser_get_preview_text", libgtk4), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, true)
        ret2
    end
    function get_show_preview_entry(instance::GtkFontChooser)
        ret = ccall(("gtk_font_chooser_get_show_preview_entry", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_font(instance::GtkFontChooser, _fontname::Union{AbstractString, Symbol})
        ret = ccall(("gtk_font_chooser_set_font", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _fontname)
        nothing
    end
    function set_font_desc(instance::GtkFontChooser, _font_desc::PangoFontDescription)
        ret = ccall(("gtk_font_chooser_set_font_desc", libgtk4), Nothing, (Ptr{GObject}, Ptr{PangoFontDescription}), instance, _font_desc)
        nothing
    end
    function set_font_map(instance::GtkFontChooser, _fontmap::Maybe(PangoFontMap))
        _fontmap_maybe = nothing_to_null(_fontmap)
        ret = ccall(("gtk_font_chooser_set_font_map", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _fontmap_maybe)
        nothing
    end
    function set_language(instance::GtkFontChooser, _language::Union{AbstractString, Symbol})
        ret = ccall(("gtk_font_chooser_set_language", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _language)
        nothing
    end
    function set_level(instance::GtkFontChooser, _level)
        ret = ccall(("gtk_font_chooser_set_level", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _level)
        nothing
    end
    function set_preview_text(instance::GtkFontChooser, _text::Union{AbstractString, Symbol})
        ret = ccall(("gtk_font_chooser_set_preview_text", libgtk4), Nothing, (Ptr{GObject}, Cstring), instance, _text)
        nothing
    end
    function set_show_preview_entry(instance::GtkFontChooser, _show_preview_entry::Bool)
        ret = ccall(("gtk_font_chooser_set_show_preview_entry", libgtk4), Nothing, (Ptr{GObject}, Cint), instance, _show_preview_entry)
        nothing
    end
    function get_for_surface(_surface::GdkSurface)
        ret = ccall(("gtk_native_get_for_surface", libgtk4), Ptr{GtkWidget}, (Ptr{GObject},), _surface)
        ret2 = GLib.find_leaf_type_if_not_null(ret, false)
        ret2
    end
    function get_renderer(instance::GtkNative)
        ret = ccall(("gtk_native_get_renderer", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GskRenderer, ret, false)
        ret2
    end
    function get_surface(instance::GtkNative)
        ret = ccall(("gtk_native_get_surface", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GdkSurface, ret, false)
        ret2
    end
    function get_surface_transform(instance::GtkNative)
        m_x = Ref{Float64}()
        m_y = Ref{Float64}()
        ret = ccall(("gtk_native_get_surface_transform", libgtk4), Nothing, (Ptr{GObject}, Ptr{Float64}, Ptr{Float64}), instance, m_x, m_y)
        _x = m_x[]
        _y = m_y[]
        (_x, _y)
    end
    function realize(instance::GtkNative)
        ret = ccall(("gtk_native_realize", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function unrealize(instance::GtkNative)
        ret = ccall(("gtk_native_unrealize", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function get_orientation(instance::GtkOrientable)
        ret = ccall(("gtk_orientable_get_orientation", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = Orientation(ret)
        ret2
    end
    function set_orientation(instance::GtkOrientable, _orientation)
        ret = ccall(("gtk_orientable_set_orientation", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _orientation)
        nothing
    end
    function get_display(instance::GtkRoot)
        ret = ccall(("gtk_root_get_display", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(GdkDisplay, ret, false)
        ret2
    end
    function get_focus(instance::GtkRoot)
        ret = ccall(("gtk_root_get_focus", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkWidget, ret, false)
        ret2
    end
    function set_focus(instance::GtkRoot, _focus::Maybe(GtkWidget))
        _focus_maybe = nothing_to_null(_focus)
        ret = ccall(("gtk_root_set_focus", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _focus_maybe)
        nothing
    end
    function get_border(instance::GtkScrollable)
        m_border = Ref{_GtkBorder}()
        ret = ccall(("gtk_scrollable_get_border", libgtk4), Cint, (Ptr{GObject}, Ptr{_GtkBorder}), instance, m_border)
        ret2 = convert(Bool, ret)
        _border = m_border[]
        (ret2, _border)
    end
    function get_hadjustment(instance::GtkScrollable)
        ret = ccall(("gtk_scrollable_get_hadjustment", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkAdjustment, ret, false)
        ret2
    end
    function get_hscroll_policy(instance::GtkScrollable)
        ret = ccall(("gtk_scrollable_get_hscroll_policy", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = ScrollablePolicy(ret)
        ret2
    end
    function get_vadjustment(instance::GtkScrollable)
        ret = ccall(("gtk_scrollable_get_vadjustment", libgtk4), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(GtkAdjustment, ret, false)
        ret2
    end
    function get_vscroll_policy(instance::GtkScrollable)
        ret = ccall(("gtk_scrollable_get_vscroll_policy", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = ScrollablePolicy(ret)
        ret2
    end
    function set_hadjustment(instance::GtkScrollable, _hadjustment::Maybe(GtkAdjustment))
        _hadjustment_maybe = nothing_to_null(_hadjustment)
        ret = ccall(("gtk_scrollable_set_hadjustment", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _hadjustment_maybe)
        nothing
    end
    function set_hscroll_policy(instance::GtkScrollable, _policy)
        ret = ccall(("gtk_scrollable_set_hscroll_policy", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _policy)
        nothing
    end
    function set_vadjustment(instance::GtkScrollable, _vadjustment::Maybe(GtkAdjustment))
        _vadjustment_maybe = nothing_to_null(_vadjustment)
        ret = ccall(("gtk_scrollable_set_vadjustment", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _vadjustment_maybe)
        nothing
    end
    function set_vscroll_policy(instance::GtkScrollable, _policy)
        ret = ccall(("gtk_scrollable_set_vscroll_policy", libgtk4), Nothing, (Ptr{GObject}, UInt32), instance, _policy)
        nothing
    end
    function get_section(instance::GtkSectionModel, _position::Integer)
        m_out_start = Ref{UInt32}()
        m_out_end = Ref{UInt32}()
        ret = ccall(("gtk_section_model_get_section", libgtk4), Nothing, (Ptr{GObject}, UInt32, Ptr{UInt32}, Ptr{UInt32}), instance, _position, m_out_start, m_out_end)
        _out_start = m_out_start[]
        _out_end = m_out_end[]
        (_out_start, _out_end)
    end
    function sections_changed(instance::GtkSectionModel, _position::Integer, _n_items::Integer)
        ret = ccall(("gtk_section_model_sections_changed", libgtk4), Nothing, (Ptr{GObject}, UInt32, UInt32), instance, _position, _n_items)
        nothing
    end
    function get_selection(instance::GtkSelectionModel)
        ret = ccall(("gtk_selection_model_get_selection", libgtk4), Ptr{GtkBitset}, (Ptr{GObject},), instance)
        ret2 = convert(GtkBitset, ret, true)
        ret2
    end
    function get_selection_in_range(instance::GtkSelectionModel, _position::Integer, _n_items::Integer)
        ret = ccall(("gtk_selection_model_get_selection_in_range", libgtk4), Ptr{GtkBitset}, (Ptr{GObject}, UInt32, UInt32), instance, _position, _n_items)
        ret2 = convert(GtkBitset, ret, true)
        ret2
    end
    function is_selected(instance::GtkSelectionModel, _position::Integer)
        ret = ccall(("gtk_selection_model_is_selected", libgtk4), Cint, (Ptr{GObject}, UInt32), instance, _position)
        ret2 = convert(Bool, ret)
        ret2
    end
    function select_all(instance::GtkSelectionModel)
        ret = ccall(("gtk_selection_model_select_all", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function select_item(instance::GtkSelectionModel, _position::Integer, _unselect_rest::Bool)
        ret = ccall(("gtk_selection_model_select_item", libgtk4), Cint, (Ptr{GObject}, UInt32, Cint), instance, _position, _unselect_rest)
        ret2 = convert(Bool, ret)
        ret2
    end
    function select_range(instance::GtkSelectionModel, _position::Integer, _n_items::Integer, _unselect_rest::Bool)
        ret = ccall(("gtk_selection_model_select_range", libgtk4), Cint, (Ptr{GObject}, UInt32, UInt32, Cint), instance, _position, _n_items, _unselect_rest)
        ret2 = convert(Bool, ret)
        ret2
    end
    function selection_changed(instance::GtkSelectionModel, _position::Integer, _n_items::Integer)
        ret = ccall(("gtk_selection_model_selection_changed", libgtk4), Nothing, (Ptr{GObject}, UInt32, UInt32), instance, _position, _n_items)
        nothing
    end
    function set_selection(instance::GtkSelectionModel, _selected::GtkBitset, _mask::GtkBitset)
        ret = ccall(("gtk_selection_model_set_selection", libgtk4), Cint, (Ptr{GObject}, Ptr{GtkBitset}, Ptr{GtkBitset}), instance, _selected, _mask)
        ret2 = convert(Bool, ret)
        ret2
    end
    function unselect_all(instance::GtkSelectionModel)
        ret = ccall(("gtk_selection_model_unselect_all", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function unselect_item(instance::GtkSelectionModel, _position::Integer)
        ret = ccall(("gtk_selection_model_unselect_item", libgtk4), Cint, (Ptr{GObject}, UInt32), instance, _position)
        ret2 = convert(Bool, ret)
        ret2
    end
    function unselect_range(instance::GtkSelectionModel, _position::Integer, _n_items::Integer)
        ret = ccall(("gtk_selection_model_unselect_range", libgtk4), Cint, (Ptr{GObject}, UInt32, UInt32), instance, _position, _n_items)
        ret2 = convert(Bool, ret)
        ret2
    end
    function snapshot_symbolic(instance::GtkSymbolicPaintable, _snapshot::GdkSnapshot, _width::Real, _height::Real, _colors)
        _colors_arr = convert(Vector{_GdkRGBA}, _colors)
        _n_colors = length(_colors)
        ret = ccall(("gtk_symbolic_paintable_snapshot_symbolic", libgtk4), Nothing, (Ptr{GObject}, Ptr{GObject}, Float64, Float64, Ptr{_GdkRGBA}, UInt64), instance, _snapshot, _width, _height, _colors_arr, _n_colors)
        nothing
    end
    function drag_data_received(instance::GtkTreeDragDest, _dest::GtkTreePath, _value::Union{GValue, Ref{_GValue}})
        ret = ccall(("gtk_tree_drag_dest_drag_data_received", libgtk4), Cint, (Ptr{GObject}, Ptr{GtkTreePath}, Ptr{_GValue}), instance, _dest, _value)
        ret2 = convert(Bool, ret)
        ret2
    end
    function row_drop_possible(instance::GtkTreeDragDest, _dest_path::GtkTreePath, _value::Union{GValue, Ref{_GValue}})
        ret = ccall(("gtk_tree_drag_dest_row_drop_possible", libgtk4), Cint, (Ptr{GObject}, Ptr{GtkTreePath}, Ptr{_GValue}), instance, _dest_path, _value)
        ret2 = convert(Bool, ret)
        ret2
    end
    function drag_data_delete(instance::GtkTreeDragSource, _path::GtkTreePath)
        ret = ccall(("gtk_tree_drag_source_drag_data_delete", libgtk4), Cint, (Ptr{GObject}, Ptr{GtkTreePath}), instance, _path)
        ret2 = convert(Bool, ret)
        ret2
    end
    function drag_data_get(instance::GtkTreeDragSource, _path::GtkTreePath)
        ret = ccall(("gtk_tree_drag_source_drag_data_get", libgtk4), Ptr{GObject}, (Ptr{GObject}, Ptr{GtkTreePath}), instance, _path)
        ret2 = convert_if_not_null(GdkContentProvider, ret, true)
        ret2
    end
    function row_draggable(instance::GtkTreeDragSource, _path::GtkTreePath)
        ret = ccall(("gtk_tree_drag_source_row_draggable", libgtk4), Cint, (Ptr{GObject}, Ptr{GtkTreePath}), instance, _path)
        ret2 = convert(Bool, ret)
        ret2
    end
    function filter_new(instance::GtkTreeModel, _root::Maybe(GtkTreePath))
        _root_maybe = nothing_to_null(_root)
        ret = ccall(("gtk_tree_model_filter_new", libgtk4), Ptr{GObject}, (Ptr{GObject}, Ptr{GtkTreePath}), instance, _root_maybe)
        ret2 = begin
                leaftype = GLib.find_leaf_type(ret)
                convert(leaftype, ret, true)
            end
        ret2
    end
    function foreach(instance::GtkTreeModel, _func::Function)
        begin
            _func_cfunc = @cfunction(GtkTreeModelForeachFunc, Cint, (Ptr{GObject}, Ptr{GtkTreePath}, Ptr{_GtkTreeIter}, Ref{Function}))
            begin
                ref = Ref{Any}(_func)
                _func_closure = unsafe_load(convert(Ptr{Ptr{Nothing}}, Base.unsafe_convert(Ptr{Any}, ref)))
            end
        end
        ret = ccall(("gtk_tree_model_foreach", libgtk4), Nothing, (Ptr{GObject}, Ptr{Cvoid}, Ptr{Nothing}), instance, _func_cfunc, _func_closure)
        nothing
    end
    function get_column_type(instance::GtkTreeModel, _index_::Integer)
        ret = ccall(("gtk_tree_model_get_column_type", libgtk4), UInt64, (Ptr{GObject}, Int32), instance, _index_)
        ret
    end
    function get_flags(instance::GtkTreeModel)
        ret = ccall(("gtk_tree_model_get_flags", libgtk4), UInt32, (Ptr{GObject},), instance)
        ret2 = TreeModelFlags(ret)
        ret2
    end
    function get_iter(instance::GtkTreeModel, _path::GtkTreePath)
        m_iter = Ref{_GtkTreeIter}()
        ret = ccall(("gtk_tree_model_get_iter", libgtk4), Cint, (Ptr{GObject}, Ptr{_GtkTreeIter}, Ptr{GtkTreePath}), instance, m_iter, _path)
        ret2 = convert(Bool, ret)
        _iter = m_iter[]
        (ret2, _iter)
    end
    function get_iter_first(instance::GtkTreeModel)
        m_iter = Ref{_GtkTreeIter}()
        ret = ccall(("gtk_tree_model_get_iter_first", libgtk4), Cint, (Ptr{GObject}, Ptr{_GtkTreeIter}), instance, m_iter)
        ret2 = convert(Bool, ret)
        _iter = m_iter[]
        (ret2, _iter)
    end
    function get_iter_from_string(instance::GtkTreeModel, _path_string::Union{AbstractString, Symbol})
        m_iter = Ref{_GtkTreeIter}()
        ret = ccall(("gtk_tree_model_get_iter_from_string", libgtk4), Cint, (Ptr{GObject}, Ptr{_GtkTreeIter}, Cstring), instance, m_iter, _path_string)
        ret2 = convert(Bool, ret)
        _iter = m_iter[]
        (ret2, _iter)
    end
    function get_n_columns(instance::GtkTreeModel)
        ret = ccall(("gtk_tree_model_get_n_columns", libgtk4), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_path(instance::GtkTreeModel, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        ret = ccall(("gtk_tree_model_get_path", libgtk4), Ptr{GtkTreePath}, (Ptr{GObject}, Ptr{_GtkTreeIter}), instance, _iter)
        ret2 = convert(GtkTreePath, ret, true)
        ret2
    end
    function get_string_from_iter(instance::GtkTreeModel, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        ret = ccall(("gtk_tree_model_get_string_from_iter", libgtk4), Cstring, (Ptr{GObject}, Ptr{_GtkTreeIter}), instance, _iter)
        ret2 = string_or_nothing(ret, true)
        ret2
    end
    function get_value(instance::GtkTreeModel, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}}, _column::Integer)
        m_value = Ref{_GValue}()
        ret = ccall(("gtk_tree_model_get_value", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTreeIter}, Int32, Ptr{_GValue}), instance, _iter, _column, m_value)
        _value = m_value[]
        _value
    end
    function iter_children(instance::GtkTreeModel, _parent::Maybe(Union{GtkTreeIter, Ref{_GtkTreeIter}}))
        m_iter = Ref{_GtkTreeIter}()
        _parent_maybe = nothing_to_null(_parent)
        ret = ccall(("gtk_tree_model_iter_children", libgtk4), Cint, (Ptr{GObject}, Ptr{_GtkTreeIter}, Ptr{_GtkTreeIter}), instance, m_iter, _parent_maybe)
        ret2 = convert(Bool, ret)
        _iter = m_iter[]
        (ret2, _iter)
    end
    function iter_has_child(instance::GtkTreeModel, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        ret = ccall(("gtk_tree_model_iter_has_child", libgtk4), Cint, (Ptr{GObject}, Ptr{_GtkTreeIter}), instance, _iter)
        ret2 = convert(Bool, ret)
        ret2
    end
    function iter_n_children(instance::GtkTreeModel, _iter::Maybe(Union{GtkTreeIter, Ref{_GtkTreeIter}}))
        _iter_maybe = nothing_to_null(_iter)
        ret = ccall(("gtk_tree_model_iter_n_children", libgtk4), Int32, (Ptr{GObject}, Ptr{_GtkTreeIter}), instance, _iter_maybe)
        ret
    end
    function iter_next(instance::GtkTreeModel, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        ret = ccall(("gtk_tree_model_iter_next", libgtk4), Cint, (Ptr{GObject}, Ptr{_GtkTreeIter}), instance, _iter)
        ret2 = convert(Bool, ret)
        ret2
    end
    function iter_nth_child(instance::GtkTreeModel, _parent::Maybe(Union{GtkTreeIter, Ref{_GtkTreeIter}}), _n::Integer)
        m_iter = Ref{_GtkTreeIter}()
        _parent_maybe = nothing_to_null(_parent)
        ret = ccall(("gtk_tree_model_iter_nth_child", libgtk4), Cint, (Ptr{GObject}, Ptr{_GtkTreeIter}, Ptr{_GtkTreeIter}, Int32), instance, m_iter, _parent_maybe, _n)
        ret2 = convert(Bool, ret)
        _iter = m_iter[]
        (ret2, _iter)
    end
    function iter_parent(instance::GtkTreeModel, _child::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        m_iter = Ref{_GtkTreeIter}()
        ret = ccall(("gtk_tree_model_iter_parent", libgtk4), Cint, (Ptr{GObject}, Ptr{_GtkTreeIter}, Ptr{_GtkTreeIter}), instance, m_iter, _child)
        ret2 = convert(Bool, ret)
        _iter = m_iter[]
        (ret2, _iter)
    end
    function iter_previous(instance::GtkTreeModel, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        ret = ccall(("gtk_tree_model_iter_previous", libgtk4), Cint, (Ptr{GObject}, Ptr{_GtkTreeIter}), instance, _iter)
        ret2 = convert(Bool, ret)
        ret2
    end
    function ref_node(instance::GtkTreeModel, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        ret = ccall(("gtk_tree_model_ref_node", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTreeIter}), instance, _iter)
        nothing
    end
    function row_changed(instance::GtkTreeModel, _path::GtkTreePath, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        ret = ccall(("gtk_tree_model_row_changed", libgtk4), Nothing, (Ptr{GObject}, Ptr{GtkTreePath}, Ptr{_GtkTreeIter}), instance, _path, _iter)
        nothing
    end
    function row_deleted(instance::GtkTreeModel, _path::GtkTreePath)
        ret = ccall(("gtk_tree_model_row_deleted", libgtk4), Nothing, (Ptr{GObject}, Ptr{GtkTreePath}), instance, _path)
        nothing
    end
    function row_has_child_toggled(instance::GtkTreeModel, _path::GtkTreePath, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        ret = ccall(("gtk_tree_model_row_has_child_toggled", libgtk4), Nothing, (Ptr{GObject}, Ptr{GtkTreePath}, Ptr{_GtkTreeIter}), instance, _path, _iter)
        nothing
    end
    function row_inserted(instance::GtkTreeModel, _path::GtkTreePath, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        ret = ccall(("gtk_tree_model_row_inserted", libgtk4), Nothing, (Ptr{GObject}, Ptr{GtkTreePath}, Ptr{_GtkTreeIter}), instance, _path, _iter)
        nothing
    end
    function rows_reordered(instance::GtkTreeModel, _path::GtkTreePath, _iter::Maybe(Union{GtkTreeIter, Ref{_GtkTreeIter}}), _new_order)
        _iter_maybe = nothing_to_null(_iter)
        _new_order_arr = convert(Vector{Int32}, _new_order)
        _length = length(_new_order)
        ret = ccall(("gtk_tree_model_rows_reordered_with_length", libgtk4), Nothing, (Ptr{GObject}, Ptr{GtkTreePath}, Ptr{_GtkTreeIter}, Ptr{Int32}, Int32), instance, _path, _iter_maybe, _new_order_arr, _length)
        nothing
    end
    function unref_node(instance::GtkTreeModel, _iter::Union{GtkTreeIter, Ref{_GtkTreeIter}})
        ret = ccall(("gtk_tree_model_unref_node", libgtk4), Nothing, (Ptr{GObject}, Ptr{_GtkTreeIter}), instance, _iter)
        nothing
    end
    function get_sort_column_id(instance::GtkTreeSortable)
        m_sort_column_id = Ref{Int32}()
        m_order = Ref{UInt32}()
        ret = ccall(("gtk_tree_sortable_get_sort_column_id", libgtk4), Cint, (Ptr{GObject}, Ptr{Int32}, Ptr{UInt32}), instance, m_sort_column_id, m_order)
        ret2 = convert(Bool, ret)
        _sort_column_id = m_sort_column_id[]
        _order = m_order[]
        _order = SortType(_order)
        (ret2, _sort_column_id, _order)
    end
    function has_default_sort_func(instance::GtkTreeSortable)
        ret = ccall(("gtk_tree_sortable_has_default_sort_func", libgtk4), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function set_sort_column_id(instance::GtkTreeSortable, _sort_column_id::Integer, _order)
        ret = ccall(("gtk_tree_sortable_set_sort_column_id", libgtk4), Nothing, (Ptr{GObject}, Int32, UInt32), instance, _sort_column_id, _order)
        nothing
    end
    function sort_column_changed(instance::GtkTreeSortable)
        ret = ccall(("gtk_tree_sortable_sort_column_changed", libgtk4), Nothing, (Ptr{GObject},), instance)
        nothing
    end
end))
end
