<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % local.common.attrib "xmlns:xi  CDATA  #FIXED 'http://www.w3.org/2003/XInclude'">
<!ENTITY version SYSTEM "version.xml">
<!ENTITY pi "&#960;">
<!ENTITY solidus "&#8260;">
]>
<refentry id="GtkExpander">
<refmeta>
<refentrytitle role="top_of_page" id="GtkExpander.top_of_page">GtkExpander</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>GTK4 Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>GtkExpander</refname>
<refpurpose>A container which can hide its child</refpurpose>
</refnamediv>

<refsect1 id="GtkExpander.functions" role="functions_proto">
<title role="functions_proto.title">Functions</title>
<informaltable pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="functions_proto_type" colwidth="150px"/>
<colspec colname="functions_proto_name"/>
<tbody>
<row><entry role="function_type"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-expander-new">gtk_expander_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-expander-new-with-mnemonic">gtk_expander_new_with_mnemonic</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-expander-set-expanded">gtk_expander_set_expanded</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-expander-get-expanded">gtk_expander_get_expanded</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-expander-set-label">gtk_expander_set_label</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="gchar"><returnvalue>gchar</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-expander-get-label">gtk_expander_get_label</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-expander-set-use-underline">gtk_expander_set_use_underline</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-expander-get-use-underline">gtk_expander_get_use_underline</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-expander-set-use-markup">gtk_expander_set_use_markup</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-expander-get-use-markup">gtk_expander_get_use_markup</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-expander-set-label-widget">gtk_expander_set_label_widget</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-expander-get-label-widget">gtk_expander_get_label_widget</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-expander-set-resize-toplevel">gtk_expander_set_resize_toplevel</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-expander-get-resize-toplevel">gtk_expander_get_resize_toplevel</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-expander-set-child">gtk_expander_set_child</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-expander-get-child">gtk_expander_get_child</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkExpander.properties" role="properties">
<title role="properties.title">Properties</title>
<informaltable frame="none">
<tgroup cols="3">
<colspec colname="properties_type" colwidth="150px"/>
<colspec colname="properties_name" colwidth="300px"/>
<colspec colname="properties_flags" colwidth="200px"/>
<tbody>
<row><entry role="property_type"><link linkend="GtkWidget"><type>GtkWidget</type></link>&#160;*</entry><entry role="property_name"><link linkend="GtkExpander--child">child</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gboolean"><type>gboolean</type></link></entry><entry role="property_name"><link linkend="GtkExpander--expanded">expanded</link></entry><entry role="property_flags">Read / Write / Construct</entry></row>
<row><entry role="property_type"><link linkend="gchar"><type>gchar</type></link>&#160;*</entry><entry role="property_name"><link linkend="GtkExpander--label">label</link></entry><entry role="property_flags">Read / Write / Construct</entry></row>
<row><entry role="property_type"><link linkend="GtkWidget"><type>GtkWidget</type></link>&#160;*</entry><entry role="property_name"><link linkend="GtkExpander--label-widget">label-widget</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gboolean"><type>gboolean</type></link></entry><entry role="property_name"><link linkend="GtkExpander--resize-toplevel">resize-toplevel</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gboolean"><type>gboolean</type></link></entry><entry role="property_name"><link linkend="GtkExpander--use-markup">use-markup</link></entry><entry role="property_flags">Read / Write / Construct</entry></row>
<row><entry role="property_type"><link linkend="gboolean"><type>gboolean</type></link></entry><entry role="property_name"><link linkend="GtkExpander--use-underline">use-underline</link></entry><entry role="property_flags">Read / Write / Construct</entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkExpander.signals" role="signal_proto">
<title role="signal_proto.title">Signals</title>
<informaltable frame="none">
<tgroup cols="3">
<colspec colname="signal_proto_type" colwidth="150px"/>
<colspec colname="signal_proto_name" colwidth="300px"/>
<colspec colname="signal_proto_flags" colwidth="200px"/>
<tbody>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkExpander-activate">activate</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-ACTION:CAPS">Action</link></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkExpander.other" role="other_proto">
<title role="other_proto.title">Types and Values</title>
<informaltable pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="other_proto_type" colwidth="150px"/>
<colspec colname="other_proto_name"/>
<tbody>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="GtkExpander-struct">GtkExpander</link></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkExpander.object-hierarchy" role="object_hierarchy">
<title role="object_hierarchy.title">Object Hierarchy</title>
<screen>    <link linkend="GObject">GObject</link>
    <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> <link linkend="GInitiallyUnowned">GInitiallyUnowned</link>
        <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> <link linkend="GtkWidget">GtkWidget</link>
            <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> GtkExpander
