BuilderScope
- class BuilderScope(*args, **kwargs)
Implementations: BuilderCScope
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 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) Callable[[...], Any]
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) 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 aGTypeFunc
. The default implementation will fail and just returnInvalid
.- Parameters:
builder
function_name
- do_get_type_from_name(builder: Builder, type_name: str) type
Try to lookup a
GType
via 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