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
-
#create_closure(builder, function_name, flags, object) ⇒ GObject::Closure
Create a closure with the given arguments.
-
#get_type_from_function(builder, function_name) ⇒ GLib::Type
Try to lookup a
GTypevia the given function name, specified explicitly in a GtkBuilder file, like via the "type-func" attribute in the<object>tag. -
#get_type_from_name(builder, type_name) ⇒ GLib::Type
Try to lookup a
GTypevia the its name.
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.
#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.
#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.