</screen>
</refsect1>
<refsect1 id="GtkExpander.implemented-interfaces" role="impl_interfaces">
<title role="impl_interfaces.title">Implemented Interfaces</title>
<para>
GtkExpander implements
 <link linkend="AtkImplementorIface">AtkImplementorIface</link>,  <link linkend="GtkBuildable">GtkBuildable</link> and  <link linkend="GtkConstraintTarget">GtkConstraintTarget</link>.</para>

</refsect1>

<refsect1 id="GtkExpander.includes"><title>Includes</title><synopsis>#include &lt;gtk/gtk.h&gt;
</synopsis></refsect1>

<refsect1 id="GtkExpander.description" role="desc">
<title role="desc.title">Description</title>
<para>A <link linkend="GtkExpander"><type>GtkExpander</type></link> allows the user to hide or show its child by clicking
on an expander triangle similar to the triangles used in a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.</para>
<para>Normally you use an expander as you would use a frame; you create
the child widget and use <link linkend="gtk-expander-set-child"><function>gtk_expander_set_child()</function></link> to add it to the
expander. When the expander is toggled, it will take care of showing
and hiding the child automatically.</para>
<refsect2><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 <link linkend="GtkExpander"><type>GtkExpander</type></link>
but do not add a child to it. The expander widget has an
<link linkend="GtkExpander--expanded"><type>“expanded”</type></link> property which can be used to monitor
its expansion state. You should watch this property with a signal
connection as follows:</para>
<informalexample><programlisting role="example"><![CDATA[
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
    }
}

static void
create_expander (void)
{
  GtkWidget *expander = gtk_expander_new_with_mnemonic ("_More Options");
  g_signal_connect (expander, "notify::expanded",
                    G_CALLBACK (expander_callback), NULL);

  // ...
}
]]></programlisting></informalexample>
<para></para>
</refsect2>
<refsect2><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> element. A normal content child can be
specified without specifying a &lt;child> type attribute.</para>
<para>An example of a UI definition fragment with GtkExpander:</para>
<informalexample><programlisting role="example"><![CDATA[
<object class="GtkExpander">
  <child type="label">
    <object class="GtkLabel" id="expander-label"/>
  </child>
  <child>
    <object class="GtkEntry" id="expander-content"/>
  </child>
</object>
]]></programlisting></informalexample>
<para></para>
</refsect2>
<refsect2><title>CSS nodes</title><informalexample><programlisting role="example"><![CDATA[
expander
╰── box
    ├── title
    │   ├── arrow
    │   ╰── <label widget>
    ╰── <child>
]]></programlisting></informalexample>
<para></para>
<para>GtkExpander has three CSS nodes, the main node with the name expander,
a subnode with name title and node below it with name arrow. The arrow of an
expander that is showing its child gets the :checked pseudoclass added to it.</para>
</refsect2>

</refsect1>
<refsect1 id="GtkExpander.functions_details" role="details">
<title role="details.title">Functions</title>
<refsect2 id="gtk-expander-new" role="function">
<title>gtk_expander_new&#160;()</title>
<indexterm zone="gtk-expander-new"><primary>gtk_expander_new</primary></indexterm>
<programlisting language="C"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
gtk_expander_new (<parameter>const <link linkend="gchar"><type>gchar</type></link> *label</parameter>);</programlisting>
<para>Creates a new expander using <parameter>label</parameter>
 as the text of the label.</para>
<refsect3 id="gtk-expander-new.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>label</para></entry>
<entry role="parameter_description"><para>the text of the label. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>nullable</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-expander-new.returns" role="returns">
<title>Returns</title>
<para> a new <link linkend="GtkExpander"><type>GtkExpander</type></link> widget.</para>
</refsect3></refsect2>
<refsect2 id="gtk-expander-new-with-mnemonic" role="function">
<title>gtk_expander_new_with_mnemonic&#160;()</title>
<indexterm zone="gtk-expander-new-with-mnemonic"><primary>gtk_expander_new_with_mnemonic</primary></indexterm>
<programlisting language="C"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
gtk_expander_new_with_mnemonic (<parameter>const <link linkend="gchar"><type>gchar</type></link> *label</parameter>);</programlisting>
<para>Creates a new expander using <parameter>label</parameter>
 as the text of the label.
