[gtk+/composite-templates: 16/17] Removed return value of gtk_builder_expose_object() and added check to notify when the object exist



commit e0ce659f342e8e485a245ea40a34ff37bfbd2720
Author: Juan Pablo Ugarte <juanpablougarte gmail com>
Date:   Mon Dec 10 11:19:26 2012 -0300

    Removed return value of gtk_builder_expose_object()
    and added check to notify when the object exist

 gtk/gtkbuilder.c |   32 +++++++++++---------------------
 gtk/gtkbuilder.h |    2 +-
 2 files changed, 12 insertions(+), 22 deletions(-)
---
diff --git a/gtk/gtkbuilder.c b/gtk/gtkbuilder.c
index 27e3962..f0006db 100644
--- a/gtk/gtkbuilder.c
+++ b/gtk/gtkbuilder.c
@@ -642,7 +642,7 @@ _gtk_builder_construct (GtkBuilder *builder,
 
   if (info->object)
     {
-      /* template_object */
+      /* external_object */
       obj = g_object_ref (info->object);
     }
   else if (info->constructor)
@@ -1305,36 +1305,26 @@ gtk_builder_get_translation_domain (GtkBuilder *builder)
  * other object built by builder.
  *
  * To make this function even more useful a new special entry point element
- * &lt;template&gt; is defined. It is similar to &lt;object&gt; with the only difference
- * it can only be defined as a toplevel element (that is it has to be a child of
- * &lt;interface&gt;) and its id has to reference an external object exposed with this
- * function. This way you can change properties and even add children to an
+ * &lt;external-object&gt; is defined. It is similar to &lt;object&gt; but has 
+ * to reference an external object exposed with this function.
+ * This way you can change properties and even add children to an
  * external object using builder, not just reference it.
- *
- * Returns: True if object was exposed.
  * 
  * Since: 3.8
  **/
-gboolean
+void
 gtk_builder_expose_object (GtkBuilder    *builder,
                            const gchar   *name,
                            GObject       *object)
 {
-  GtkBuilderPrivate *priv;
-
-  g_return_val_if_fail (GTK_IS_BUILDER (builder), FALSE);
-  g_return_val_if_fail (name && name[0], FALSE);
-  g_return_val_if_fail (G_IS_OBJECT (object), FALSE);
-
-  priv = builder->priv;
+  g_return_if_fail (GTK_IS_BUILDER (builder));
+  g_return_if_fail (name && name[0]);
+  g_return_if_fail (gtk_builder_get_object (builder, name) == NULL);
 
-  if (g_hash_table_contains (priv->objects, name))
-    return FALSE;
-    
   object_set_name (object, name);
-  g_hash_table_insert (priv->objects, g_strdup (name), g_object_ref (object));
-
-  return TRUE;
+  g_hash_table_insert (builder->priv->objects,
+                       g_strdup (name),
+                       g_object_ref (object));
 }
 
 
diff --git a/gtk/gtkbuilder.h b/gtk/gtkbuilder.h
index c44dbd4..3338162 100644
--- a/gtk/gtkbuilder.h
+++ b/gtk/gtkbuilder.h
@@ -143,7 +143,7 @@ guint        gtk_builder_add_objects_from_string (GtkBuilder    *builder,
 GObject*     gtk_builder_get_object              (GtkBuilder    *builder,
                                                   const gchar   *name);
 GSList*      gtk_builder_get_objects             (GtkBuilder    *builder);
-gboolean     gtk_builder_expose_object           (GtkBuilder    *builder,
+void         gtk_builder_expose_object           (GtkBuilder    *builder,
                                                   const gchar   *name,
                                                   GObject       *object);
 void         gtk_builder_connect_signals         (GtkBuilder    *builder,



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]