<?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="GtkComboBox">
<refmeta>
<refentrytitle role="top_of_page" id="GtkComboBox.top_of_page">GtkComboBox</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>GTK4 Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>GtkComboBox</refname>
<refpurpose>A widget used to choose from a list of items</refpurpose>
</refnamediv>

<refsect1 id="GtkComboBox.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-combo-box-new">gtk_combo_box_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-combo-box-new-with-entry">gtk_combo_box_new_with_entry</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-combo-box-new-with-model">gtk_combo_box_new_with_model</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-combo-box-new-with-model-and-entry">gtk_combo_box_new_with_model_and_entry</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gint"><returnvalue>gint</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-combo-box-get-active">gtk_combo_box_get_active</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-combo-box-set-active">gtk_combo_box_set_active</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-combo-box-get-active-iter">gtk_combo_box_get_active_iter</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-combo-box-set-active-iter">gtk_combo_box_set_active_iter</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gint"><returnvalue>gint</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-combo-box-get-id-column">gtk_combo_box_get_id_column</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-combo-box-set-id-column">gtk_combo_box_set_id_column</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-combo-box-get-active-id">gtk_combo_box_get_active_id</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-combo-box-set-active-id">gtk_combo_box_set_active_id</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkTreeModel"><returnvalue>GtkTreeModel</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-combo-box-get-model">gtk_combo_box_get_model</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-combo-box-set-model">gtk_combo_box_set_model</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-combo-box-popdown">gtk_combo_box_popdown</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="AtkObject"><returnvalue>AtkObject</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-combo-box-get-popup-accessible">gtk_combo_box_get_popup_accessible</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkTreeViewRowSeparatorFunc"><returnvalue>GtkTreeViewRowSeparatorFunc</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-combo-box-get-row-separator-func">gtk_combo_box_get_row_separator_func</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-combo-box-set-row-separator-func">gtk_combo_box_set_row_separator_func</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-combo-box-set-button-sensitivity">gtk_combo_box_set_button_sensitivity</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkSensitivityType"><returnvalue>GtkSensitivityType</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-combo-box-get-button-sensitivity">gtk_combo_box_get_button_sensitivity</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-combo-box-get-has-entry">gtk_combo_box_get_has_entry</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-combo-box-set-entry-text-column">gtk_combo_box_set_entry_text_column</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gint"><returnvalue>gint</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-combo-box-get-entry-text-column">gtk_combo_box_get_entry_text_column</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-combo-box-set-popup-fixed-width">gtk_combo_box_set_popup_fixed_width</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-combo-box-get-popup-fixed-width">gtk_combo_box_get_popup_fixed_width</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-combo-box-set-child">gtk_combo_box_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-combo-box-get-child">gtk_combo_box_get_child</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkComboBox.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="gint"><type>gint</type></link></entry><entry role="property_name"><link linkend="GtkComboBox--active">active</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gchar"><type>gchar</type></link>&#160;*</entry><entry role="property_name"><link linkend="GtkComboBox--active-id">active-id</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="GtkSensitivityType"><type>GtkSensitivityType</type></link></entry><entry role="property_name"><link linkend="GtkComboBox--button-sensitivity">button-sensitivity</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="GtkWidget"><type>GtkWidget</type></link>&#160;*</entry><entry role="property_name"><link linkend="GtkComboBox--child">child</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gint"><type>gint</type></link></entry><entry role="property_name"><link linkend="GtkComboBox--entry-text-column">entry-text-column</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="GtkComboBox--has-entry">has-entry</link></entry><entry role="property_flags">Read / Write / Construct&#160;Only</entry></row>
<row><entry role="property_type"><link linkend="gboolean"><type>gboolean</type></link></entry><entry role="property_name"><link linkend="GtkComboBox--has-frame">has-frame</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gint"><type>gint</type></link></entry><entry role="property_name"><link linkend="GtkComboBox--id-column">id-column</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="GtkTreeModel"><type>GtkTreeModel</type></link>&#160;*</entry><entry role="property_name"><link linkend="GtkComboBox--model">model</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="GtkComboBox--popup-fixed-width">popup-fixed-width</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="GtkComboBox--popup-shown">popup-shown</link></entry><entry role="property_flags">Read</entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkComboBox.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="GtkComboBox-changed">changed</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></entry></row>
<row><entry role="signal_type"><link linkend="gchar"><returnvalue>gchar</returnvalue></link>*</entry><entry role="signal_name"><link linkend="GtkComboBox-format-entry-text">format-entry-text</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></entry></row>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkComboBox-move-active">move-active</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-ACTION:CAPS">Action</link></entry></row>
<row><entry role="signal_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkComboBox-popdown">popdown</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-ACTION:CAPS">Action</link></entry></row>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkComboBox-popup">popup</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-ACTION:CAPS">Action</link></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkComboBox.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">struct</entry><entry role="function_name"><link linkend="GtkComboBox-struct">GtkComboBox</link></entry></row>
<row><entry role="datatype_keyword">struct</entry><entry role="function_name"><link linkend="GtkComboBoxClass">GtkComboBoxClass</link></entry></row>
<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="GtkSensitivityType">GtkSensitivityType</link></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkComboBox.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> GtkComboBox
                <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> <link linkend="GtkComboBoxText">GtkComboBoxText</link>
</screen>
</refsect1>
<refsect1 id="GtkComboBox.implemented-interfaces" role="impl_interfaces">
<title role="impl_interfaces.title">Implemented Interfaces</title>
<para>
GtkComboBox implements
 <link linkend="AtkImplementorIface">AtkImplementorIface</link>,  <link linkend="GtkBuildable">GtkBuildable</link>,  <link linkend="GtkConstraintTarget">GtkConstraintTarget</link>,  <link linkend="GtkCellLayout">GtkCellLayout</link> and  <link linkend="GtkCellEditable">GtkCellEditable</link>.</para>

</refsect1>

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

