* @Short_description: Interface for objects that can be built by GtkBuilder
* @Title: GtkBuildable
*
- * In order to allow construction from a <link linkend="BUILDER-UI">GtkBuilder
- * UI description</link>, an object class must implement the
- * GtkBuildable interface. The interface includes methods for setting
- * names and properties of objects, parsing custom tags, constructing
- * child objects.
+ * GtkBuildable allows objects to extend and customize thier deserialization
+ * from <link linkend="BUILDER-UI">GtkBuilder UI descriptions</link>.
+ * The interface includes methods for setting names and properties of objects,
+ * parsing custom tags and constructing child objects.
*
* The GtkBuildable interface is implemented by all widgets and
* many of the non-widget objects that are provided by GTK+. The
- * main user of this interface is #GtkBuilder, there should be
+ * main user of this interface is #GtkBuilder. There should be
* very little need for applications to call any
* <function>gtk_buildable_...</function> functions.
+ *
+ * <note><para>An object only needs to implement this interface if it needs
+ * to extend the #GtkBuilder format or run any extra routines at deserialization time</para></note>
*/
#include "config.h"
#include "gtkbuildable.h"
-#include "gtktypeutils.h"
#include "gtkintl.h"
-#include "gtkalias.h"
typedef GtkBuildableIface GtkBuildableInterface;
* @builder: #GtkBuilder used to construct this object
* @name: name of child to construct
*
- * Constructs a child of @buildable with the name @name.
+ * Constructs a child of @buildable with the name @name.
*
* #GtkBuilder calls this function if a "constructor" has been
* specified in the UI definition.
*
- * Returns: the constructed child
+ * Returns: (transfer full): the constructed child
*
* Since: 2.12
**/
* @builder: a #GtkBuilder used to construct this object
* @child: (allow-none): child object or %NULL for non-child tags
* @tagname: name of tag
- * @parser: a #GMarkupParser structure to fill in
- * @data: return location for user data that will be passed in
+ * @parser: (out): a #GMarkupParser structure to fill in
+ * @data: (out): return location for user data that will be passed in
* to parser functions
*
* This is called for each unknown element under <child>.
* @builder: #GtkBuilder used to construct this object
* @child: (allow-none): child object or %NULL for non-child tags
* @tagname: name of tag
- * @data: user data that will be passed in to parser functions
+ * @data: (type gpointer): user data that will be passed in to parser functions
*
* This is called at the end of each custom element handled by
* the buildable.
*
* Get the internal child called @childname of the @buildable object.
*
- * Returns: the internal child of the buildable object
+ * Returns: (transfer none): the internal child of the buildable object
*
* Since: 2.12
**/
return (* iface->get_internal_child) (buildable, builder, childname);
}
-
-#define __GTK_BUILDABLE_C__
-#include "gtkaliasdef.c"