If characters in <parameter>label</parameter>
 are preceded by an underscore, they are underlined.
If you need a literal underscore character in a label, use “__” (two
underscores). The first underlined character represents a keyboard
accelerator called a mnemonic.
Pressing Alt and that key activates the button.</para>
<refsect3 id="gtk-expander-new-with-mnemonic.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>label</para></entry>
<entry role="parameter_description"><para>the text of the label with an underscore
in front of the mnemonic character. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>nullable</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-expander-new-with-mnemonic.returns" role="returns">
<title>Returns</title>
<para> a new <link linkend="GtkExpander"><type>GtkExpander</type></link> widget.</para>
</refsect3></refsect2>
<refsect2 id="gtk-expander-set-expanded" role="function">
<title>gtk_expander_set_expanded&#160;()</title>
<indexterm zone="gtk-expander-set-expanded"><primary>gtk_expander_set_expanded</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_expander_set_expanded (<parameter><link linkend="GtkExpander"><type>GtkExpander</type></link> *expander</parameter>,
                           <parameter><link linkend="gboolean"><type>gboolean</type></link> expanded</parameter>);</programlisting>
<para>Sets the state of the expander. Set to <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>, if you want
the child widget to be revealed, and <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> if you want the
child widget to be hidden.</para>
<refsect3 id="gtk-expander-set-expanded.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>expander</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkExpander"><type>GtkExpander</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>expanded</para></entry>
<entry role="parameter_description"><para>whether the child widget is revealed</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-expander-get-expanded" role="function">
<title>gtk_expander_get_expanded&#160;()</title>
<indexterm zone="gtk-expander-get-expanded"><primary>gtk_expander_get_expanded</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_expander_get_expanded (<parameter><link linkend="GtkExpander"><type>GtkExpander</type></link> *expander</parameter>);</programlisting>
<para>Queries a <link linkend="GtkExpander"><type>GtkExpander</type></link> and returns its current state. Returns <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>
if the child widget is revealed.</para>
<para>See <link linkend="gtk-expander-set-expanded"><function>gtk_expander_set_expanded()</function></link>.</para>
<refsect3 id="gtk-expander-get-expanded.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>expander</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkExpander"><type>GtkExpander</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-expander-get-expanded.returns" role="returns">
<title>Returns</title>
<para> the current state of the expander</para>
</refsect3></refsect2>
<refsect2 id="gtk-expander-set-label" role="function">
<title>gtk_expander_set_label&#160;()</title>
<indexterm zone="gtk-expander-set-label"><primary>gtk_expander_set_label</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_expander_set_label (<parameter><link linkend="GtkExpander"><type>GtkExpander</type></link> *expander</parameter>,
                        <parameter>const <link linkend="gchar"><type>gchar</type></link> *label</parameter>);</programlisting>