<refsect1 id="GtkComboBox.description" role="desc">
<title role="desc.title">Description</title>
<para>A GtkComboBox is a widget that allows the user to choose from a list of
valid choices. The GtkComboBox displays the selected choice. When
activated, the GtkComboBox displays a popup which allows the user to
make a new choice. The style in which the selected value is displayed,
and the style of the popup is determined by the current theme. It may
be similar to a Windows-style combo box.</para>
<para>The GtkComboBox uses the model-view pattern; the list of valid choices
is specified in the form of a tree model, and the display of the choices
can be adapted to the data in the model by using cell renderers, as you
would in a tree view. This is possible since GtkComboBox implements the
<link linkend="GtkCellLayout"><type>GtkCellLayout</type></link> interface. The tree model holding the valid choices is
not restricted to a flat list, it can be a real tree, and the popup will
reflect the tree structure.</para>
<para>To allow the user to enter values not in the model, the “has-entry”
property allows the GtkComboBox to contain a <link linkend="GtkEntry"><type>GtkEntry</type></link>. This entry
can be accessed by calling <link linkend="gtk-bin-get-child"><function>gtk_bin_get_child()</function></link> on the combo box.</para>
<para>For a simple list of textual choices, the model-view API of GtkComboBox
can be a bit overwhelming. In this case, <link linkend="GtkComboBoxText"><type>GtkComboBoxText</type></link> offers a
simple alternative. Both GtkComboBox and <link linkend="GtkComboBoxText"><type>GtkComboBoxText</type></link> can contain
an entry.</para>
<refsect2><title>CSS nodes</title><informalexample><programlisting role="example"><![CDATA[
combobox
├── box.linked
│   ╰── button.combo
│       ╰── box
│           ├── cellview
│           ╰── arrow
╰── window.popup
]]></programlisting></informalexample>
<para></para>
<para>A normal combobox contains a box with the .linked class, a button
with the .combo class and inside those buttons, there are a cellview and
an arrow.</para>
<informalexample><programlisting role="example"><![CDATA[
combobox
├── box.linked
│   ├── entry.combo
│   ╰── button.combo
│       ╰── box
│           ╰── arrow
╰── window.popup
]]></programlisting></informalexample>
<para></para>
<para>A GtkComboBox with an entry has a single CSS node with name combobox. It
contains a box with the .linked class. That box contains an entry and a
button, both with the .combo class added.
The button also contains another node with name arrow.</para>
</refsect2>

</refsect1>
<refsect1 id="GtkComboBox.functions_details" role="details">
<title role="details.title">Functions</title>
<refsect2 id="gtk-combo-box-new" role="function">
<title>gtk_combo_box_new&#160;()</title>
<indexterm zone="gtk-combo-box-new"><primary>gtk_combo_box_new</primary></indexterm>
<programlisting language="C"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
gtk_combo_box_new (<parameter><type>void</type></parameter>);</programlisting>
<para>Creates a new empty <link linkend="GtkComboBox"><type>GtkComboBox</type></link>.</para>
<refsect3 id="gtk-combo-box-new.returns" role="returns">
<title>Returns</title>
<para> A new <link linkend="GtkComboBox"><type>GtkComboBox</type></link>.</para>
</refsect3></refsect2>
<refsect2 id="gtk-combo-box-new-with-entry" role="function">
<title>gtk_combo_box_new_with_entry&#160;()</title>
<indexterm zone="gtk-combo-box-new-with-entry"><primary>gtk_combo_box_new_with_entry</primary></indexterm>
<programlisting language="C"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
gtk_combo_box_new_with_entry (<parameter><type>void</type></parameter>);</programlisting>
<para>Creates a new empty <link linkend="GtkComboBox"><type>GtkComboBox</type></link> with an entry.</para>
<refsect3 id="gtk-combo-box-new-with-entry.returns" role="returns">
<title>Returns</title>
<para> A new <link linkend="GtkComboBox"><type>GtkComboBox</type></link>.</para>
</refsect3></refsect2>
<refsect2 id="gtk-combo-box-new-with-model" role="function">
<title>gtk_combo_box_new_with_model&#160;()</title>
<indexterm zone="gtk-combo-box-new-with-model"><primary>gtk_combo_box_new_with_model</primary></indexterm>
<programlisting language="C"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
gtk_combo_box_new_with_model (<parameter><link linkend="GtkTreeModel"><type>GtkTreeModel</type></link> *model</parameter>);</programlisting>
<para>Creates a new <link linkend="GtkComboBox"><type>GtkComboBox</type></link> with the model initialized to <parameter>model</parameter>
.</para>
<refsect3 id="gtk-combo-box-new-with-model.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>model</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeModel"><type>GtkTreeModel</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-combo-box-new-with-model.returns" role="returns">
<title>Returns</title>
<para> A new <link linkend="GtkComboBox"><type>GtkComboBox</type></link>.</para>
</refsect3></refsect2>
<refsect2 id="gtk-combo-box-new-with-model-and-entry" role="function">
<title>gtk_combo_box_new_with_model_and_entry&#160;()</title>
<indexterm zone="gtk-combo-box-new-with-model-and-entry"><primary>gtk_combo_box_new_with_model_and_entry</primary></indexterm>
<programlisting language="C"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
gtk_combo_box_new_with_model_and_entry
                               (<parameter><link linkend="GtkTreeModel"><type>GtkTreeModel</type></link> *model</parameter>);</programlisting>
<para>Creates a new empty <link linkend="GtkComboBox"><type>GtkComboBox</type></link> with an entry
and with the model initialized to <parameter>model</parameter>
.</para>
<refsect3 id="gtk-combo-box-new-with-model-and-entry.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>model</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeModel"><type>GtkTreeModel</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-combo-box-new-with-model-and-entry.returns" role="returns">
<title>Returns</title>
<para> A new <link linkend="GtkComboBox"><type>GtkComboBox</type></link></para>
</refsect3></refsect2>
<refsect2 id="gtk-combo-box-get-active" role="function">
<title>gtk_combo_box_get_active&#160;()</title>
<indexterm zone="gtk-combo-box-get-active"><primary>gtk_combo_box_get_active</primary></indexterm>
<programlisting language="C"><link linkend="gint"><returnvalue>gint</returnvalue></link>
gtk_combo_box_get_active (<parameter><link linkend="GtkComboBox"><type>GtkComboBox</type></link> *combo_box</parameter>);</programlisting>
<para>Returns the index of the currently active item, or -1 if there’s no
active item. If the model is a non-flat treemodel, and the active item
is not an immediate child of the root of the tree, this function returns
<literal>gtk_tree_path_get_indices (path)[0]</literal>, where
<literal>path</literal> is the <link linkend="GtkTreePath"><type>GtkTreePath</type></link> of the active item.</para>
<refsect3 id="gtk-combo-box-get-active.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>combo_box</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkComboBox"><type>GtkComboBox</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-combo-box-get-active.returns" role="returns">
<title>Returns</title>
<para> An integer which is the index of the currently active item,
or -1 if there’s no active item.</para>
</refsect3></refsect2>
<refsect2 id="gtk-combo-box-set-active" role="function">
<title>gtk_combo_box_set_active&#160;()</title>
<indexterm zone="gtk-combo-box-set-active"><primary>gtk_combo_box_set_active</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_combo_box_set_active (<parameter><link linkend="GtkComboBox"><type>GtkComboBox</type></link> *combo_box</parameter>,
                          <parameter><link linkend="gint"><type>gint</type></link> index_</parameter>);</programlisting>
