:right-sidebar: True BuilderScope =================================================================== .. currentmodule:: gi.repository.Gtk .. class:: BuilderScope(*args, **kwargs) :no-contents-entry: Implementations: :class:`~gi.repository.Gtk.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 :obj:`~gi.repository.Gtk.BuilderCScope.new`. If you implement ``GtkBuilderScope`` for a language binding, you may want to (partially) derive from or fall back to a :obj:`~gi.repository.Gtk.BuilderCScope`, as that class implements support for automatic lookups from C symbols. Virtual Methods --------------- .. rst-class:: interim-class .. class:: BuilderScope :no-index: .. method:: do_create_closure(builder: ~gi.repository.Gtk.Builder, function_name: str, flags: ~gi.repository.Gtk.BuilderClosureFlags, object: ~gi.repository.GObject.Object) -> ~typing.Callable[[...], ~typing.Any] Create a closure with the given arguments. See :func:`~gi.repository.Gtk.Builder.create_closure` for more details on those. The C implementation will try to use dlsym() to locate the function name and then :func:`~gi.repository.GObject.CClosure.new` to create a closure for the symbol. The default implementation just fails and returns :const:`None`. :param builder: :param function_name: :param flags: :param object: .. method:: do_get_type_from_function(builder: ~gi.repository.Gtk.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 ```` 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 ``Invalid``. :param builder: :param function_name: .. method:: do_get_type_from_name(builder: ~gi.repository.Gtk.Builder, type_name: str) -> type Try to lookup a ``GType`` via the its name. See :func:`~gi.repository.Gtk.Builder.get_type_from_name` for more details. The C implementation will use :func:`~gi.repository.GObject.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 :func:`~gi.repository.GObject.type_from_name` and otherwise fails. :param builder: :param type_name: