<!-- ##### SECTION Long_Description ##### -->
<para>
-A #GtkExpander allows the user to hide or show its child by clicking on an expander triangle similar to
-the triangles used in a #GtkTreeView.
+A #GtkExpander allows the user to hide or show its child by clicking
+on an expander triangle similar to the triangles used in a #GtkTreeView.
</para>
+<para>
+Normally you use an expander as you would use any other descendant
+of #GtkBin; you create the child widget and use gtk_container_add()
+to add it to the expander. When the expander is toggled, it will take
+care of showing and hiding the child automatically.
+</para>
+
+<section id="expander-special-usage">
+<title>Special Usage</title>
+
+<para>
+There are situations in which you may prefer to show and hide the
+expanded widget yourself, such as when you want to actually create
+the widget at expansion time. In this case, create a #GtkExpander
+but do not add a child to it. The expander widget has an
+<literal>expanded</literal> property which can be used to monitor
+its expansion state. You should watch this property with a signal
+connection as follows:
+</para>
+
+<programlisting id="expander-callback-example">
+expander = gtk_expander_new_with_mnemonic ("_More Options");
+g_signal_connect (expander, "notify::expanded",
+ G_CALLBACK (expander_callback), NULL);
+
+...
+
+static void
+expander_callback (GObject *object,
+ GParamSpec *param_spec,
+ gpointer user_data)
+{
+ GtkExpander *expander;
+
+ expander = GTK_EXPANDER (object);
+
+ if (gtk_expander_get_expanded (expander))
+ {
+ /* Show or create widgets */
+ }
+ else
+ {
+ /* Hide or destroy widgets */
+ }
+}
+</programlisting>
+</section>
+<refsect2 id="GtkExpander-BUILDER-UI">
+<title>GtkExpander as GtkBuildable</title>
+<para>
+The GtkExpander implementation of the GtkBuildable interface
+supports placing a child in the label position by specifying
+"label" as the "type" attribute of a <child> element.
+A normal content child can be specified without specifying
+a <child> type attribute.
+</para>
+<example>
+<title>A UI definition fragment with GtkExpander</title>
+<programlisting><![CDATA[
+<object class="GtkExpander">
+ <child type="label">
+ <object class="GtkLabel" id="expander-label"/>
+ </child>
+ <child>
+ <object class="GtkEntry" id="expander-content"/>
+ </child>
+</object>
+]]></programlisting>
+</example>
+</refsect2>
+
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
<!-- ##### STRUCT GtkExpander ##### -->
<para>
</para>
+<!-- ##### ARG GtkExpander:use-markup ##### -->
+<para>
+
+</para>
+
<!-- ##### ARG GtkExpander:use-underline ##### -->
<para>
@Returns:
+<!-- ##### FUNCTION gtk_expander_set_use_markup ##### -->
+<para>
+
+</para>
+
+@expander:
+@use_markup:
+
+
+<!-- ##### FUNCTION gtk_expander_get_use_markup ##### -->
+<para>
+
+</para>
+
+@expander:
+@Returns:
+
+
<!-- ##### FUNCTION gtk_expander_set_label_widget ##### -->
<para>