<para>Sets the active item of <parameter>combo_box</parameter>
 to be the item at <parameter>index</parameter>
.</para>
<refsect3 id="gtk-combo-box-set-active.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>combo_box</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkComboBox"><type>GtkComboBox</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>index_</para></entry>
<entry role="parameter_description"><para>An index in the model passed during construction, or -1 to have
no active item</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-combo-box-get-active-iter" role="function">
<title>gtk_combo_box_get_active_iter&#160;()</title>
<indexterm zone="gtk-combo-box-get-active-iter"><primary>gtk_combo_box_get_active_iter</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_combo_box_get_active_iter (<parameter><link linkend="GtkComboBox"><type>GtkComboBox</type></link> *combo_box</parameter>,
                               <parameter><link linkend="GtkTreeIter"><type>GtkTreeIter</type></link> *iter</parameter>);</programlisting>
<para>Sets <parameter>iter</parameter>
 to point to the currently active item, if any item is active.
Otherwise, <parameter>iter</parameter>
 is left unchanged.</para>
<refsect3 id="gtk-combo-box-get-active-iter.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>combo_box</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkComboBox"><type>GtkComboBox</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>iter</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeIter"><type>GtkTreeIter</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-combo-box-get-active-iter.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if <parameter>iter</parameter>
was set, <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> otherwise</para>
</refsect3></refsect2>
<refsect2 id="gtk-combo-box-set-active-iter" role="function">
<title>gtk_combo_box_set_active_iter&#160;()</title>
<indexterm zone="gtk-combo-box-set-active-iter"><primary>gtk_combo_box_set_active_iter</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_combo_box_set_active_iter (<parameter><link linkend="GtkComboBox"><type>GtkComboBox</type></link> *combo_box</parameter>,
                               <parameter><link linkend="GtkTreeIter"><type>GtkTreeIter</type></link> *iter</parameter>);</programlisting>
<para>Sets the current active item to be the one referenced by <parameter>iter</parameter>
, or
unsets the active item if <parameter>iter</parameter>
 is <link linkend="NULL:CAPS"><literal>NULL</literal></link>.</para>
<refsect3 id="gtk-combo-box-set-active-iter.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>combo_box</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkComboBox"><type>GtkComboBox</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>iter</para></entry>
<entry role="parameter_description"><para>The <link linkend="GtkTreeIter"><type>GtkTreeIter</type></link>, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-combo-box-get-id-column" role="function">
<title>gtk_combo_box_get_id_column&#160;()</title>
<indexterm zone="gtk-combo-box-get-id-column"><primary>gtk_combo_box_get_id_column</primary></indexterm>
<programlisting language="C"><link linkend="gint"><returnvalue>gint</returnvalue></link>
gtk_combo_box_get_id_column (<parameter><link linkend="GtkComboBox"><type>GtkComboBox</type></link> *combo_box</parameter>);</programlisting>
<para>Returns the column which <parameter>combo_box</parameter>
 is using to get string IDs
for values from.</para>
<refsect3 id="gtk-combo-box-get-id-column.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>combo_box</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkComboBox"><type>GtkComboBox</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-combo-box-get-id-column.returns" role="returns">
<title>Returns</title>
<para> A column in the data source model of <parameter>combo_box</parameter>
.</para>
</refsect3></refsect2>
<refsect2 id="gtk-combo-box-set-id-column" role="function">
<title>gtk_combo_box_set_id_column&#160;()</title>
<indexterm zone="gtk-combo-box-set-id-column"><primary>gtk_combo_box_set_id_column</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_combo_box_set_id_column (<parameter><link linkend="GtkComboBox"><type>GtkComboBox</type></link> *combo_box</parameter>,
                             <parameter><link linkend="gint"><type>gint</type></link> id_column</parameter>);</programlisting>
<para>Sets the model column which <parameter>combo_box</parameter>
 should use to get string IDs
for values from. The column <parameter>id_column</parameter>
 in the model of <parameter>combo_box</parameter>

must be of type <link linkend="G-TYPE-STRING:CAPS"><literal>G_TYPE_STRING</literal></link>.</para>
<refsect3 id="gtk-combo-box-set-id-column.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>combo_box</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkComboBox"><type>GtkComboBox</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>id_column</para></entry>
<entry role="parameter_description"><para>A column in <parameter>model</parameter>
to get string IDs for values from</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-combo-box-get-active-id" role="function">
<title>gtk_combo_box_get_active_id&#160;()</title>
<indexterm zone="gtk-combo-box-get-active-id"><primary>gtk_combo_box_get_active_id</primary></indexterm>
<programlisting language="C">const <link linkend="gchar"><returnvalue>gchar</returnvalue></link>&#160;*
gtk_combo_box_get_active_id (<parameter><link linkend="GtkComboBox"><type>GtkComboBox</type></link> *combo_box</parameter>);</programlisting>
<para>Returns the ID of the active row of <parameter>combo_box</parameter>
.  This value is taken
from the active row and the column specified by the <link linkend="GtkComboBox--id-column"><type>“id-column”</type></link>
property of <parameter>combo_box</parameter>
 (see <link linkend="gtk-combo-box-set-id-column"><function>gtk_combo_box_set_id_column()</function></link>).</para>
<para>The returned value is an interned string which means that you can
compare the pointer by value to other interned strings and that you
must not free it.</para>
<para>If the <link linkend="GtkComboBox--id-column"><type>“id-column”</type></link> property of <parameter>combo_box</parameter>
 is not set, or if
