Interface BuilderScope

All Superinterfaces:
Proxy
All Known Implementing Classes:
BuilderCScope, BuilderJavaScope, BuilderScope.BuilderScope$Impl

@Generated("org.javagi.JavaGI") public interface BuilderScope extends Proxy

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 BuilderCScope().

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.

  • Method Details

    • getType

      static @Nullable Type getType()
      Get the GType of the BuilderScope class.
      Returns:
      the GType
    • createClosure

      default Closure createClosure(GtkBuilder builder, String functionName, Set<BuilderClosureFlags> flags, GObject object) throws GErrorException
      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 null.
      Throws:
      GErrorException - see GError
    • getTypeFromFunction

      default Type getTypeFromFunction(GtkBuilder builder, String functionName)
      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.
    • getTypeFromName

      default Type getTypeFromName(GtkBuilder builder, String typeName)
      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.