[gtk+] [docs] Move documentation to inline comments: GtkBuildable



commit 51e32fe67ab36fe92f727c6e9521168ee9ec93ec
Author: Tadej Borovšak <tadeboro gmail com>
Date:   Thu Mar 4 17:09:36 2010 +0100

    [docs] Move documentation to inline comments: GtkBuildable
    
    Fixes https://bugzilla.gnome.org/show_bug.cgi?id=611741
    
    Signed-off-by: Javier Jardón <jjardon gnome org>

 docs/reference/gtk/tmpl/gtkbuildable.sgml |  193 -----------------------------
 gtk/gtkbuildable.c                        |   17 +++
 gtk/gtkbuildable.h                        |   49 ++++++++
 3 files changed, 66 insertions(+), 193 deletions(-)
---
diff --git a/gtk/gtkbuildable.c b/gtk/gtkbuildable.c
index 299e5b4..68e6f8f 100644
--- a/gtk/gtkbuildable.c
+++ b/gtk/gtkbuildable.c
@@ -18,6 +18,23 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/**
+ * SECTION:gtkbuildable
+ * @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.
+ *
+ * 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
+ * <function>gtk_buildable_...</function> functions.
+ */
 
 #include "config.h"
 #include "gtkbuildable.h"
diff --git a/gtk/gtkbuildable.h b/gtk/gtkbuildable.h
index bff876d..ebd7ac2 100644
--- a/gtk/gtkbuildable.h
+++ b/gtk/gtkbuildable.h
@@ -40,6 +40,55 @@ G_BEGIN_DECLS
 typedef struct _GtkBuildable      GtkBuildable; /* Dummy typedef */
 typedef struct _GtkBuildableIface GtkBuildableIface;
 
+/**
+ * GtkBuildableIface:
+ * @g_iface: the parent class
+ * @set_name: Stores the name attribute given in the GtkBuilder UI definition.
+ *  #GtkWidget stores the name as object data. Implement this method if your
+ *  object has some notion of "name" and it makes sense to map the XML name
+ *  attribute to it.
+ * @get_name: The getter corresponding to @set_name. Implement this
+ *  if you implement @set_name.
+ * @add_child: Adds a child. The @type parameter can be used to
+ *  differentiate the kind of child. #GtkContainer implements this
+ *  to add add a child widget to the container, #GtkNotebook uses
+ *  the @type to distinguish between page labels (of type "page-label")
+ *  and normal children.
+ * @set_buildable_property: Sets a property of a buildable object.
+ *  It is normally not necessary to implement this, g_object_set_property()
+ *  is used by default. #GtkWindow implements this to delay showing itself
+ *  (i.e. setting the #GtkWidget:visible property) until the whole interface
+ *  is created.
+ * @construct_child: Constructs a child of a buildable that has been
+ *  specified as "constructor" in the UI definition. #GtkUIManager implements
+ *  this to reference to a widget created in a &lt;ui&gt; tag which is outside
+ *  of the normal GtkBuilder UI definition hierarchy.  A reference to the
+ *  constructed object is returned and becomes owned by the caller.
+ * @custom_tag_start: Implement this if the buildable needs to parse
+ *  content below &lt;child&gt;. To handle an element, the implementation
+ *  must fill in the @parser structure and @user_data and return %TRUE.
+ *  #GtkWidget implements this to parse keyboard accelerators specified
+ *  in &lt;accelerator&gt; elements. #GtkContainer implements it to map
+ *  properties defined via &lt;packing&gt; elements to child properties.
+ *  Note that @user_data must be freed in @custom_tag_end or @custom_finished.
+ * @custom_tag_end: Called for the end tag of each custom element that is
+ *  handled by the buildable (see @custom_tag_start).
+ * @custom_finished: Called for each custom tag handled by the buildable
+ *  when the builder finishes parsing (see @custom_tag_start)
+ * @parser_finished: Called when a builder finishes the parsing
+ *  of a UI definition. It is normally not necessary to implement this,
+ *  unless you need to perform special cleanup actions. #GtkWindow sets
+ *  the #GtkWidget:visible property here.
+ * @get_internal_child: Returns an internal child of a buildable.
+ *  #GtkDialog implements this to give access to its @vbox, making
+ *  it possible to add children to the vbox in a UI definition.
+ *  Implement this if the buildable has internal children that may
+ *  need to be accessed from a UI definition.
+ *
+ * The GtkBuildableIface interface contains method that are
+ * necessary to allow #GtkBuilder to construct an object from
+ * a GtkBuilder UI definition.
+ */
 struct _GtkBuildableIface
 {
   GTypeInterface g_iface;



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