no row is active, or if the active row has a <link linkend="NULL:CAPS"><literal>NULL</literal></link> ID value, then <link linkend="NULL:CAPS"><literal>NULL</literal></link>
is returned.</para>
<refsect3 id="gtk-combo-box-get-active-id.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>combo_box</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkComboBox"><type>GtkComboBox</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-combo-box-get-active-id.returns" role="returns">
<title>Returns</title>
<para>the ID of the active row, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para>
<para><emphasis role="annotation">[<acronym>nullable</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-combo-box-set-active-id" role="function">
<title>gtk_combo_box_set_active_id&#160;()</title>
<indexterm zone="gtk-combo-box-set-active-id"><primary>gtk_combo_box_set_active_id</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_combo_box_set_active_id (<parameter><link linkend="GtkComboBox"><type>GtkComboBox</type></link> *combo_box</parameter>,
                             <parameter>const <link linkend="gchar"><type>gchar</type></link> *active_id</parameter>);</programlisting>
<para>Changes the active row of <parameter>combo_box</parameter>
 to the one that has an ID equal to
<parameter>active_id</parameter>
, or unsets the active row if <parameter>active_id</parameter>
 is <link linkend="NULL:CAPS"><literal>NULL</literal></link>.  Rows having
a <link linkend="NULL:CAPS"><literal>NULL</literal></link> ID string cannot be made active by this function.</para>
<para>If the <link linkend="GtkComboBox--id-column"><type>“id-column”</type></link> property of <parameter>combo_box</parameter>
 is unset or if no
row has the given ID then the function does nothing and returns <link linkend="FALSE:CAPS"><literal>FALSE</literal></link>.</para>
<refsect3 id="gtk-combo-box-set-active-id.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>combo_box</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkComboBox"><type>GtkComboBox</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>active_id</para></entry>
<entry role="parameter_description"><para>the ID of the row to select, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-combo-box-set-active-id.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if a row with a matching ID was found.  If a <link linkend="NULL:CAPS"><literal>NULL</literal></link>
<parameter>active_id</parameter>
was given to unset the active row, the function
always returns <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>.</para>
</refsect3></refsect2>
<refsect2 id="gtk-combo-box-get-model" role="function">
<title>gtk_combo_box_get_model&#160;()</title>
<indexterm zone="gtk-combo-box-get-model"><primary>gtk_combo_box_get_model</primary></indexterm>
<programlisting language="C"><link linkend="GtkTreeModel"><returnvalue>GtkTreeModel</returnvalue></link>&#160;*
gtk_combo_box_get_model (<parameter><link linkend="GtkComboBox"><type>GtkComboBox</type></link> *combo_box</parameter>);</programlisting>
<para>Returns the <link linkend="GtkTreeModel"><type>GtkTreeModel</type></link> which is acting as data source for <parameter>combo_box</parameter>
.</para>
<refsect3 id="gtk-combo-box-get-model.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>combo_box</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkComboBox"><type>GtkComboBox</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-combo-box-get-model.returns" role="returns">
<title>Returns</title>
<para>A <link linkend="GtkTreeModel"><type>GtkTreeModel</type></link> which was passed
during construction. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-combo-box-set-model" role="function">
<title>gtk_combo_box_set_model&#160;()</title>
<indexterm zone="gtk-combo-box-set-model"><primary>gtk_combo_box_set_model</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_combo_box_set_model (<parameter><link linkend="GtkComboBox"><type>GtkComboBox</type></link> *combo_box</parameter>,
                         <parameter><link linkend="GtkTreeModel"><type>GtkTreeModel</type></link> *model</parameter>);</programlisting>
<para>Sets the model used by <parameter>combo_box</parameter>
 to be <parameter>model</parameter>
. Will unset a previously set
model (if applicable). If model is <link linkend="NULL:CAPS"><literal>NULL</literal></link>, then it will unset the model.</para>
<para>Note that this function does not clear the cell renderers, you have to
call <link linkend="gtk-cell-layout-clear"><function>gtk_cell_layout_clear()</function></link> yourself if you need to set up different
cell renderers for the new model.</para>
<refsect3 id="gtk-combo-box-set-model.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>combo_box</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkComboBox"><type>GtkComboBox</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>model</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeModel"><type>GtkTreeModel</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-combo-box-popdown" role="function">
<title>gtk_combo_box_popdown&#160;()</title>
<indexterm zone="gtk-combo-box-popdown"><primary>gtk_combo_box_popdown</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_combo_box_popdown (<parameter><link linkend="GtkComboBox"><type>GtkComboBox</type></link> *combo_box</parameter>);</programlisting>
<para>Hides the menu or dropdown list of <parameter>combo_box</parameter>
.</para>
<para>This function is mostly intended for use by accessibility technologies;
applications should have little use for it.</para>
<refsect3 id="gtk-combo-box-popdown.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>combo_box</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkComboBox"><type>GtkComboBox</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-combo-box-get-popup-accessible" role="function">
<title>gtk_combo_box_get_popup_accessible&#160;()</title>
<indexterm zone="gtk-combo-box-get-popup-accessible"><primary>gtk_combo_box_get_popup_accessible</primary></indexterm>
<programlisting language="C"><link linkend="AtkObject"><returnvalue>AtkObject</returnvalue></link>&#160;*
gtk_combo_box_get_popup_accessible (<parameter><link linkend="GtkComboBox"><type>GtkComboBox</type></link> *combo_box</parameter>);</programlisting>
<para>Gets the accessible object corresponding to the combo box’s popup.</para>
<para>This function is mostly intended for use by accessibility technologies;
applications should have little use for it.</para>
<refsect3 id="gtk-combo-box-get-popup-accessible.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>combo_box</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkComboBox"><type>GtkComboBox</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-combo-box-get-popup-accessible.returns" role="returns">
<title>Returns</title>
<para>the accessible object corresponding
to the combo box’s popup. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-combo-box-get-row-separator-func" role="function">
<title>gtk_combo_box_get_row_separator_func&#160;()</title>
<indexterm zone="gtk-combo-box-get-row-separator-func"><primary>gtk_combo_box_get_row_separator_func</primary></indexterm>
<programlisting language="C"><link linkend="GtkTreeViewRowSeparatorFunc"><returnvalue>GtkTreeViewRowSeparatorFunc</returnvalue></link>
gtk_combo_box_get_row_separator_func (<parameter><link linkend="GtkComboBox"><type>GtkComboBox</type></link> *combo_box</parameter>);</programlisting>
<para>Returns the current row separator function.</para>

<para><emphasis role="annotation">[<acronym>skip</acronym>]</emphasis></para><refsect3 id="gtk-combo-box-get-row-separator-func.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>combo_box</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkComboBox"><type>GtkComboBox</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-combo-box-get-row-separator-func.returns" role="returns">
<title>Returns</title>
<para> the current row separator function.</para>
</refsect3></refsect2>
<refsect2 id="gtk-combo-box-set-row-separator-func" role="function">
<title>gtk_combo_box_set_row_separator_func&#160;()</title>
<indexterm zone="gtk-combo-box-set-row-separator-func"><primary>gtk_combo_box_set_row_separator_func</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_combo_box_set_row_separator_func (<parameter><link linkend="GtkComboBox"><type>GtkComboBox</type></link> *combo_box</parameter>,
                                      <parameter><link linkend="GtkTreeViewRowSeparatorFunc"><type>GtkTreeViewRowSeparatorFunc</type></link> func</parameter>,
                                      <parameter><link linkend="gpointer"><type>gpointer</type></link> data</parameter>,
                                      <parameter><link linkend="GDestroyNotify"><type>GDestroyNotify</type></link> destroy</parameter>);</programlisting>
<para>Sets the row separator function, which is used to determine
whether a row should be drawn as a separator. If the row separator
function is <link linkend="NULL:CAPS"><literal>NULL</literal></link>, no separators are drawn. This is the default value.</para>
<refsect3 id="gtk-combo-box-set-row-separator-func.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>combo_box</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkComboBox"><type>GtkComboBox</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>func</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeViewRowSeparatorFunc"><type>GtkTreeViewRowSeparatorFunc</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>data</para></entry>
<entry role="parameter_description"><para>user data to pass to <parameter>func</parameter>
, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>destroy</para></entry>
<entry role="parameter_description"><para>destroy notifier for <parameter>data</parameter>
, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-combo-box-set-button-sensitivity" role="function">
<title>gtk_combo_box_set_button_sensitivity&#160;()</title>
<indexterm zone="gtk-combo-box-set-button-sensitivity"><primary>gtk_combo_box_set_button_sensitivity</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_combo_box_set_button_sensitivity (<parameter><link linkend="GtkComboBox"><type>GtkComboBox</type></link> *combo_box</parameter>,
                                      <parameter><link linkend="GtkSensitivityType"><type>GtkSensitivityType</type></link> sensitivity</parameter>);</programlisting>
<para>Sets whether the dropdown button of the combo box should be
always sensitive (<link linkend="GTK-SENSITIVITY-ON:CAPS"><literal>GTK_SENSITIVITY_ON</literal></link>), never sensitive (<link linkend="GTK-SENSITIVITY-OFF:CAPS"><literal>GTK_SENSITIVITY_OFF</literal></link>)
or only if there is at least one item to display (<link linkend="GTK-SENSITIVITY-AUTO:CAPS"><literal>GTK_SENSITIVITY_AUTO</literal></link>).</para>
<refsect3 id="gtk-combo-box-set-button-sensitivity.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>combo_box</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkComboBox"><type>GtkComboBox</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>sensitivity</para></entry>
<entry role="parameter_description"><para>specify the sensitivity of the dropdown button</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-combo-box-get-button-sensitivity" role="function">
<title>gtk_combo_box_get_button_sensitivity&#160;()</title>
<indexterm zone="gtk-combo-box-get-button-sensitivity"><primary>gtk_combo_box_get_button_sensitivity</primary></indexterm>
<programlisting language="C"><link linkend="GtkSensitivityType"><returnvalue>GtkSensitivityType</returnvalue></link>
gtk_combo_box_get_button_sensitivity (<parameter><link linkend="GtkComboBox"><type>GtkComboBox</type></link> *combo_box</parameter>);</programlisting>
<para>Returns whether the combo box sets the dropdown button
sensitive or not when there are no items in the model.</para>
<refsect3 id="gtk-combo-box-get-button-sensitivity.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>combo_box</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkComboBox"><type>GtkComboBox</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-combo-box-get-button-sensitivity.returns" role="returns">
<title>Returns</title>
<para> <link linkend="GTK-SENSITIVITY-ON:CAPS"><literal>GTK_SENSITIVITY_ON</literal></link> if the dropdown button
is sensitive when the model is empty, <link linkend="GTK-SENSITIVITY-OFF:CAPS"><literal>GTK_SENSITIVITY_OFF</literal></link>
if the button is always insensitive or
<link linkend="GTK-SENSITIVITY-AUTO:CAPS"><literal>GTK_SENSITIVITY_AUTO</literal></link> if it is only sensitive as long as
the model has one item to be selected.</para>
</refsect3></refsect2>
<refsect2 id="gtk-combo-box-get-has-entry" role="function">
<title>gtk_combo_box_get_has_entry&#160;()</title>
<indexterm zone="gtk-combo-box-get-has-entry"><primary>gtk_combo_box_get_has_entry</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_combo_box_get_has_entry (<parameter><link linkend="GtkComboBox"><type>GtkComboBox</type></link> *combo_box</parameter>);</programlisting>
<para>Returns whether the combo box has an entry.</para>
<refsect3 id="gtk-combo-box-get-has-entry.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>combo_box</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkComboBox"><type>GtkComboBox</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-combo-box-get-has-entry.returns" role="returns">
<title>Returns</title>
<para> whether there is an entry in <parameter>combo_box</parameter>
.</para>
</refsect3></refsect2>
<refsect2 id="gtk-combo-box-set-entry-text-column" role="function">
<title>gtk_combo_box_set_entry_text_column&#160;()</title>
<indexterm zone="gtk-combo-box-set-entry-text-column"><primary>gtk_combo_box_set_entry_text_column</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_combo_box_set_entry_text_column (<parameter><link linkend="GtkComboBox"><type>GtkComboBox</type></link> *combo_box</parameter>,
                                     <parameter><link linkend="gint"><type>gint</type></link> text_column</parameter>);</programlisting>
<para>Sets the model column which <parameter>combo_box</parameter>
 should use to get strings from
to be <parameter>text_column</parameter>
. The column <parameter>text_column</parameter>
 in the model of <parameter>combo_box</parameter>

must be of type <link linkend="G-TYPE-STRING:CAPS"><literal>G_TYPE_STRING</literal></link>.</para>
<para>This is only relevant if <parameter>combo_box</parameter>
 has been created with
<link linkend="GtkComboBox--has-entry"><type>“has-entry”</type></link> as <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>.</para>
<refsect3 id="gtk-combo-box-set-entry-text-column.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>combo_box</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkComboBox"><type>GtkComboBox</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>text_column</para></entry>
<entry role="parameter_description"><para>A column in <parameter>model</parameter>
to get the strings from for
the internal entry</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-combo-box-get-entry-text-column" role="function">
<title>gtk_combo_box_get_entry_text_column&#160;()</title>
<indexterm zone="gtk-combo-box-get-entry-text-column"><primary>gtk_combo_box_get_entry_text_column</primary></indexterm>
<programlisting language="C"><link linkend="gint"><returnvalue>gint</returnvalue></link>
gtk_combo_box_get_entry_text_column (<parameter><link linkend="GtkComboBox"><type>GtkComboBox</type></link> *combo_box</parameter>);</programlisting>
<para>Returns the column which <parameter>combo_box</parameter>
 is using to get the strings
from to display in the internal entry.</para>
<refsect3 id="gtk-combo-box-get-entry-text-column.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>combo_box</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkComboBox"><type>GtkComboBox</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-combo-box-get-entry-text-column.returns" role="returns">
<title>Returns</title>
<para> A column in the data source model of <parameter>combo_box</parameter>
.</para>
</refsect3></refsect2>
<refsect2 id="gtk-combo-box-set-popup-fixed-width" role="function">
<title>gtk_combo_box_set_popup_fixed_width&#160;()</title>
<indexterm zone="gtk-combo-box-set-popup-fixed-width"><primary>gtk_combo_box_set_popup_fixed_width</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_combo_box_set_popup_fixed_width (<parameter><link linkend="GtkComboBox"><type>GtkComboBox</type></link> *combo_box</parameter>,
                                     <parameter><link linkend="gboolean"><type>gboolean</type></link> fixed</parameter>);</programlisting>
<para>Specifies whether the popup’s width should be a fixed width
matching the allocated width of the combo box.</para>
<refsect3 id="gtk-combo-box-set-popup-fixed-width.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>combo_box</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkComboBox"><type>GtkComboBox</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>fixed</para></entry>
<entry role="parameter_description"><para>whether to use a fixed popup width</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-combo-box-get-popup-fixed-width" role="function">
<title>gtk_combo_box_get_popup_fixed_width&#160;()</title>
<indexterm zone="gtk-combo-box-get-popup-fixed-width"><primary>gtk_combo_box_get_popup_fixed_width</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_combo_box_get_popup_fixed_width (<parameter><link linkend="GtkComboBox"><type>GtkComboBox</type></link> *combo_box</parameter>);</programlisting>
<para>Gets whether the popup uses a fixed width matching
the allocated width of the combo box.</para>
<refsect3 id="gtk-combo-box-get-popup-fixed-width.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>combo_box</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkComboBox"><type>GtkComboBox</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-combo-box-get-popup-fixed-width.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the popup uses a fixed width</para>
</refsect3></refsect2>
<refsect2 id="gtk-combo-box-set-child" role="function">
<title>gtk_combo_box_set_child&#160;()</title>
<indexterm zone="gtk-combo-box-set-child"><primary>gtk_combo_box_set_child</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_combo_box_set_child (<parameter><link linkend="GtkComboBox"><type>GtkComboBox</type></link> *combo_box</parameter>,
                         <parameter><link linkend="GtkWidget"><type>GtkWidget</type></link> *child</parameter>);</programlisting>
<para>Sets the child widget of <parameter>combo_box</parameter>
.</para>
<refsect3 id="gtk-combo-box-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>combo_box</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkComboBox"><type>GtkComboBox</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-combo-box-get-child" role="function">
<title>gtk_combo_box_get_child&#160;()</title>
<indexterm zone="gtk-combo-box-get-child"><primary>gtk_combo_box_get_child</primary></indexterm>
<programlisting language="C"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
gtk_combo_box_get_child (<parameter><link linkend="GtkComboBox"><type>GtkComboBox</type></link> *combo_box</parameter>);</programlisting>
<para>Gets the child widget of <parameter>combo_box</parameter>
.</para>
<refsect3 id="gtk-combo-box-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>combo_box</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkComboBox"><type>GtkComboBox</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-combo-box-get-child.returns" role="returns">
<title>Returns</title>
<para>the child widget of <parameter>combo_box</parameter>
. </para>
<para><emphasis role="annotation">[<acronym>nullable</acronym>][<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>

</refsect1>
<refsect1 id="GtkComboBox.other_details" role="details">
<title role="details.title">Types and Values</title>
<refsect2 id="GtkComboBox-struct" role="struct">
<title>struct GtkComboBox</title>
<indexterm zone="GtkComboBox-struct"><primary>GtkComboBox</primary></indexterm>
<programlisting language="C">struct GtkComboBox;</programlisting>
</refsect2>
<refsect2 id="GtkComboBoxClass" role="struct">
<title>struct GtkComboBoxClass</title>
<indexterm zone="GtkComboBoxClass"><primary>GtkComboBoxClass</primary></indexterm>
<programlisting language="C">struct GtkComboBoxClass {
  GtkWidgetClass parent_class;

  /* signals */
  void     (* changed)           (GtkComboBox *combo_box);
  gchar   *(* format_entry_text) (GtkComboBox *combo_box,
                                  const gchar *path);
};
</programlisting>
<refsect3 id="GtkComboBoxClass.members" role="struct_members">
<title>Members</title>
<informaltable role="struct_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="struct_members_name" colwidth="300px"/>
<colspec colname="struct_members_description"/>
<colspec colname="struct_members_annotations" colwidth="200px"/>
<tbody>
<row role="member"><entry role="struct_member_name"><para><structfield id="GtkComboBoxClass.changed">changed</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>Signal is emitted when the active item is changed.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="GtkComboBoxClass.format-entry-text">format_entry_text</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>Signal which allows you to change how the text
displayed in a combo box’s entry is displayed.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3>
</refsect2>
<refsect2 id="GtkSensitivityType" role="enum">
<title>enum GtkSensitivityType</title>
<indexterm zone="GtkSensitivityType"><primary>GtkSensitivityType</primary></indexterm>
<para>Determines how GTK+ handles the sensitivity of stepper arrows
at the end of range widgets.</para>
<refsect3 id="GtkSensitivityType.members" role="enum_members">
<title>Members</title>
<informaltable role="enum_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="enum_members_name" colwidth="300px"/>
<colspec colname="enum_members_description"/>
<colspec colname="enum_members_annotations" colwidth="200px"/>
<tbody>
<row role="constant"><entry role="enum_member_name"><para id="GTK-SENSITIVITY-AUTO:CAPS">GTK_SENSITIVITY_AUTO</para></entry>
<entry role="enum_member_description"><para>The arrow is made insensitive if the
thumb is at the end</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-SENSITIVITY-ON:CAPS">GTK_SENSITIVITY_ON</para></entry>
<entry role="enum_member_description"><para>The arrow is always sensitive</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-SENSITIVITY-OFF:CAPS">GTK_SENSITIVITY_OFF</para></entry>
<entry role="enum_member_description"><para>The arrow is always insensitive</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>

</refsect1>
<refsect1 id="GtkComboBox.property-details" role="property_details">
<title role="property_details.title">Property Details</title>
<refsect2 id="GtkComboBox--active" role="property"><title>The <literal>“active”</literal> property</title>
<indexterm zone="GtkComboBox--active"><primary>GtkComboBox:active</primary></indexterm>
<programlisting>  “active”                   <link linkend="gint"><type>gint</type></link></programlisting>
<para>The item which is currently active. If the model is a non-flat treemodel,
and the active item is not an immediate child of the root of the tree,
this property has the value
<literal>gtk_tree_path_get_indices (path)[0]</literal>,
where <literal>path</literal> is the <link linkend="GtkTreePath"><type>GtkTreePath</type></link> of the active item.</para>
<para>Owner: GtkComboBox</para>
<para>Flags: Read / Write</para>
<para>Allowed values: &gt;= -1</para>
<para>Default value: -1</para>
</refsect2>
<refsect2 id="GtkComboBox--active-id" role="property"><title>The <literal>“active-id”</literal> property</title>
<indexterm zone="GtkComboBox--active-id"><primary>GtkComboBox:active-id</primary></indexterm>
<programlisting>  “active-id”                <link linkend="gchar"><type>gchar</type></link>&#160;*</programlisting>
<para>The value of the ID column of the active row.</para>
<para>Owner: GtkComboBox</para>
<para>Flags: Read / Write</para>
<para>Default value: NULL</para>
</refsect2>
<refsect2 id="GtkComboBox--button-sensitivity" role="property"><title>The <literal>“button-sensitivity”</literal> property</title>
<indexterm zone="GtkComboBox--button-sensitivity"><primary>GtkComboBox:button-sensitivity</primary></indexterm>
<programlisting>  “button-sensitivity”       <link linkend="GtkSensitivityType"><type>GtkSensitivityType</type></link></programlisting>
<para>Whether the dropdown button is sensitive when
the model is empty.</para>
<para>Owner: GtkComboBox</para>
<para>Flags: Read / Write</para>
<para>Default value: GTK_SENSITIVITY_AUTO</para>
</refsect2>
<refsect2 id="GtkComboBox--child" role="property"><title>The <literal>“child”</literal> property</title>
<indexterm zone="GtkComboBox--child"><primary>GtkComboBox:child</primary></indexterm>
<programlisting>  “child”                    <link linkend="GtkWidget"><type>GtkWidget</type></link>&#160;*</programlisting>
<para>The child_widget.</para><para>Owner: GtkComboBox</para>
<para>Flags: Read / Write</para>
</refsect2>
<refsect2 id="GtkComboBox--entry-text-column" role="property"><title>The <literal>“entry-text-column”</literal> property</title>
<indexterm zone="GtkComboBox--entry-text-column"><primary>GtkComboBox:entry-text-column</primary></indexterm>
<programlisting>  “entry-text-column”        <link linkend="gint"><type>gint</type></link></programlisting>
<para>The column in the combo box's model to associate with strings from the entry
if the combo was created with <link linkend="GtkComboBox--has-entry"><type>“has-entry”</type></link> = <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>.</para>
<para>Owner: GtkComboBox</para>
<para>Flags: Read / Write</para>
<para>Allowed values: &gt;= -1</para>
<para>Default value: -1</para>
</refsect2>
<refsect2 id="GtkComboBox--has-entry" role="property"><title>The <literal>“has-entry”</literal> property</title>
<indexterm zone="GtkComboBox--has-entry"><primary>GtkComboBox:has-entry</primary></indexterm>
<programlisting>  “has-entry”                <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>Whether the combo box has an entry.</para>
<para>Owner: GtkComboBox</para>
<para>Flags: Read / Write / Construct&#160;Only</para>
<para>Default value: FALSE</para>
</refsect2>
<refsect2 id="GtkComboBox--has-frame" role="property"><title>The <literal>“has-frame”</literal> property</title>
<indexterm zone="GtkComboBox--has-frame"><primary>GtkComboBox:has-frame</primary></indexterm>
<programlisting>  “has-frame”                <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>The has-frame property controls whether a frame
is drawn around the entry.</para>
<para>Owner: GtkComboBox</para>
<para>Flags: Read / Write</para>
<para>Default value: TRUE</para>
</refsect2>
<refsect2 id="GtkComboBox--id-column" role="property"><title>The <literal>“id-column”</literal> property</title>
<indexterm zone="GtkComboBox--id-column"><primary>GtkComboBox:id-column</primary></indexterm>
<programlisting>  “id-column”                <link linkend="gint"><type>gint</type></link></programlisting>
<para>The column in the combo box's model that provides string
IDs for the values in the model, if != -1.</para>
<para>Owner: GtkComboBox</para>
<para>Flags: Read / Write</para>
<para>Allowed values: &gt;= -1</para>
<para>Default value: -1</para>
</refsect2>
<refsect2 id="GtkComboBox--model" role="property"><title>The <literal>“model”</literal> property</title>
<indexterm zone="GtkComboBox--model"><primary>GtkComboBox:model</primary></indexterm>
<programlisting>  “model”                    <link linkend="GtkTreeModel"><type>GtkTreeModel</type></link>&#160;*</programlisting>
<para>The model from which the combo box takes the values shown
in the list.</para>
<para>Owner: GtkComboBox</para>
<para>Flags: Read / Write</para>
</refsect2>
<refsect2 id="GtkComboBox--popup-fixed-width" role="property"><title>The <literal>“popup-fixed-width”</literal> property</title>
<indexterm zone="GtkComboBox--popup-fixed-width"><primary>GtkComboBox:popup-fixed-width</primary></indexterm>
<programlisting>  “popup-fixed-width”        <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>Whether the popup's width should be a fixed width matching the
allocated width of the combo box.</para>
<para>Owner: GtkComboBox</para>
<para>Flags: Read / Write</para>
<para>Default value: TRUE</para>
</refsect2>
<refsect2 id="GtkComboBox--popup-shown" role="property"><title>The <literal>“popup-shown”</literal> property</title>
<indexterm zone="GtkComboBox--popup-shown"><primary>GtkComboBox:popup-shown</primary></indexterm>
<programlisting>  “popup-shown”              <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>Whether the combo boxes dropdown is popped up.
Note that this property is mainly useful, because
it allows you to connect to notify::popup-shown.</para>
<para>Owner: GtkComboBox</para>
<para>Flags: Read</para>
<para>Default value: FALSE</para>
</refsect2>

</refsect1>
<refsect1 id="GtkComboBox.signal-details" role="signals">
<title role="signals.title">Signal Details</title>
<refsect2 id="GtkComboBox-changed" role="signal"><title>The <literal>“changed”</literal> signal</title>
<indexterm zone="GtkComboBox-changed"><primary>GtkComboBox::changed</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="GtkComboBox"><type>GtkComboBox</type></link> *widget,
               <link linkend="gpointer"><type>gpointer</type></link>     user_data)</programlisting>
<para>The changed signal is emitted when the active
item is changed. The can be due to the user selecting
a different item from the list, or due to a
call to <link linkend="gtk-combo-box-set-active-iter"><function>gtk_combo_box_set_active_iter()</function></link>.
It will also be emitted while typing into the entry of a combo box
with an entry.</para>
<refsect3 id="GtkComboBox-changed.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>widget</para></entry>
<entry role="parameter_description"><para>the object which received the signal</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
</refsect2><refsect2 id="GtkComboBox-format-entry-text" role="signal"><title>The <literal>“format-entry-text”</literal> signal</title>
<indexterm zone="GtkComboBox-format-entry-text"><primary>GtkComboBox::format-entry-text</primary></indexterm>
<programlisting language="C"><link linkend="gchar"><returnvalue>gchar</returnvalue></link>*
user_function (<link linkend="GtkComboBox"><type>GtkComboBox</type></link> *combo,
               <link linkend="gchar"><type>gchar</type></link>       *path,
               <link linkend="gpointer"><type>gpointer</type></link>     user_data)</programlisting>
<para>For combo boxes that are created with an entry (See GtkComboBox:has-entry).</para>
<para>A signal which allows you to change how the text displayed in a combo box's
entry is displayed.</para>
<para>Connect a signal handler which returns an allocated string representing
<parameter>path</parameter>
. That string will then be used to set the text in the combo box's entry.
The default signal handler uses the text from the GtkComboBox::entry-text-column
model column.</para>
<para>Here's an example signal handler which fetches data from the model and
displays it in the entry.</para>
<informalexample><programlisting role="example"><![CDATA[
static gchar*
format_entry_text_callback (GtkComboBox *combo,
                            const gchar *path,
                            gpointer     user_data)
{
  GtkTreeIter iter;
  GtkTreeModel model;
  gdouble      value;

  model = gtk_combo_box_get_model (combo);

  gtk_tree_model_get_iter_from_string (model, &iter, path);
  gtk_tree_model_get (model, &iter,
                      THE_DOUBLE_VALUE_COLUMN, &value,
                      -1);

  return g_strdup_printf ("%g", value);
}
]]></programlisting></informalexample>
<para></para>
<refsect3 id="GtkComboBox-format-entry-text.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>combo</para></entry>
<entry role="parameter_description"><para>the object which received the signal</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>path</para></entry>
<entry role="parameter_description"><para>the GtkTreePath string from the combo box's current model to format text for</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="GtkComboBox-format-entry-text.returns" role="returns">
<title>Returns</title>
<para>a newly allocated string representing <parameter>path</parameter>
for the current GtkComboBox model. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
</refsect2><refsect2 id="GtkComboBox-move-active" role="signal"><title>The <literal>“move-active”</literal> signal</title>
<indexterm zone="GtkComboBox-move-active"><primary>GtkComboBox::move-active</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="GtkComboBox"><type>GtkComboBox</type></link>  *widget,
               <link linkend="GtkScrollType"><type>GtkScrollType</type></link> scroll_type,
               <link linkend="gpointer"><type>gpointer</type></link>      user_data)</programlisting>
