X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtkbuildable.c;h=8867cfd333d41d5eba01ceb227595ab776b41af6;hb=HEAD;hp=d1748f65ed748aa5b6efb83574fc12393ae159de;hpb=3060ce7ddc6a6b519b5c49c759a3749b30226a2a;p=~andy%2Fgtk
diff --git a/gtk/gtkbuildable.c b/gtk/gtkbuildable.c
index d1748f65e..8867cfd33 100644
--- a/gtk/gtkbuildable.c
+++ b/gtk/gtkbuildable.c
@@ -13,30 +13,40 @@
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * License along with this library. If not, see .
*/
+/**
+ * SECTION:gtkbuildable
+ * @Short_description: Interface for objects that can be built by GtkBuilder
+ * @Title: GtkBuildable
+ *
+ * GtkBuildable allows objects to extend and customize their deserialization
+ * from GtkBuilder UI descriptions.
+ * 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
+ * very little need for applications to call any
+ * gtk_buildable_... functions.
+ *
+ * An object only needs to implement this interface if it needs
+ * to extend the #GtkBuilder format or run any extra routines at deserialization time
+ */
-#include
+#include "config.h"
#include "gtkbuildable.h"
-#include "gtktypeutils.h"
#include "gtkintl.h"
-#include "gtkalias.h"
-GType
-gtk_buildable_get_type (void)
-{
- static GType buildable_type = 0;
- if (!buildable_type)
- buildable_type =
- g_type_register_static_simple (G_TYPE_INTERFACE, I_("GtkBuildable"),
- sizeof (GtkBuildableIface),
- NULL, 0, NULL, 0);
+typedef GtkBuildableIface GtkBuildableInterface;
+G_DEFINE_INTERFACE (GtkBuildable, gtk_buildable, G_TYPE_OBJECT)
- return buildable_type;
+static void
+gtk_buildable_default_init (GtkBuildableInterface *iface)
+{
}
/**
@@ -74,7 +84,7 @@ gtk_buildable_set_name (GtkBuildable *buildable,
*
* Gets the name of the @buildable object.
*
- * #GtkBuilder sets the name based on the the
+ * #GtkBuilder sets the name based on the
* GtkBuilder UI definition
* used to construct the @buildable.
*
@@ -103,7 +113,7 @@ gtk_buildable_get_name (GtkBuildable *buildable)
* @buildable: a #GtkBuildable
* @builder: a #GtkBuilder
* @child: child to add
- * @type: kind of child or %NULL
+ * @type: (allow-none): kind of child or %NULL
*
* Adds a child to @buildable. @type is an optional string
* describing how the child should be added.
@@ -191,12 +201,12 @@ gtk_buildable_parser_finished (GtkBuildable *buildable,
* @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
**/
@@ -221,10 +231,10 @@ gtk_buildable_construct_child (GtkBuildable *buildable,
* gtk_buildable_custom_tag_start:
* @buildable: a #GtkBuildable
* @builder: a #GtkBuilder used to construct this object
- * @child: child object or %NULL for non-child tags
+ * @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>.
@@ -259,9 +269,9 @@ gtk_buildable_custom_tag_start (GtkBuildable *buildable,
* gtk_buildable_custom_tag_end:
* @buildable: A #GtkBuildable
* @builder: #GtkBuilder used to construct this object
- * @child: child object or %NULL for non-child tags
+ * @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.
@@ -290,7 +300,7 @@ gtk_buildable_custom_tag_end (GtkBuildable *buildable,
* gtk_buildable_custom_finished:
* @buildable: a #GtkBuildable
* @builder: a #GtkBuilder
- * @child: child object or %NULL for non-child tags
+ * @child: (allow-none): child object or %NULL for non-child tags
* @tagname: the name of the tag
* @data: user data created in custom_tag_start
*
@@ -324,7 +334,7 @@ gtk_buildable_custom_finished (GtkBuildable *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
**/
@@ -345,6 +355,3 @@ gtk_buildable_get_internal_child (GtkBuildable *buildable,
return (* iface->get_internal_child) (buildable, builder, childname);
}
-
-#define __GTK_BUILDABLE_C__
-#include "gtkaliasdef.c"