From 8da6f6a68a1903f77342b3b0b6af0b99327b59fb Mon Sep 17 00:00:00 2001 From: Jared Wahlstrand Date: Mon, 2 Jan 2023 22:07:38 -0500 Subject: [PATCH] reduce GObject boilerplate, remove some useless constructor functionality How would one use GResource in Julia code? --- GI/src/giimport.jl | 4 +- Project.toml | 4 +- src/GLib/GLib.jl | 2 +- src/GLib/gobject.jl | 6 + src/GdkPixbufLib.jl | 72 ++----- src/builder.jl | 12 +- src/displays.jl | 24 +-- src/gen/gdkpixbuf_structs | 28 +-- src/gen/gio_structs | 404 ++++++++++---------------------------- src/gen/gobject_structs | 16 +- test/gdkpixbuf.jl | 2 +- test/gui.jl | 4 +- 12 files changed, 153 insertions(+), 425 deletions(-) diff --git a/GI/src/giimport.jl b/GI/src/giimport.jl index 598bf887..1eca185f 100644 --- a/GI/src/giimport.jl +++ b/GI/src/giimport.jl @@ -310,9 +310,7 @@ function gobject_decl(objectinfo) local kwargs function $leafname(args...; kwargs...) w = $oname(args...) - for (kw, val) in kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[$(QuoteNode(oname))] = $leafname diff --git a/Project.toml b/Project.toml index 6dcac3ae..88639b3e 100644 --- a/Project.toml +++ b/Project.toml @@ -1,6 +1,6 @@ name = "Gtk4" uuid = "9db2cae5-386f-4011-9d63-a5602296539b" -version = "0.2.0" +version = "0.3.0" [deps] BitFlags = "d1d4a3ce-64b1-5f1a-9ba4-7e7e69966f35" @@ -23,7 +23,7 @@ gdk_pixbuf_jll = "da03df04-f53b-5353-a52f-6a8b0620ced0" hicolor_icon_theme_jll = "059c91fe-1bad-52ad-bddd-f7b78713c282" [compat] -Glib_jll = "2.68.0" +Glib_jll = "2.74.0" GTK4_jll = "4.6.0" Xorg_xkeyboard_config_jll = "2.27.0" adwaita_icon_theme_jll = "3.33.92" diff --git a/src/GLib/GLib.jl b/src/GLib/GLib.jl index 66ff1b6c..7c859055 100644 --- a/src/GLib/GLib.jl +++ b/src/GLib/GLib.jl @@ -27,7 +27,7 @@ export signal_handler_block, signal_handler_unblock export add_action, add_stateful_action export get_gtk_property, set_gtk_property!, gtk_propertynames, bind_property, unbind_property -export bytestring, nothing_to_null +export bytestring, nothing_to_null, setproperties! export length_zt, err_buf, check_err export gtkdoc_const_url, gtkdoc_enum_url, gtkdoc_flags_url, gtkdoc_method_url, gtkdoc_func_url, gtkdoc_struc_url diff --git a/src/GLib/gobject.jl b/src/GLib/gobject.jl index 5383d938..c871bbd5 100644 --- a/src/GLib/gobject.jl +++ b/src/GLib/gobject.jl @@ -1,3 +1,9 @@ +function setproperties!(obj::GObject; kwargs...) + for (kw, val) = kwargs + set_gtk_property!(obj, kw, val) + end +end + # converts the string output by `g_value_get_string` to Julia equivalent function gvalue_string_convert(str) value = (str == C_NULL ? "nothing" : GLib.bytestring(str)) diff --git a/src/GdkPixbufLib.jl b/src/GdkPixbufLib.jl index f7d8bbec..1979bbdf 100644 --- a/src/GdkPixbufLib.jl +++ b/src/GdkPixbufLib.jl @@ -201,58 +201,21 @@ convert(::Type{P}, a::MatrixStrided) where {P <: Ptr} = convert(P, a.p) bstride(a::MatrixStrided, i) = (i == 1 ? sizeof(eltype(a)) : (i == 2 ? a.rowstride : 0)) bstride(a, i) = stride(a, i) * sizeof(eltype(a)) -# Example constructors: -#GdkPixbuf(filename = "", width = -1, height = -1, preserve_aspect_ratio = true) -#GdkPixbuf(resource_path = "", width = -1, height = -1, preserve_aspect_ratio = true) -#GdkPixbuf(stream = "", width = -1, height = -1, preserve_aspect_ratio = true) -#GdkPixbuf(xpm_data = [...]) -#GdkPixbuf(data = [...], has_alpha = true) -#GdkPixbuf(width = 1, height = 1, has_alpha = true) -function GdkPixbuf(; stream = nothing, resource_path = nothing, filename = nothing, xpm_data = nothing, inline_data = nothing, data = nothing, - width = -1, height = -1, preserve_aspect_ratio = true, has_alpha = nothing) - source_count = (stream !== nothing) + (resource_path !== nothing) + (filename !== nothing) + - (xpm_data !== nothing) + (inline_data !== nothing) + (data !== nothing) - @assert(source_count <= 1, - "GdkPixbuf must have at most one stream, resource_path, filename, xpm_data, inline_data, or data argument") - @assert(source_count == 0 || data !== nothing || has_alpha === nothing, - "GdkPixbuf can only set the has-alpha property for new buffers") +function GdkPixbuf(width::Integer, height::Integer, has_alpha = true) + G_.Pixbuf_new(Colorspace_RGB, has_alpha, 8, width, height) +end + +function GdkPixbuf(filename::AbstractString, width = -1, height = -1, preserve_aspect_ratio = true) + if width == -1 && height == -1 + G_.Pixbuf_new_from_file(filename) + else + G_.Pixbuf_new_from_file_at_scale(filename, width, height, preserve_aspect_ratio) + end +end + +function GdkPixbuf(data::AbstractArray, has_alpha = nothing) local pixbuf::Ptr{GObject} - if stream !== nothing - @assert(false, "not implemented yet") - elseif resource_path !== nothing - GError() do error_check - if width == -1 && height == -1 - pixbuf = ccall((:gdk_pixbuf_new_from_resource, libgdkpixbuf), Ptr{GObject}, (Ptr{UInt8}, Ptr{Ptr{GError}}), bytestring(resource_path), error_check) - else - pixbuf = ccall((:gdk_pixbuf_new_from_resource_at_scale, libgdkpixbuf), Ptr{GObject}, - (Ptr{UInt8}, Cint, Cint, Cint, Ptr{Ptr{GError}}), bytestring(resource_path), width, height, preserve_aspect_ratio, error_check) - end - return pixbuf !== C_NULL - end - elseif filename !== nothing - GError() do error_check - if width == -1 && height == -1 - pixbuf = ccall((:gdk_pixbuf_new_from_file, libgdkpixbuf), Ptr{GObject}, (Ptr{UInt8}, Ptr{Ptr{GError}}), bytestring(filename), error_check) - else - pixbuf = ccall((:gdk_pixbuf_new_from_file_at_scale, libgdkpixbuf), Ptr{GObject}, - (Ptr{UInt8}, Cint, Cint, Cint, Ptr{Ptr{GError}}), bytestring(filename), width, height, preserve_aspect_ratio, error_check) - end - return pixbuf !== C_NULL - end - elseif xpm_data !== nothing - @assert(width == -1 && height == -1, "GdkPixbuf cannot set the width/height of a image from xpm_data") - GError() do error_check - pixbuf = ccall((:gdk_pixbuf_new_from_xpm_data, libgdkpixbuf), Ptr{GObject}, (Ptr{Ptr{Nothing}},), xpm_data) - return pixbuf !== C_NULL - end - elseif inline_data !== nothing - @assert(width == -1 && height == -1, "GdkPixbuf cannot set the width/height of a image from inline_data") - GError() do error_check - pixbuf = ccall((:gdk_pixbuf_new_from_inline, libgdkpixbuf), Ptr{GObject}, (Cint, Ptr{Nothing}, Cint, Ptr{Ptr{GError}}), sizeof(inline_data), inline_data, true, error_check) - return pixbuf !== C_NULL - end - elseif data !== nothing # RGB or RGBA array, packed however you wish - @assert(width == -1 && height == -1, "GdkPixbuf cannot set the width/height of a image from data") + if data !== nothing # RGB or RGBA array, packed however you wish alpha = convert(Bool, has_alpha) width = size(data, 1) * bstride(data, 1)/(3 + Int(alpha)) height = size(data, 2) @@ -261,14 +224,9 @@ function GdkPixbuf(; stream = nothing, resource_path = nothing, filename = nothi (Ptr{Nothing}, Cint, Cint, Cint, Cint, Cint, Cint, Ptr{Nothing}, Ptr{Nothing}), data, 0, alpha, 8, width, height, bstride(data, 2), deref_data, ref_data) - else - @assert(width != -1 && height != -1 && has_alpha !== nothing, "GdkPixbuf requires a width, height, and has_alpha to create an uninitialized pixbuf") - return G_.Pixbuf_new(Colorspace_RGB, has_alpha, 8, width, height) end - return GdkPixbuf(pixbuf) + return convert(GdkPixbuf, pixbuf, true) end -#GdkPixbufLoader for new with type/mimetype -#GdkPixbuf(callback, stream, width = -1, height = -1, preserve_aspect_ratio = true) slice(img::GdkPixbuf, x, y) = G_.new_subpixbuf(img, first(x)-1, first(y)-1, length(x), length(y)) size(a::GdkPixbuf, i::Integer) = (i == 1 ? width(a) : (i == 2 ? height(a) : 1)) diff --git a/src/builder.jl b/src/builder.jl index d604b3ff..817bc72e 100644 --- a/src/builder.jl +++ b/src/builder.jl @@ -1,20 +1,18 @@ -function GtkBuilder(; buffer = nothing, filename = nothing, resource = nothing) +function GtkBuilder(; buffer = nothing, filename = nothing) builder = G_.Builder_new() - push!(builder, buffer = buffer, filename = filename, resource = resource) + push!(builder, buffer = buffer, filename = filename) builder end -function push!(builder::GtkBuilder; buffer = nothing, filename = nothing, resource = nothing) - source_count = (buffer !== nothing) + (filename !== nothing) + (resource !== nothing) +function push!(builder::GtkBuilder; buffer = nothing, filename = nothing) + source_count = (buffer !== nothing) + (filename !== nothing) @assert(source_count == 1, - "push!(GtkBuilder) must have exactly one buffer, filename, or resource argument") + "push!(GtkBuilder) must have exactly one buffer or filename argument") if buffer !== nothing G_.add_from_string(builder, buffer, -1) elseif filename !== nothing G_.add_from_file(builder, filename) - elseif resource !== nothing - G_.add_from_resource(builder, resource) end return builder end diff --git a/src/displays.jl b/src/displays.jl index c6411569..66282e35 100644 --- a/src/displays.jl +++ b/src/displays.jl @@ -26,13 +26,11 @@ end GtkImage(pixbuf::GdkPixbuf) = G_.Image_new_from_pixbuf(pixbuf) GtkImage(filename::AbstractString) = G_.Image_new_from_file(filename) -function GtkImage(; resource_path = nothing, filename = nothing, icon_name = nothing) - source_count = (resource_path !== nothing) + (filename !== nothing) + (icon_name !== nothing) +function GtkImage(; filename = nothing, icon_name = nothing) + source_count = (filename !== nothing) + (icon_name !== nothing) @assert(source_count <= 1, - "GdkPixbuf must have at most one resource_path, filename, or icon_name argument") - if resource_path !== nothing - img = G_.Image_new_from_resource(resource_path) - elseif filename !== nothing + "GdkPixbuf must have at most one filename or icon_name argument") + if filename !== nothing img = G_.Image_new_from_file(filename) elseif icon_name !== nothing img = G_.Image_new_from_icon_name(icon_name) @@ -49,18 +47,12 @@ GtkPicture(pixbuf::GdkPixbuf) = G_.Picture_new_for_pixbuf(pixbuf) GtkPicture(p::GdkPaintable) = G_.Picture_new_for_paintable(p) GtkPicture(gfile::GFile) = G_.Picture_new_for_file(gfile) -function GtkPicture(; resource_path = nothing, filename = nothing) - source_count = (resource_path !== nothing) + (filename !== nothing) - @assert(source_count <= 1, - "GdkPixbuf must have at most one resource_path or filename argument") - if resource_path !== nothing - img = G_.Picture_new_for_resource(resource_path) - elseif filename !== nothing - img = G_.Picture_new_for_filename(filename) +function GtkPicture(filename = nothing) + if filename !== nothing + G_.Picture_new_for_filename(filename) else - img = G_.Picture_new() + G_.Picture_new() end - return img end ## GtkLevelBar diff --git a/src/gen/gdkpixbuf_structs b/src/gen/gdkpixbuf_structs index ca141797..0c82f72d 100644 --- a/src/gen/gdkpixbuf_structs +++ b/src/gen/gdkpixbuf_structs @@ -74,9 +74,7 @@ $(Expr(:toplevel, quote local kwargs function GdkPixbufLeaf(args...; kwargs...) w = GdkPixbuf(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GdkPixbuf] = GdkPixbufLeaf @@ -99,9 +97,7 @@ $(Expr(:toplevel, quote local kwargs function GdkPixbufAnimationLeaf(args...; kwargs...) w = GdkPixbufAnimation(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GdkPixbufAnimation] = GdkPixbufAnimationLeaf @@ -124,9 +120,7 @@ $(Expr(:toplevel, quote local kwargs function GdkPixbufAnimationIterLeaf(args...; kwargs...) w = GdkPixbufAnimationIter(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GdkPixbufAnimationIter] = GdkPixbufAnimationIterLeaf @@ -149,9 +143,7 @@ $(Expr(:toplevel, quote local kwargs function GdkPixbufLoaderLeaf(args...; kwargs...) w = GdkPixbufLoader(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GdkPixbufLoader] = GdkPixbufLoaderLeaf @@ -174,9 +166,7 @@ $(Expr(:toplevel, quote local kwargs function GdkPixbufNonAnimLeaf(args...; kwargs...) w = GdkPixbufNonAnim(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GdkPixbufNonAnim] = GdkPixbufNonAnimLeaf @@ -199,9 +189,7 @@ $(Expr(:toplevel, quote local kwargs function GdkPixbufSimpleAnimLeaf(args...; kwargs...) w = GdkPixbufSimpleAnim(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GdkPixbufSimpleAnim] = GdkPixbufSimpleAnimLeaf @@ -224,9 +212,7 @@ $(Expr(:toplevel, quote local kwargs function GdkPixbufSimpleAnimIterLeaf(args...; kwargs...) w = GdkPixbufSimpleAnimIter(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GdkPixbufSimpleAnimIter] = GdkPixbufSimpleAnimIterLeaf diff --git a/src/gen/gio_structs b/src/gen/gio_structs index 4ac9741f..7b2a37cf 100644 --- a/src/gen/gio_structs +++ b/src/gen/gio_structs @@ -210,9 +210,7 @@ $(Expr(:toplevel, quote local kwargs function GAppInfoMonitorLeaf(args...; kwargs...) w = GAppInfoMonitor(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GAppInfoMonitor] = GAppInfoMonitorLeaf @@ -235,9 +233,7 @@ $(Expr(:toplevel, quote local kwargs function GAppLaunchContextLeaf(args...; kwargs...) w = GAppLaunchContext(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GAppLaunchContext] = GAppLaunchContextLeaf @@ -260,9 +256,7 @@ $(Expr(:toplevel, quote local kwargs function GApplicationLeaf(args...; kwargs...) w = GApplication(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GApplication] = GApplicationLeaf @@ -285,9 +279,7 @@ $(Expr(:toplevel, quote local kwargs function GApplicationCommandLineLeaf(args...; kwargs...) w = GApplicationCommandLine(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GApplicationCommandLine] = GApplicationCommandLineLeaf @@ -310,9 +302,7 @@ $(Expr(:toplevel, quote local kwargs function GInputStreamLeaf(args...; kwargs...) w = GInputStream(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GInputStream] = GInputStreamLeaf @@ -335,9 +325,7 @@ $(Expr(:toplevel, quote local kwargs function GFilterInputStreamLeaf(args...; kwargs...) w = GFilterInputStream(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GFilterInputStream] = GFilterInputStreamLeaf @@ -360,9 +348,7 @@ $(Expr(:toplevel, quote local kwargs function GBufferedInputStreamLeaf(args...; kwargs...) w = GBufferedInputStream(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GBufferedInputStream] = GBufferedInputStreamLeaf @@ -385,9 +371,7 @@ $(Expr(:toplevel, quote local kwargs function GOutputStreamLeaf(args...; kwargs...) w = GOutputStream(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GOutputStream] = GOutputStreamLeaf @@ -410,9 +394,7 @@ $(Expr(:toplevel, quote local kwargs function GFilterOutputStreamLeaf(args...; kwargs...) w = GFilterOutputStream(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GFilterOutputStream] = GFilterOutputStreamLeaf @@ -435,9 +417,7 @@ $(Expr(:toplevel, quote local kwargs function GBufferedOutputStreamLeaf(args...; kwargs...) w = GBufferedOutputStream(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GBufferedOutputStream] = GBufferedOutputStreamLeaf @@ -460,9 +440,7 @@ $(Expr(:toplevel, quote local kwargs function GBytesIconLeaf(args...; kwargs...) w = GBytesIcon(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GBytesIcon] = GBytesIconLeaf @@ -485,9 +463,7 @@ $(Expr(:toplevel, quote local kwargs function GCancellableLeaf(args...; kwargs...) w = GCancellable(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GCancellable] = GCancellableLeaf @@ -510,9 +486,7 @@ $(Expr(:toplevel, quote local kwargs function GCharsetConverterLeaf(args...; kwargs...) w = GCharsetConverter(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GCharsetConverter] = GCharsetConverterLeaf @@ -535,9 +509,7 @@ $(Expr(:toplevel, quote local kwargs function GConverterInputStreamLeaf(args...; kwargs...) w = GConverterInputStream(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GConverterInputStream] = GConverterInputStreamLeaf @@ -560,9 +532,7 @@ $(Expr(:toplevel, quote local kwargs function GConverterOutputStreamLeaf(args...; kwargs...) w = GConverterOutputStream(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GConverterOutputStream] = GConverterOutputStreamLeaf @@ -585,9 +555,7 @@ $(Expr(:toplevel, quote local kwargs function GCredentialsLeaf(args...; kwargs...) w = GCredentials(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GCredentials] = GCredentialsLeaf @@ -610,9 +578,7 @@ $(Expr(:toplevel, quote local kwargs function GDBusActionGroupLeaf(args...; kwargs...) w = GDBusActionGroup(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GDBusActionGroup] = GDBusActionGroupLeaf @@ -635,9 +601,7 @@ $(Expr(:toplevel, quote local kwargs function GDBusAuthObserverLeaf(args...; kwargs...) w = GDBusAuthObserver(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GDBusAuthObserver] = GDBusAuthObserverLeaf @@ -660,9 +624,7 @@ $(Expr(:toplevel, quote local kwargs function GDBusConnectionLeaf(args...; kwargs...) w = GDBusConnection(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GDBusConnection] = GDBusConnectionLeaf @@ -685,9 +647,7 @@ $(Expr(:toplevel, quote local kwargs function GDBusInterfaceSkeletonLeaf(args...; kwargs...) w = GDBusInterfaceSkeleton(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GDBusInterfaceSkeleton] = GDBusInterfaceSkeletonLeaf @@ -710,9 +670,7 @@ $(Expr(:toplevel, quote local kwargs function GMenuModelLeaf(args...; kwargs...) w = GMenuModel(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GMenuModel] = GMenuModelLeaf @@ -735,9 +693,7 @@ $(Expr(:toplevel, quote local kwargs function GDBusMenuModelLeaf(args...; kwargs...) w = GDBusMenuModel(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GDBusMenuModel] = GDBusMenuModelLeaf @@ -760,9 +716,7 @@ $(Expr(:toplevel, quote local kwargs function GDBusMessageLeaf(args...; kwargs...) w = GDBusMessage(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GDBusMessage] = GDBusMessageLeaf @@ -785,9 +739,7 @@ $(Expr(:toplevel, quote local kwargs function GDBusMethodInvocationLeaf(args...; kwargs...) w = GDBusMethodInvocation(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GDBusMethodInvocation] = GDBusMethodInvocationLeaf @@ -810,9 +762,7 @@ $(Expr(:toplevel, quote local kwargs function GDBusObjectManagerClientLeaf(args...; kwargs...) w = GDBusObjectManagerClient(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GDBusObjectManagerClient] = GDBusObjectManagerClientLeaf @@ -835,9 +785,7 @@ $(Expr(:toplevel, quote local kwargs function GDBusObjectManagerServerLeaf(args...; kwargs...) w = GDBusObjectManagerServer(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GDBusObjectManagerServer] = GDBusObjectManagerServerLeaf @@ -860,9 +808,7 @@ $(Expr(:toplevel, quote local kwargs function GDBusObjectProxyLeaf(args...; kwargs...) w = GDBusObjectProxy(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GDBusObjectProxy] = GDBusObjectProxyLeaf @@ -885,9 +831,7 @@ $(Expr(:toplevel, quote local kwargs function GDBusObjectSkeletonLeaf(args...; kwargs...) w = GDBusObjectSkeleton(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GDBusObjectSkeleton] = GDBusObjectSkeletonLeaf @@ -910,9 +854,7 @@ $(Expr(:toplevel, quote local kwargs function GDBusProxyLeaf(args...; kwargs...) w = GDBusProxy(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GDBusProxy] = GDBusProxyLeaf @@ -935,9 +877,7 @@ $(Expr(:toplevel, quote local kwargs function GDBusServerLeaf(args...; kwargs...) w = GDBusServer(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GDBusServer] = GDBusServerLeaf @@ -960,9 +900,7 @@ $(Expr(:toplevel, quote local kwargs function GDataInputStreamLeaf(args...; kwargs...) w = GDataInputStream(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GDataInputStream] = GDataInputStreamLeaf @@ -985,9 +923,7 @@ $(Expr(:toplevel, quote local kwargs function GDataOutputStreamLeaf(args...; kwargs...) w = GDataOutputStream(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GDataOutputStream] = GDataOutputStreamLeaf @@ -1010,9 +946,7 @@ $(Expr(:toplevel, quote local kwargs function GDesktopAppInfoLeaf(args...; kwargs...) w = GDesktopAppInfo(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GDesktopAppInfo] = GDesktopAppInfoLeaf @@ -1035,9 +969,7 @@ $(Expr(:toplevel, quote local kwargs function GEmblemLeaf(args...; kwargs...) w = GEmblem(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GEmblem] = GEmblemLeaf @@ -1060,9 +992,7 @@ $(Expr(:toplevel, quote local kwargs function GEmblemedIconLeaf(args...; kwargs...) w = GEmblemedIcon(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GEmblemedIcon] = GEmblemedIconLeaf @@ -1085,9 +1015,7 @@ $(Expr(:toplevel, quote local kwargs function GFileEnumeratorLeaf(args...; kwargs...) w = GFileEnumerator(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GFileEnumerator] = GFileEnumeratorLeaf @@ -1110,9 +1038,7 @@ $(Expr(:toplevel, quote local kwargs function GIOStreamLeaf(args...; kwargs...) w = GIOStream(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GIOStream] = GIOStreamLeaf @@ -1135,9 +1061,7 @@ $(Expr(:toplevel, quote local kwargs function GFileIOStreamLeaf(args...; kwargs...) w = GFileIOStream(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GFileIOStream] = GFileIOStreamLeaf @@ -1160,9 +1084,7 @@ $(Expr(:toplevel, quote local kwargs function GFileIconLeaf(args...; kwargs...) w = GFileIcon(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GFileIcon] = GFileIconLeaf @@ -1185,9 +1107,7 @@ $(Expr(:toplevel, quote local kwargs function GFileInfoLeaf(args...; kwargs...) w = GFileInfo(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GFileInfo] = GFileInfoLeaf @@ -1210,9 +1130,7 @@ $(Expr(:toplevel, quote local kwargs function GFileInputStreamLeaf(args...; kwargs...) w = GFileInputStream(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GFileInputStream] = GFileInputStreamLeaf @@ -1235,9 +1153,7 @@ $(Expr(:toplevel, quote local kwargs function GFileMonitorLeaf(args...; kwargs...) w = GFileMonitor(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GFileMonitor] = GFileMonitorLeaf @@ -1260,9 +1176,7 @@ $(Expr(:toplevel, quote local kwargs function GFileOutputStreamLeaf(args...; kwargs...) w = GFileOutputStream(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GFileOutputStream] = GFileOutputStreamLeaf @@ -1285,9 +1199,7 @@ $(Expr(:toplevel, quote local kwargs function GFilenameCompleterLeaf(args...; kwargs...) w = GFilenameCompleter(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GFilenameCompleter] = GFilenameCompleterLeaf @@ -1310,9 +1222,7 @@ $(Expr(:toplevel, quote local kwargs function GIOModuleLeaf(args...; kwargs...) w = GIOModule(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GIOModule] = GIOModuleLeaf @@ -1335,9 +1245,7 @@ $(Expr(:toplevel, quote local kwargs function GInetAddressLeaf(args...; kwargs...) w = GInetAddress(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GInetAddress] = GInetAddressLeaf @@ -1360,9 +1268,7 @@ $(Expr(:toplevel, quote local kwargs function GInetAddressMaskLeaf(args...; kwargs...) w = GInetAddressMask(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GInetAddressMask] = GInetAddressMaskLeaf @@ -1385,9 +1291,7 @@ $(Expr(:toplevel, quote local kwargs function GSocketAddressLeaf(args...; kwargs...) w = GSocketAddress(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GSocketAddress] = GSocketAddressLeaf @@ -1410,9 +1314,7 @@ $(Expr(:toplevel, quote local kwargs function GInetSocketAddressLeaf(args...; kwargs...) w = GInetSocketAddress(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GInetSocketAddress] = GInetSocketAddressLeaf @@ -1435,9 +1337,7 @@ $(Expr(:toplevel, quote local kwargs function GListStoreLeaf(args...; kwargs...) w = GListStore(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GListStore] = GListStoreLeaf @@ -1460,9 +1360,7 @@ $(Expr(:toplevel, quote local kwargs function GMemoryInputStreamLeaf(args...; kwargs...) w = GMemoryInputStream(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GMemoryInputStream] = GMemoryInputStreamLeaf @@ -1485,9 +1383,7 @@ $(Expr(:toplevel, quote local kwargs function GMemoryOutputStreamLeaf(args...; kwargs...) w = GMemoryOutputStream(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GMemoryOutputStream] = GMemoryOutputStreamLeaf @@ -1510,9 +1406,7 @@ $(Expr(:toplevel, quote local kwargs function GMenuLeaf(args...; kwargs...) w = GMenu(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GMenu] = GMenuLeaf @@ -1535,9 +1429,7 @@ $(Expr(:toplevel, quote local kwargs function GMenuAttributeIterLeaf(args...; kwargs...) w = GMenuAttributeIter(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GMenuAttributeIter] = GMenuAttributeIterLeaf @@ -1560,9 +1452,7 @@ $(Expr(:toplevel, quote local kwargs function GMenuItemLeaf(args...; kwargs...) w = GMenuItem(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GMenuItem] = GMenuItemLeaf @@ -1585,9 +1475,7 @@ $(Expr(:toplevel, quote local kwargs function GMenuLinkIterLeaf(args...; kwargs...) w = GMenuLinkIter(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GMenuLinkIter] = GMenuLinkIterLeaf @@ -1610,9 +1498,7 @@ $(Expr(:toplevel, quote local kwargs function GMountOperationLeaf(args...; kwargs...) w = GMountOperation(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GMountOperation] = GMountOperationLeaf @@ -1635,9 +1521,7 @@ $(Expr(:toplevel, quote local kwargs function GNativeSocketAddressLeaf(args...; kwargs...) w = GNativeSocketAddress(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GNativeSocketAddress] = GNativeSocketAddressLeaf @@ -1660,9 +1544,7 @@ $(Expr(:toplevel, quote local kwargs function GVolumeMonitorLeaf(args...; kwargs...) w = GVolumeMonitor(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GVolumeMonitor] = GVolumeMonitorLeaf @@ -1685,9 +1567,7 @@ $(Expr(:toplevel, quote local kwargs function GNativeVolumeMonitorLeaf(args...; kwargs...) w = GNativeVolumeMonitor(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GNativeVolumeMonitor] = GNativeVolumeMonitorLeaf @@ -1710,9 +1590,7 @@ $(Expr(:toplevel, quote local kwargs function GNetworkAddressLeaf(args...; kwargs...) w = GNetworkAddress(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GNetworkAddress] = GNetworkAddressLeaf @@ -1735,9 +1613,7 @@ $(Expr(:toplevel, quote local kwargs function GNetworkServiceLeaf(args...; kwargs...) w = GNetworkService(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GNetworkService] = GNetworkServiceLeaf @@ -1760,9 +1636,7 @@ $(Expr(:toplevel, quote local kwargs function GNotificationLeaf(args...; kwargs...) w = GNotification(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GNotification] = GNotificationLeaf @@ -1785,9 +1659,7 @@ $(Expr(:toplevel, quote local kwargs function GPermissionLeaf(args...; kwargs...) w = GPermission(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GPermission] = GPermissionLeaf @@ -1810,9 +1682,7 @@ $(Expr(:toplevel, quote local kwargs function GPropertyActionLeaf(args...; kwargs...) w = GPropertyAction(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GPropertyAction] = GPropertyActionLeaf @@ -1835,9 +1705,7 @@ $(Expr(:toplevel, quote local kwargs function GProxyAddressLeaf(args...; kwargs...) w = GProxyAddress(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GProxyAddress] = GProxyAddressLeaf @@ -1860,9 +1728,7 @@ $(Expr(:toplevel, quote local kwargs function GSocketAddressEnumeratorLeaf(args...; kwargs...) w = GSocketAddressEnumerator(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GSocketAddressEnumerator] = GSocketAddressEnumeratorLeaf @@ -1885,9 +1751,7 @@ $(Expr(:toplevel, quote local kwargs function GProxyAddressEnumeratorLeaf(args...; kwargs...) w = GProxyAddressEnumerator(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GProxyAddressEnumerator] = GProxyAddressEnumeratorLeaf @@ -1910,9 +1774,7 @@ $(Expr(:toplevel, quote local kwargs function GResolverLeaf(args...; kwargs...) w = GResolver(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GResolver] = GResolverLeaf @@ -1935,9 +1797,7 @@ $(Expr(:toplevel, quote local kwargs function GSettingsLeaf(args...; kwargs...) w = GSettings(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GSettings] = GSettingsLeaf @@ -1960,9 +1820,7 @@ $(Expr(:toplevel, quote local kwargs function GSettingsBackendLeaf(args...; kwargs...) w = GSettingsBackend(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GSettingsBackend] = GSettingsBackendLeaf @@ -1985,9 +1843,7 @@ $(Expr(:toplevel, quote local kwargs function GSimpleActionLeaf(args...; kwargs...) w = GSimpleAction(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GSimpleAction] = GSimpleActionLeaf @@ -2010,9 +1866,7 @@ $(Expr(:toplevel, quote local kwargs function GSimpleActionGroupLeaf(args...; kwargs...) w = GSimpleActionGroup(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GSimpleActionGroup] = GSimpleActionGroupLeaf @@ -2035,9 +1889,7 @@ $(Expr(:toplevel, quote local kwargs function GSimpleAsyncResultLeaf(args...; kwargs...) w = GSimpleAsyncResult(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GSimpleAsyncResult] = GSimpleAsyncResultLeaf @@ -2060,9 +1912,7 @@ $(Expr(:toplevel, quote local kwargs function GSimpleIOStreamLeaf(args...; kwargs...) w = GSimpleIOStream(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GSimpleIOStream] = GSimpleIOStreamLeaf @@ -2085,9 +1935,7 @@ $(Expr(:toplevel, quote local kwargs function GSimplePermissionLeaf(args...; kwargs...) w = GSimplePermission(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GSimplePermission] = GSimplePermissionLeaf @@ -2110,9 +1958,7 @@ $(Expr(:toplevel, quote local kwargs function GSimpleProxyResolverLeaf(args...; kwargs...) w = GSimpleProxyResolver(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GSimpleProxyResolver] = GSimpleProxyResolverLeaf @@ -2135,9 +1981,7 @@ $(Expr(:toplevel, quote local kwargs function GSocketLeaf(args...; kwargs...) w = GSocket(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GSocket] = GSocketLeaf @@ -2160,9 +2004,7 @@ $(Expr(:toplevel, quote local kwargs function GSocketClientLeaf(args...; kwargs...) w = GSocketClient(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GSocketClient] = GSocketClientLeaf @@ -2185,9 +2027,7 @@ $(Expr(:toplevel, quote local kwargs function GSocketConnectionLeaf(args...; kwargs...) w = GSocketConnection(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GSocketConnection] = GSocketConnectionLeaf @@ -2210,9 +2050,7 @@ $(Expr(:toplevel, quote local kwargs function GSocketControlMessageLeaf(args...; kwargs...) w = GSocketControlMessage(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GSocketControlMessage] = GSocketControlMessageLeaf @@ -2235,9 +2073,7 @@ $(Expr(:toplevel, quote local kwargs function GSocketListenerLeaf(args...; kwargs...) w = GSocketListener(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GSocketListener] = GSocketListenerLeaf @@ -2260,9 +2096,7 @@ $(Expr(:toplevel, quote local kwargs function GSocketServiceLeaf(args...; kwargs...) w = GSocketService(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GSocketService] = GSocketServiceLeaf @@ -2285,9 +2119,7 @@ $(Expr(:toplevel, quote local kwargs function GSubprocessLeaf(args...; kwargs...) w = GSubprocess(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GSubprocess] = GSubprocessLeaf @@ -2310,9 +2142,7 @@ $(Expr(:toplevel, quote local kwargs function GSubprocessLauncherLeaf(args...; kwargs...) w = GSubprocessLauncher(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GSubprocessLauncher] = GSubprocessLauncherLeaf @@ -2335,9 +2165,7 @@ $(Expr(:toplevel, quote local kwargs function GTaskLeaf(args...; kwargs...) w = GTask(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GTask] = GTaskLeaf @@ -2360,9 +2188,7 @@ $(Expr(:toplevel, quote local kwargs function GTcpConnectionLeaf(args...; kwargs...) w = GTcpConnection(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GTcpConnection] = GTcpConnectionLeaf @@ -2385,9 +2211,7 @@ $(Expr(:toplevel, quote local kwargs function GTcpWrapperConnectionLeaf(args...; kwargs...) w = GTcpWrapperConnection(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GTcpWrapperConnection] = GTcpWrapperConnectionLeaf @@ -2410,9 +2234,7 @@ $(Expr(:toplevel, quote local kwargs function GTestDBusLeaf(args...; kwargs...) w = GTestDBus(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GTestDBus] = GTestDBusLeaf @@ -2435,9 +2257,7 @@ $(Expr(:toplevel, quote local kwargs function GThemedIconLeaf(args...; kwargs...) w = GThemedIcon(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GThemedIcon] = GThemedIconLeaf @@ -2460,9 +2280,7 @@ $(Expr(:toplevel, quote local kwargs function GThreadedSocketServiceLeaf(args...; kwargs...) w = GThreadedSocketService(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GThreadedSocketService] = GThreadedSocketServiceLeaf @@ -2485,9 +2303,7 @@ $(Expr(:toplevel, quote local kwargs function GTlsCertificateLeaf(args...; kwargs...) w = GTlsCertificate(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GTlsCertificate] = GTlsCertificateLeaf @@ -2510,9 +2326,7 @@ $(Expr(:toplevel, quote local kwargs function GTlsConnectionLeaf(args...; kwargs...) w = GTlsConnection(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GTlsConnection] = GTlsConnectionLeaf @@ -2535,9 +2349,7 @@ $(Expr(:toplevel, quote local kwargs function GTlsDatabaseLeaf(args...; kwargs...) w = GTlsDatabase(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GTlsDatabase] = GTlsDatabaseLeaf @@ -2560,9 +2372,7 @@ $(Expr(:toplevel, quote local kwargs function GTlsInteractionLeaf(args...; kwargs...) w = GTlsInteraction(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GTlsInteraction] = GTlsInteractionLeaf @@ -2585,9 +2395,7 @@ $(Expr(:toplevel, quote local kwargs function GTlsPasswordLeaf(args...; kwargs...) w = GTlsPassword(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GTlsPassword] = GTlsPasswordLeaf @@ -2610,9 +2418,7 @@ $(Expr(:toplevel, quote local kwargs function GUnixConnectionLeaf(args...; kwargs...) w = GUnixConnection(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GUnixConnection] = GUnixConnectionLeaf @@ -2635,9 +2441,7 @@ $(Expr(:toplevel, quote local kwargs function GUnixCredentialsMessageLeaf(args...; kwargs...) w = GUnixCredentialsMessage(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GUnixCredentialsMessage] = GUnixCredentialsMessageLeaf @@ -2660,9 +2464,7 @@ $(Expr(:toplevel, quote local kwargs function GVfsLeaf(args...; kwargs...) w = GVfs(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GVfs] = GVfsLeaf @@ -2685,9 +2487,7 @@ $(Expr(:toplevel, quote local kwargs function GZlibCompressorLeaf(args...; kwargs...) w = GZlibCompressor(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GZlibCompressor] = GZlibCompressorLeaf @@ -2710,9 +2510,7 @@ $(Expr(:toplevel, quote local kwargs function GZlibDecompressorLeaf(args...; kwargs...) w = GZlibDecompressor(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GZlibDecompressor] = GZlibDecompressorLeaf diff --git a/src/gen/gobject_structs b/src/gen/gobject_structs index 8e7b5fea..f4b48579 100644 --- a/src/gen/gobject_structs +++ b/src/gen/gobject_structs @@ -190,9 +190,7 @@ $(Expr(:toplevel, quote local kwargs function GBindingLeaf(args...; kwargs...) w = GBinding(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GBinding] = GBindingLeaf @@ -215,9 +213,7 @@ $(Expr(:toplevel, quote local kwargs function GBindingGroupLeaf(args...; kwargs...) w = GBindingGroup(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GBindingGroup] = GBindingGroupLeaf @@ -240,9 +236,7 @@ $(Expr(:toplevel, quote local kwargs function GInitiallyUnownedLeaf(args...; kwargs...) w = GInitiallyUnowned(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GInitiallyUnowned] = GInitiallyUnownedLeaf @@ -265,9 +259,7 @@ $(Expr(:toplevel, quote local kwargs function GTypeModuleLeaf(args...; kwargs...) w = GTypeModule(args...) - for (kw, val) = kwargs - set_gtk_property!(w, kw, val) - end + setproperties!(w; kwargs...) w end gtype_wrapper_cache[:GTypeModule] = GTypeModuleLeaf diff --git a/test/gdkpixbuf.jl b/test/gdkpixbuf.jl index 28336339..754baecb 100644 --- a/test/gdkpixbuf.jl +++ b/test/gdkpixbuf.jl @@ -13,6 +13,6 @@ end icon = Matrix{GdkPixbufLib.RGBA}(undef, 40, 20) fill!(icon, GdkPixbufLib.RGBA(0,0xff,0, 0xff)) icon[5:end-5, 3:end-3] .= Ref(GdkPixbufLib.RGBA(0,0,0xff,0x80)) -pb=GdkPixbuf(data=icon, has_alpha=true) +pb=GdkPixbuf(icon, true) @test eltype(pb) == GdkPixbufLib.RGBA end diff --git a/test/gui.jl b/test/gui.jl index 3ec8f92a..f100694d 100644 --- a/test/gui.jl +++ b/test/gui.jl @@ -217,7 +217,7 @@ end icon = Matrix{GdkPixbufLib.RGB}(undef, 40, 20) fill!(icon, GdkPixbufLib.RGB(0,0xff,0)) icon[5:end-5, 3:end-3] .= Ref(GdkPixbufLib.RGB(0,0,0xff)) -pb=GdkPixbuf(data=icon, has_alpha=false) +pb=GdkPixbuf(icon, false) @test eltype(pb) == GdkPixbufLib.RGB @test size(pb) == (40, 20) @test pb[1,1].g==0xff @@ -255,7 +255,7 @@ pic = GtkPicture() icon = Matrix{GdkPixbufLib.RGB}(undef, 40, 20) fill!(icon, GdkPixbufLib.RGB(0,0xff,0)) icon[5:end-5, 3:end-3] .= Ref(GdkPixbufLib.RGB(0,0,0xff)) -pb=GdkPixbuf(width=100, height=100, has_alpha=false) +pb=GdkPixbuf(100, 100, false) Gtk4.pixbuf(pic, pb) pic2 = GtkPicture(pb)