<para>The ::move-active signal is a
<link linkend="GtkBindingSignal">keybinding signal</link>
which gets emitted to move the active selection.</para>
<refsect3 id="GtkComboBox-move-active.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>widget</para></entry>
<entry role="parameter_description"><para>the object that received the signal</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>scroll_type</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkScrollType"><type>GtkScrollType</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-ACTION:CAPS">Action</link></para>
</refsect2><refsect2 id="GtkComboBox-popdown" role="signal"><title>The <literal>“popdown”</literal> signal</title>
<indexterm zone="GtkComboBox-popdown"><primary>GtkComboBox::popdown</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
user_function (<link linkend="GtkComboBox"><type>GtkComboBox</type></link> *button,
               <link linkend="gpointer"><type>gpointer</type></link>     user_data)</programlisting>
<para>The ::popdown signal is a
<link linkend="GtkBindingSignal">keybinding signal</link>
which gets emitted to popdown the combo box list.</para>
<para>The default bindings for this signal are Alt+Up and Escape.</para>
<refsect3 id="GtkComboBox-popdown.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>button</para></entry>
<entry role="parameter_description"><para>the object which received the signal</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-ACTION:CAPS">Action</link></para>
</refsect2><refsect2 id="GtkComboBox-popup" role="signal"><title>The <literal>“popup”</literal> signal</title>
<indexterm zone="GtkComboBox-popup"><primary>GtkComboBox::popup</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="GtkComboBox"><type>GtkComboBox</type></link> *widget,
               <link linkend="gpointer"><type>gpointer</type></link>     user_data)</programlisting>
<para>The ::popup signal is a
<link linkend="GtkBindingSignal">keybinding signal</link>
which gets emitted to popup the combo box list.</para>
<para>The default binding for this signal is Alt+Down.</para>
<refsect3 id="GtkComboBox-popup.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>widget</para></entry>
<entry role="parameter_description"><para>the object that received the signal</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-ACTION:CAPS">Action</link></para>
</refsect2>
</refsect1>
<refsect1 id="GtkComboBox.see-also">
<title>See Also</title>
<para><link linkend="GtkComboBoxText"><type>GtkComboBoxText</type></link>, <link linkend="GtkTreeModel"><type>GtkTreeModel</type></link>, <link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link></para>

</refsect1>

</refentry>
