]> Pileus Git - ~andy/gtk/blobdiff - docs/reference/gtk/tmpl/gtkexpander.sgml
Make 3.0 parallel-installable to 2.x
[~andy/gtk] / docs / reference / gtk / tmpl / gtkexpander.sgml
index 1fef30256f97a097bbb270f1a3ef074b8679dbd2..402ef58184f99ed5f058c9cb8b33d4f03c39ea0a 100644 (file)
@@ -6,15 +6,92 @@ A container which can hide its child
 
 <!-- ##### 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 &lt;child&gt; element.
+A normal content child can be specified without specifying 
+a &lt;child&gt; 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>
 
@@ -48,6 +125,11 @@ the triangles used in a #GtkTreeView.
 
 </para>
 
+<!-- ##### ARG GtkExpander:use-markup ##### -->
+<para>
+
+</para>
+
 <!-- ##### ARG GtkExpander:use-underline ##### -->
 <para>
 
@@ -153,6 +235,24 @@ the triangles used in a #GtkTreeView.
 @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>