<para>Sets the text of the label of the expander to <parameter>label</parameter>
.</para>
<para>This will also clear any previously set labels.</para>
<refsect3 id="gtk-expander-set-label.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>expander</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkExpander"><type>GtkExpander</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>label</para></entry>
<entry role="parameter_description"><para>a string. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>nullable</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-expander-get-label" role="function">
<title>gtk_expander_get_label&#160;()</title>
<indexterm zone="gtk-expander-get-label"><primary>gtk_expander_get_label</primary></indexterm>
<programlisting language="C">const <link linkend="gchar"><returnvalue>gchar</returnvalue></link>&#160;*
gtk_expander_get_label (<parameter><link linkend="GtkExpander"><type>GtkExpander</type></link> *expander</parameter>);</programlisting>
<para>Fetches the text from a label widget including any embedded
underlines indicating mnemonics and Pango markup, as set by
<link linkend="gtk-expander-set-label"><function>gtk_expander_set_label()</function></link>. If the label text has not been set the
return value will be <link linkend="NULL:CAPS"><literal>NULL</literal></link>. This will be the case if you create an
empty button with <link linkend="gtk-button-new"><function>gtk_button_new()</function></link> to use as a container.</para>
<para>Note that this function behaved differently in versions prior to
2.14 and used to return the label text stripped of embedded
underlines indicating mnemonics and Pango markup. This problem can
be avoided by fetching the label text directly from the label
widget.</para>
<refsect3 id="gtk-expander-get-label.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>expander</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkExpander"><type>GtkExpander</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-expander-get-label.returns" role="returns">
<title>Returns</title>
<para>The text of the label widget. This string is owned
by the widget and must not be modified or freed. </para>
<para><emphasis role="annotation">[<acronym>nullable</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-expander-set-use-underline" role="function">
<title>gtk_expander_set_use_underline&#160;()</title>
<indexterm zone="gtk-expander-set-use-underline"><primary>gtk_expander_set_use_underline</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_expander_set_use_underline (<parameter><link linkend="GtkExpander"><type>GtkExpander</type></link> *expander</parameter>,
                                <parameter><link linkend="gboolean"><type>gboolean</type></link> use_underline</parameter>);</programlisting>
<para>If true, an underline in the text of the expander label indicates
the next character should be used for the mnemonic accelerator key.</para>
<refsect3 id="gtk-expander-set-use-underline.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>expander</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkExpander"><type>GtkExpander</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>use_underline</para></entry>
<entry role="parameter_description"><para><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if underlines in the text indicate mnemonics</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-expander-get-use-underline" role="function">
<title>gtk_expander_get_use_underline&#160;()</title>
<indexterm zone="gtk-expander-get-use-underline"><primary>gtk_expander_get_use_underline</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_expander_get_use_underline (<parameter><link linkend="GtkExpander"><type>GtkExpander</type></link> *expander</parameter>);</programlisting>
<para>Returns whether an embedded underline in the expander label
indicates a mnemonic. See <link linkend="gtk-expander-set-use-underline"><function>gtk_expander_set_use_underline()</function></link>.</para>
<refsect3 id="gtk-expander-get-use-underline.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>expander</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkExpander"><type>GtkExpander</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-expander-get-use-underline.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if an embedded underline in the expander
label indicates the mnemonic accelerator keys</para>
</refsect3></refsect2>
<refsect2 id="gtk-expander-set-use-markup" role="function">
<title>gtk_expander_set_use_markup&#160;()</title>
<indexterm zone="gtk-expander-set-use-markup"><primary>gtk_expander_set_use_markup</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_expander_set_use_markup (<parameter><link linkend="GtkExpander"><type>GtkExpander</type></link> *expander</parameter>,
                             <parameter><link linkend="gboolean"><type>gboolean</type></link> use_markup</parameter>);</programlisting>
<para>Sets whether the text of the label contains markup in
<link linkend="PangoMarkupFormat">Pango’s text markup language</link>.
See <link linkend="gtk-label-set-markup"><function>gtk_label_set_markup()</function></link>.</para>
<refsect3 id="gtk-expander-set-use-markup.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>expander</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkExpander"><type>GtkExpander</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>use_markup</para></entry>
<entry role="parameter_description"><para><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the label’s text should be parsed for markup</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-expander-get-use-markup" role="function">
<title>gtk_expander_get_use_markup&#160;()</title>
<indexterm zone="gtk-expander-get-use-markup"><primary>gtk_expander_get_use_markup</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_expander_get_use_markup (<parameter><link linkend="GtkExpander"><type>GtkExpander</type></link> *expander</parameter>);</programlisting>
<para>Returns whether the label’s text is interpreted as marked up with
the <link linkend="PangoMarkupFormat">Pango text markup language</link>.
See <link linkend="gtk-expander-set-use-markup"><function>gtk_expander_set_use_markup()</function></link>.</para>
<refsect3 id="gtk-expander-get-use-markup.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>expander</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkExpander"><type>GtkExpander</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-expander-get-use-markup.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the label’s text will be parsed for markup</para>
</refsect3></refsect2>
<refsect2 id="gtk-expander-set-label-widget" role="function">
<title>gtk_expander_set_label_widget&#160;()</title>
<indexterm zone="gtk-expander-set-label-widget"><primary>gtk_expander_set_label_widget</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_expander_set_label_widget (<parameter><link linkend="GtkExpander"><type>GtkExpander</type></link> *expander</parameter>,
                               <parameter><link linkend="GtkWidget"><type>GtkWidget</type></link> *label_widget</parameter>);</programlisting>
<para>Set the label widget for the expander. This is the widget
that will appear embedded alongside the expander arrow.</para>
<refsect3 id="gtk-expander-set-label-widget.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>expander</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkExpander"><type>GtkExpander</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>label_widget</para></entry>
<entry role="parameter_description"><para>the new label widget. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>nullable</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-expander-get-label-widget" role="function">
<title>gtk_expander_get_label_widget&#160;()</title>
<indexterm zone="gtk-expander-get-label-widget"><primary>gtk_expander_get_label_widget</primary></indexterm>
<programlisting language="C"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
gtk_expander_get_label_widget (<parameter><link linkend="GtkExpander"><type>GtkExpander</type></link> *expander</parameter>);</programlisting>
<para>Retrieves the label widget for the frame. See
<link linkend="gtk-expander-set-label-widget"><function>gtk_expander_set_label_widget()</function></link>.</para>
<refsect3 id="gtk-expander-get-label-widget.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>expander</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkExpander"><type>GtkExpander</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-expander-get-label-widget.returns" role="returns">
<title>Returns</title>
<para>the label widget,
or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if there is none. </para>
<para><emphasis role="annotation">[<acronym>nullable</acronym>][<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-expander-set-resize-toplevel" role="function">
<title>gtk_expander_set_resize_toplevel&#160;()</title>
<indexterm zone="gtk-expander-set-resize-toplevel"><primary>gtk_expander_set_resize_toplevel</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_expander_set_resize_toplevel (<parameter><link linkend="GtkExpander"><type>GtkExpander</type></link> *expander</parameter>,
                                  <parameter><link linkend="gboolean"><type>gboolean</type></link> resize_toplevel</parameter>);</programlisting>
<para>Sets whether the expander will resize the toplevel widget
containing the expander upon resizing and collpasing.</para>
<refsect3 id="gtk-expander-set-resize-toplevel.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>expander</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkExpander"><type>GtkExpander</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>resize_toplevel</para></entry>
<entry role="parameter_description"><para>whether to resize the toplevel</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-expander-get-resize-toplevel" role="function">
<title>gtk_expander_get_resize_toplevel&#160;()</title>
<indexterm zone="gtk-expander-get-resize-toplevel"><primary>gtk_expander_get_resize_toplevel</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_expander_get_resize_toplevel (<parameter><link linkend="GtkExpander"><type>GtkExpander</type></link> *expander</parameter>);</programlisting>
<para>Returns whether the expander will resize the toplevel widget
containing the expander upon resizing and collpasing.</para>
<refsect3 id="gtk-expander-get-resize-toplevel.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>expander</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkExpander"><type>GtkExpander</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-expander-get-resize-toplevel.returns" role="returns">
<title>Returns</title>
<para> the “resize toplevel” setting.</para>
</refsect3></refsect2>
<refsect2 id="gtk-expander-set-child" role="function">
<title>gtk_expander_set_child&#160;()</title>
<indexterm zone="gtk-expander-set-child"><primary>gtk_expander_set_child</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_expander_set_child (<parameter><link linkend="GtkExpander"><type>GtkExpander</type></link> *expander</parameter>,
                        <parameter><link linkend="GtkWidget"><type>GtkWidget</type></link> *child</parameter>);</programlisting>
<para>Sets the child widget of <parameter>expander</parameter>
.</para>
<refsect3 id="gtk-expander-set-child.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>expander</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkExpander"><type>GtkExpander</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>child</para></entry>
<entry role="parameter_description"><para>the child widget. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-expander-get-child" role="function">
<title>gtk_expander_get_child&#160;()</title>
<indexterm zone="gtk-expander-get-child"><primary>gtk_expander_get_child</primary></indexterm>
<programlisting language="C"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
gtk_expander_get_child (<parameter><link linkend="GtkExpander"><type>GtkExpander</type></link> *expander</parameter>);</programlisting>
<para>Gets the child widget of <parameter>expander</parameter>
.</para>
<refsect3 id="gtk-expander-get-child.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>expander</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkExpander"><type>GtkExpander</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-expander-get-child.returns" role="returns">
<title>Returns</title>
<para>the child widget of <parameter>expander</parameter>
. </para>
<para><emphasis role="annotation">[<acronym>nullable</acronym>][<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>

</refsect1>
<refsect1 id="GtkExpander.other_details" role="details">
<title role="details.title">Types and Values</title>
<refsect2 id="GtkExpander-struct" role="struct">
<title>GtkExpander</title>
<indexterm zone="GtkExpander-struct"><primary>GtkExpander</primary></indexterm>
<programlisting language="C">typedef struct _GtkExpander GtkExpander;</programlisting>
</refsect2>

</refsect1>
<refsect1 id="GtkExpander.property-details" role="property_details">
<title role="property_details.title">Property Details</title>
<refsect2 id="GtkExpander--child" role="property"><title>The <literal>“child”</literal> property</title>
<indexterm zone="GtkExpander--child"><primary>GtkExpander:child</primary></indexterm>
<programlisting>  “child”                    <link linkend="GtkWidget"><type>GtkWidget</type></link>&#160;*</programlisting>
<para>The child widget.</para><para>Owner: GtkExpander</para>
<para>Flags: Read / Write</para>
</refsect2>
<refsect2 id="GtkExpander--expanded" role="property"><title>The <literal>“expanded”</literal> property</title>
<indexterm zone="GtkExpander--expanded"><primary>GtkExpander:expanded</primary></indexterm>
<programlisting>  “expanded”                 <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>Whether the expander has been opened to reveal the child widget.</para><para>Owner: GtkExpander</para>
<para>Flags: Read / Write / Construct</para>
<para>Default value: FALSE</para>
</refsect2>
<refsect2 id="GtkExpander--label" role="property"><title>The <literal>“label”</literal> property</title>
<indexterm zone="GtkExpander--label"><primary>GtkExpander:label</primary></indexterm>
<programlisting>  “label”                    <link linkend="gchar"><type>gchar</type></link>&#160;*</programlisting>
<para>Text of the expander’s label.</para><para>Owner: GtkExpander</para>
<para>Flags: Read / Write / Construct</para>
<para>Default value: NULL</para>
</refsect2>
<refsect2 id="GtkExpander--label-widget" role="property"><title>The <literal>“label-widget”</literal> property</title>
<indexterm zone="GtkExpander--label-widget"><primary>GtkExpander:label-widget</primary></indexterm>
<programlisting>  “label-widget”             <link linkend="GtkWidget"><type>GtkWidget</type></link>&#160;*</programlisting>
<para>A widget to display in place of the usual expander label.</para><para>Owner: GtkExpander</para>
<para>Flags: Read / Write</para>
</refsect2>
<refsect2 id="GtkExpander--resize-toplevel" role="property"><title>The <literal>“resize-toplevel”</literal> property</title>
<indexterm zone="GtkExpander--resize-toplevel"><primary>GtkExpander:resize-toplevel</primary></indexterm>
<programlisting>  “resize-toplevel”          <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>When this property is <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>, the expander will resize the toplevel
widget containing the expander upon expanding and collapsing.</para>
<para>Owner: GtkExpander</para>
<para>Flags: Read / Write</para>
<para>Default value: FALSE</para>
</refsect2>
<refsect2 id="GtkExpander--use-markup" role="property"><title>The <literal>“use-markup”</literal> property</title>
<indexterm zone="GtkExpander--use-markup"><primary>GtkExpander:use-markup</primary></indexterm>
<programlisting>  “use-markup”               <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>The text of the label includes XML markup. See pango_parse_markup().</para><para>Owner: GtkExpander</para>
<para>Flags: Read / Write / Construct</para>
<para>Default value: FALSE</para>
</refsect2>
<refsect2 id="GtkExpander--use-underline" role="property"><title>The <literal>“use-underline”</literal> property</title>
<indexterm zone="GtkExpander--use-underline"><primary>GtkExpander:use-underline</primary></indexterm>
<programlisting>  “use-underline”            <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key.</para><para>Owner: GtkExpander</para>
<para>Flags: Read / Write / Construct</para>
<para>Default value: FALSE</para>
</refsect2>

</refsect1>
<refsect1 id="GtkExpander.signal-details" role="signals">
<title role="signals.title">Signal Details</title>
<refsect2 id="GtkExpander-activate" role="signal"><title>The <literal>“activate”</literal> signal</title>
<indexterm zone="GtkExpander-activate"><primary>GtkExpander::activate</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="GtkExpander"><type>GtkExpander</type></link> *expander,
               <link linkend="gpointer"><type>gpointer</type></link>     user_data)</programlisting>
<para>Flags: <link linkend="G-SIGNAL-ACTION:CAPS">Action</link></para>
</refsect2>
</refsect1>

</refentry>
