Module: Gtk::BuilderScope

Defined in:
(unknown)

Overview

GtkBuilderScope is an interface to provide language binding support to GtkBuilder.

The goal of GtkBuilderScope is to look up programming-language-specific values for strings that are given in a GtkBuilder UI file.

The primary intended audience is bindings that want to provide deeper integration of GtkBuilder into the language.

A GtkBuilderScope instance may be used with multiple GtkBuilder objects, even at once.

By default, GTK will use its own implementation of GtkBuilderScope for the C language which can be created via [ctorGtk.BuilderCScope.new].

If you implement GtkBuilderScope for a language binding, you may want to (partially) derive from or fall back to a [classGtk.BuilderCScope], as that class implements support for automatic lookups from C symbols.

Instance Method Summary collapse

Instance Method Details

#create_closure(builder, function_name, flags, object) ⇒ GObject::Closure

Create a closure with the given arguments. See gtk_builder_create_closure() for more details on those. The C implementation will try to use dlsym() to locate the function name and then g_cclosure_new() to create a closure for the symbol. The default implementation just fails and returns nil.

Parameters:

Returns:

  • (GObject::Closure)

#get_type_from_function(builder, function_name) ⇒ GLib::Type

Try to lookup a GType via the given function name, specified explicitly in a GtkBuilder file, like via the "type-func" attribute in the <object> tag. This function is very rarely used. The C implementation will use dlsym() and call the resulting function as a GTypeFunc. The default implementation will fail and just return %G_TYPE_INVALID.

Parameters:

Returns:

  • (GLib::Type)

#get_type_from_name(builder, type_name) ⇒ GLib::Type

Try to lookup a GType via the its name. See gtk_builder_get_type_from_name() for more details. The C implementation will use g_type_from_name() and if that fails try to guess the correct function name for registering the type and then use dlsym() to load it. The default implementation just tries g_type_from_name() and otherwise fails.

Parameters:

Returns:

  • (GLib::Type)