+2005-05-09 Matthias Clasen <mclasen@redhat.com>
+
+ * gobject/tmpl/value_collection.sgml:
+ * gobject/tmpl/gboxed.sgml:
+ * gobject/tmpl/enumerations_flags.sgml:
+ * gobject/tmpl/objects.sgml: Add long descriptions.
+
2005-05-05 Owen Taylor <otaylor@redhat.com>
* glib/Makefile.am glib/glib-sections.txt gobject/gobject-sections.txt:
<!-- ##### SECTION Long_Description ##### -->
<para>
+The GLib type system provides fundamental types for enumeration and flags types. (Flags types
+are like enumerations, but allow their values to be combined by bitwise or). A registered
+enumeration or flags type associates a name and a nickname with each allowed value, and
+the methods g_enum_get_value_by_name(), g_enum_get_value_by_nick(), g_flags_get_value_by_name()
+and g_flags_get_value_by_nick() can look up values by their name or nickname.
+When an enumeration or flags type is registered with the GLib type system, it can
+be used as value type for object properties, using g_param_spec_enum() or
+g_param_spec_flags().
+</para>
+<para>
+GObject ships with a utility called <link linkend="glib-mkenums">glib-mkenums</link> that can
+construct suitable type registration functions from C enumeration definitions.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
-
+#GParamSpecEnum, #GParamSpecFlags, g_param_spec_enum(), g_param_spec_flags(),
+<link linkend="glib-mkenums">glib-mkenums</link>
</para>
<!-- ##### SECTION Stability_Level ##### -->
Registers a new static enumeration type with the name @name.
</para>
<para>
-It is normally more convenient to let
-<link linkend="glib-mkenums">glib-mkenums</link> generate a
-my_enum_get_type() function from a usual C enumeration definition
+It is normally more convenient to let <link linkend="glib-mkenums">glib-mkenums</link>
+generate a my_enum_get_type() function from a usual C enumeration definition
than to write one yourself using g_enum_register_static().
</para>
Registers a new static flags type with the name @name.
</para>
<para>
-It is normally more convenient to let
-<link linkend="glib-mkenums">glib-mkenums</link> generate a
-my_flags_get_type() function from a usual C enumeration definition
+It is normally more convenient to let <link linkend="glib-mkenums">glib-mkenums</link>
+generate a my_flags_get_type() function from a usual C enumeration definition
than to write one yourself using g_flags_register_static().
</para>
<!-- ##### SECTION Long_Description ##### -->
<para>
-
+GBoxed is a generic wrapper mechanism for arbitrary C structures. The only
+thing the type system needs to know about the structures is how to copy and
+free them, beyond that they are treated as opaque chunks of memory.
+</para>
+<para>
+Boxed types are useful for simple value-holder structures like rectangles or
+points. They can also be used for wrapping structures defined in non-GObject
+based libraries.
</para>
<!-- ##### SECTION See_Also ##### -->
<!-- ##### SECTION Long_Description ##### -->
<para>
-
+GObject is the fundamental type providing the common attributes and methods for all object
+types in GTK+, Pango and other libraries based on GObject. The GObject class provides methods
+for object construction and destruction, property access methods, and signal support.
+Signals are described in detail in <xref linkend="gobject-Signals"/>.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
-
+#GParamSpecObject, g_param_spec_object()
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Long_Description ##### -->
<para>
-
+The macros in this section provide the varargs parsing support needed
+in variadic GObject functions such as g_object_new() or g_object_set().
+They currently support the collection of integral types, floating point
+types and pointers.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
-
+#GValueTable
</para>
<!-- ##### SECTION Stability_Level ##### -->
<listitem><para>Generic per-object properties with set/get function pairs</para></listitem>
<listitem><para>Easy use of signals</para></listitem>
</itemizedlist>
- All the GTK+ objects and all of the objects in Gnome libraries which use the glib type
+ All the GTK+ objects and all of the objects in Gnome libraries which use the GLib type
system inherit from <type><link linkend="GObject">GObject</link></type> which is why it is important to understand
the details of how it works.
</para>