BuilderScope#
- class BuilderScope(*args, **kwargs)#
Implementations: BuilderCScope
Provides 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 new.
If you implement GtkBuilderScope for a language binding, you
may want to (partially) derive from or fall back to a BuilderCScope,
as that class implements support for automatic lookups from C symbols.
Virtual Methods#
- class BuilderScope
- do_create_closure(builder: Builder, function_name: str, flags: BuilderClosureFlags, object: Object) Closure#
Create a closure with the given arguments. See
create_closure()for more details on those. The C implementation will try to use dlsym() to locate the function name and thennew()to create a closure for the symbol. The default implementation just fails and returnsNone.- Parameters:
builder
function_name
flags
object
- do_get_type_from_function(builder: Builder, function_name: str) GType#
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. This function is very rarely used. The C implementation will use dlsym() and call the resulting function as aGTypeFunc. The default implementation will fail and just returnInvalid.- Parameters:
builder
function_name
- do_get_type_from_name(builder: Builder, type_name: str) GType#
Try to lookup a
GTypevia the its name. Seeget_type_from_name()for more details. The C implementation will usetype_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 triestype_from_name()and otherwise fails.- Parameters:
builder
type_name