<?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 index-Objects-Grouped SYSTEM "objects_grouped.sgml"-->
<refentry id="GtkList">
<refmeta>
<refentrytitle role="top_of_page" id="GtkList.top_of_page">GtkList</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>GTK Library</refmiscinfo>
</refmeta>

<refnamediv>
<refname>GtkList</refname>
<refpurpose>Widget for packing a list of selectable items</refpurpose>
</refnamediv>

<refsynopsisdiv id="GtkList.synopsis" role="synopsis">
<title role="synopsis.title">Synopsis</title>

<synopsis>

#include &lt;gtk/gtk.h&gt;

                    <link linkend="GtkList-struct">GtkList</link>;
<link linkend="GtkWidget">GtkWidget</link>*          <link linkend="gtk-list-new">gtk_list_new</link>                        (void);
<link linkend="void">void</link>                <link linkend="gtk-list-insert-items">gtk_list_insert_items</link>               (<link linkend="GtkList">GtkList</link> *list,
                                                         <link linkend="GList">GList</link> *items,
                                                         <link linkend="gint">gint</link> position);
<link linkend="void">void</link>                <link linkend="gtk-list-append-items">gtk_list_append_items</link>               (<link linkend="GtkList">GtkList</link> *list,
                                                         <link linkend="GList">GList</link> *items);
<link linkend="void">void</link>                <link linkend="gtk-list-prepend-items">gtk_list_prepend_items</link>              (<link linkend="GtkList">GtkList</link> *list,
                                                         <link linkend="GList">GList</link> *items);
<link linkend="void">void</link>                <link linkend="gtk-list-remove-items">gtk_list_remove_items</link>               (<link linkend="GtkList">GtkList</link> *list,
                                                         <link linkend="GList">GList</link> *items);
<link linkend="void">void</link>                <link linkend="gtk-list-remove-items-no-unref">gtk_list_remove_items_no_unref</link>      (<link linkend="GtkList">GtkList</link> *list,
                                                         <link linkend="GList">GList</link> *items);
<link linkend="void">void</link>                <link linkend="gtk-list-clear-items">gtk_list_clear_items</link>                (<link linkend="GtkList">GtkList</link> *list,
                                                         <link linkend="gint">gint</link> start,
                                                         <link linkend="gint">gint</link> end);
<link linkend="void">void</link>                <link linkend="gtk-list-select-item">gtk_list_select_item</link>                (<link linkend="GtkList">GtkList</link> *list,
                                                         <link linkend="gint">gint</link> item);
<link linkend="void">void</link>                <link linkend="gtk-list-unselect-item">gtk_list_unselect_item</link>              (<link linkend="GtkList">GtkList</link> *list,
                                                         <link linkend="gint">gint</link> item);
<link linkend="void">void</link>                <link linkend="gtk-list-select-child">gtk_list_select_child</link>               (<link linkend="GtkList">GtkList</link> *list,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child);
<link linkend="void">void</link>                <link linkend="gtk-list-unselect-child">gtk_list_unselect_child</link>             (<link linkend="GtkList">GtkList</link> *list,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child);
<link linkend="gint">gint</link>                <link linkend="gtk-list-child-position">gtk_list_child_position</link>             (<link linkend="GtkList">GtkList</link> *list,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child);
<link linkend="void">void</link>                <link linkend="gtk-list-set-selection-mode">gtk_list_set_selection_mode</link>         (<link linkend="GtkList">GtkList</link> *list,
                                                         <link linkend="GtkSelectionMode">GtkSelectionMode</link> mode);
<link linkend="void">void</link>                <link linkend="gtk-list-extend-selection">gtk_list_extend_selection</link>           (<link linkend="GtkList">GtkList</link> *list,
                                                         <link linkend="GtkScrollType">GtkScrollType</link> scroll_type,
                                                         <link linkend="gfloat">gfloat</link> position,
                                                         <link linkend="gboolean">gboolean</link> auto_start_selection);
<link linkend="void">void</link>                <link linkend="gtk-list-start-selection">gtk_list_start_selection</link>            (<link linkend="GtkList">GtkList</link> *list);
<link linkend="void">void</link>                <link linkend="gtk-list-end-selection">gtk_list_end_selection</link>              (<link linkend="GtkList">GtkList</link> *list);
<link linkend="void">void</link>                <link linkend="gtk-list-select-all">gtk_list_select_all</link>                 (<link linkend="GtkList">GtkList</link> *list);
<link linkend="void">void</link>                <link linkend="gtk-list-unselect-all">gtk_list_unselect_all</link>               (<link linkend="GtkList">GtkList</link> *list);
<link linkend="void">void</link>                <link linkend="gtk-list-scroll-horizontal">gtk_list_scroll_horizontal</link>          (<link linkend="GtkList">GtkList</link> *list,
                                                         <link linkend="GtkScrollType">GtkScrollType</link> scroll_type,
                                                         <link linkend="gfloat">gfloat</link> position);
<link linkend="void">void</link>                <link linkend="gtk-list-scroll-vertical">gtk_list_scroll_vertical</link>            (<link linkend="GtkList">GtkList</link> *list,
                                                         <link linkend="GtkScrollType">GtkScrollType</link> scroll_type,
                                                         <link linkend="gfloat">gfloat</link> position);
<link linkend="void">void</link>                <link linkend="gtk-list-toggle-add-mode">gtk_list_toggle_add_mode</link>            (<link linkend="GtkList">GtkList</link> *list);
<link linkend="void">void</link>                <link linkend="gtk-list-toggle-focus-row">gtk_list_toggle_focus_row</link>           (<link linkend="GtkList">GtkList</link> *list);
<link linkend="void">void</link>                <link linkend="gtk-list-toggle-row">gtk_list_toggle_row</link>                 (<link linkend="GtkList">GtkList</link> *list,
                                                         <link linkend="GtkWidget">GtkWidget</link> *item);
<link linkend="void">void</link>                <link linkend="gtk-list-undo-selection">gtk_list_undo_selection</link>             (<link linkend="GtkList">GtkList</link> *list);
<link linkend="void">void</link>                <link linkend="gtk-list-end-drag-selection">gtk_list_end_drag_selection</link>         (<link linkend="GtkList">GtkList</link> *list);
</synopsis>
</refsynopsisdiv>

<refsect1 id="GtkList.object-hierarchy" role="object_hierarchy">
<title role="object_hierarchy.title">Object Hierarchy</title>
<synopsis>
  <link linkend="GObject">GObject</link>
   +----<link linkend="GInitiallyUnowned">GInitiallyUnowned</link>
         +----<link linkend="GtkObject">GtkObject</link>
               +----<link linkend="GtkWidget">GtkWidget</link>
                     +----<link linkend="GtkContainer">GtkContainer</link>
                           +----GtkList
</synopsis>
</refsect1>



<refsect1 id="GtkList.implemented-interfaces" role="impl_interfaces">
<title role="impl_interfaces.title">Implemented Interfaces</title>
<para>
GtkList implements
 <link linkend="AtkImplementorIface">AtkImplementorIface</link> and  <link linkend="GtkBuildable">GtkBuildable</link>.</para>
</refsect1>


<refsect1 id="GtkList.properties" role="properties">
<title role="properties.title">Properties</title>
<synopsis>
  &quot;<link linkend="GtkList--selection-mode">selection-mode</link>&quot;           <link linkend="GtkSelectionMode">GtkSelectionMode</link>      : Read / Write
</synopsis>
</refsect1>

<refsect1 id="GtkList.signals" role="signal_proto">
<title role="signal_proto.title">Signals</title>
<synopsis>
  &quot;<link linkend="GtkList-select-child">select-child</link>&quot;                                   : Run First
  &quot;<link linkend="GtkList-selection-changed">selection-changed</link>&quot;                              : Run First
  &quot;<link linkend="GtkList-unselect-child">unselect-child</link>&quot;                                 : Run First
</synopsis>
</refsect1>


<refsect1 id="GtkList.description" role="desc">
<title role="desc.title">Description</title>
<para>
The <link linkend="GtkList"><type>GtkList</type></link> widget is a container whose children are displayed
vertically in order, and can be selected.
The list has many selection modes, which are programmer selective and
depend on how many elements are able to be selected at the same time.
</para>
<para>
GtkList has been deprecated since GTK+ 2.0 and should not be used
in newly written code. Use <link linkend="GtkTreeView"><type>GtkTreeView</type></link> instead.
</para>
</refsect1>

<refsect1 id="GtkList.details" role="details">
<title role="details.title">Details</title>
<refsect2 id="GtkList-struct" role="struct">
<title>GtkList</title>
<indexterm zone="GtkList-struct" role="deprecated"><primary sortas="List">GtkList</primary></indexterm><programlisting>typedef struct _GtkList GtkList;</programlisting>
<warning><para><literal>GtkList</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
</para></refsect2>
<refsect2 id="gtk-list-new" role="function" condition="deprecated:">
<title>gtk_list_new ()</title>
<indexterm zone="gtk-list-new" role="deprecated"><primary sortas="list_new">gtk_list_new</primary></indexterm><programlisting><link linkend="GtkWidget">GtkWidget</link>*          gtk_list_new                        (void);</programlisting>
<warning><para><literal>gtk_list_new</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Creates a new <link linkend="GtkList"><type>GtkList</type></link>.
</para><variablelist role="params">
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>the newly-created <link linkend="GtkList"><type>GtkList</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-list-insert-items" role="function" condition="deprecated:">
<title>gtk_list_insert_items ()</title>
<indexterm zone="gtk-list-insert-items" role="deprecated"><primary sortas="list_insert_items">gtk_list_insert_items</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_list_insert_items               (<link linkend="GtkList">GtkList</link> *list,
                                                         <link linkend="GList">GList</link> *items,
                                                         <link linkend="gint">gint</link> position);</programlisting>
<warning><para><literal>gtk_list_insert_items</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Inserts <parameter>items</parameter> into the <parameter>list</parameter> at the position <parameter>position</parameter>. The <link linkend="GList"><type>GList</type></link> items
must not be freed after.
</para><variablelist role="params">
<varlistentry><term><parameter>list</parameter>&#160;:</term>
<listitem><simpara>the list widget.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>items</parameter>&#160;:</term>
<listitem><simpara>the items.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>position</parameter>&#160;:</term>
<listitem><simpara>the position to insert <parameter>items</parameter>, starting at 0.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-list-append-items" role="function" condition="deprecated:">
<title>gtk_list_append_items ()</title>
<indexterm zone="gtk-list-append-items" role="deprecated"><primary sortas="list_append_items">gtk_list_append_items</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_list_append_items               (<link linkend="GtkList">GtkList</link> *list,
                                                         <link linkend="GList">GList</link> *items);</programlisting>
<warning><para><literal>gtk_list_append_items</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Adds <parameter>items</parameter> to the end of the <parameter>list</parameter>.
</para><variablelist role="params">
<varlistentry><term><parameter>list</parameter>&#160;:</term>
<listitem><simpara>the list widget.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>items</parameter>&#160;:</term>
<listitem><simpara>the items.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-list-prepend-items" role="function" condition="deprecated:">
<title>gtk_list_prepend_items ()</title>
<indexterm zone="gtk-list-prepend-items" role="deprecated"><primary sortas="list_prepend_items">gtk_list_prepend_items</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_list_prepend_items              (<link linkend="GtkList">GtkList</link> *list,
                                                         <link linkend="GList">GList</link> *items);</programlisting>
<warning><para><literal>gtk_list_prepend_items</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Inserts <parameter>items</parameter> at the beginning of the <parameter>list</parameter>.
</para><variablelist role="params">
<varlistentry><term><parameter>list</parameter>&#160;:</term>
<listitem><simpara>the list widget.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>items</parameter>&#160;:</term>
<listitem><simpara>the items.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-list-remove-items" role="function" condition="deprecated:">
<title>gtk_list_remove_items ()</title>
<indexterm zone="gtk-list-remove-items" role="deprecated"><primary sortas="list_remove_items">gtk_list_remove_items</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_list_remove_items               (<link linkend="GtkList">GtkList</link> *list,
                                                         <link linkend="GList">GList</link> *items);</programlisting>
<warning><para><literal>gtk_list_remove_items</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Removes the <parameter>items</parameter> from the <parameter>list</parameter>.
</para><variablelist role="params">
<varlistentry><term><parameter>list</parameter>&#160;:</term>
<listitem><simpara>the list widget.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>items</parameter>&#160;:</term>
<listitem><simpara>the items to remove.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-list-remove-items-no-unref" role="function" condition="deprecated:">
<title>gtk_list_remove_items_no_unref ()</title>
<indexterm zone="gtk-list-remove-items-no-unref" role="deprecated"><primary sortas="list_remove_items_no_unref">gtk_list_remove_items_no_unref</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_list_remove_items_no_unref      (<link linkend="GtkList">GtkList</link> *list,
                                                         <link linkend="GList">GList</link> *items);</programlisting>
<warning><para><literal>gtk_list_remove_items_no_unref</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Removes the <parameter>items</parameter> from the <parameter>list</parameter>, without unreferencing them. It
may be useful if you want to move the items from one list to another.
</para><variablelist role="params">
<varlistentry><term><parameter>list</parameter>&#160;:</term>
<listitem><simpara>the list widget.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>items</parameter>&#160;:</term>
<listitem><simpara>the items.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-list-clear-items" role="function" condition="deprecated:">
<title>gtk_list_clear_items ()</title>
<indexterm zone="gtk-list-clear-items" role="deprecated"><primary sortas="list_clear_items">gtk_list_clear_items</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_list_clear_items                (<link linkend="GtkList">GtkList</link> *list,
                                                         <link linkend="gint">gint</link> start,
                                                         <link linkend="gint">gint</link> end);</programlisting>
<warning><para><literal>gtk_list_clear_items</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Removes the items between index <parameter>start</parameter> (included) and <parameter>end</parameter> (excluded)
from the <parameter>list</parameter>. If <parameter>end</parameter> is negative, or greater than the number of
children of <parameter>list</parameter>, it's assumed to be exactly the number of
elements. If <parameter>start</parameter> is greater than or equal to <parameter>end</parameter>, nothing is
done.
</para><variablelist role="params">
<varlistentry><term><parameter>list</parameter>&#160;:</term>
<listitem><simpara>the list widget.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>start</parameter>&#160;:</term>
<listitem><simpara>the index of the first item to remove.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>end</parameter>&#160;:</term>
<listitem><simpara>the index of the lest item to remove plus one.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-list-select-item" role="function" condition="deprecated:">
<title>gtk_list_select_item ()</title>
<indexterm zone="gtk-list-select-item" role="deprecated"><primary sortas="list_select_item">gtk_list_select_item</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_list_select_item                (<link linkend="GtkList">GtkList</link> *list,
                                                         <link linkend="gint">gint</link> item);</programlisting>
<warning><para><literal>gtk_list_select_item</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Selects the child number <parameter>item</parameter> of the <parameter>list</parameter>. Nothing happens if <parameter>item</parameter>
is out of bounds. The signal GtkList::select-child will be emitted.
</para><variablelist role="params">
<varlistentry><term><parameter>list</parameter>&#160;:</term>
<listitem><simpara>the list widget.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>item</parameter>&#160;:</term>
<listitem><simpara>the index of the child to select.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-list-unselect-item" role="function" condition="deprecated:">
<title>gtk_list_unselect_item ()</title>
<indexterm zone="gtk-list-unselect-item" role="deprecated"><primary sortas="list_unselect_item">gtk_list_unselect_item</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_list_unselect_item              (<link linkend="GtkList">GtkList</link> *list,
                                                         <link linkend="gint">gint</link> item);</programlisting>
<warning><para><literal>gtk_list_unselect_item</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Unselects the child number <parameter>item</parameter> of the <parameter>list</parameter>. Nothing happens if
<parameter>item</parameter> is out of bounds. The signal GtkList::unselect-child will be
emitted.
</para><variablelist role="params">
<varlistentry><term><parameter>list</parameter>&#160;:</term>
<listitem><simpara>the list widget.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>item</parameter>&#160;:</term>
<listitem><simpara>the index of the child to unselect.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-list-select-child" role="function" condition="deprecated:">
<title>gtk_list_select_child ()</title>
<indexterm zone="gtk-list-select-child" role="deprecated"><primary sortas="list_select_child">gtk_list_select_child</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_list_select_child               (<link linkend="GtkList">GtkList</link> *list,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child);</programlisting>
<warning><para><literal>gtk_list_select_child</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Selects the given <parameter>child</parameter>. The signal GtkList::select-child will be
emitted.
</para><variablelist role="params">
<varlistentry><term><parameter>list</parameter>&#160;:</term>
<listitem><simpara>the list widget
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>child</parameter>&#160;:</term>
<listitem><simpara>the child to select.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-list-unselect-child" role="function" condition="deprecated:">
<title>gtk_list_unselect_child ()</title>
<indexterm zone="gtk-list-unselect-child" role="deprecated"><primary sortas="list_unselect_child">gtk_list_unselect_child</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_list_unselect_child             (<link linkend="GtkList">GtkList</link> *list,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child);</programlisting>
<warning><para><literal>gtk_list_unselect_child</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Unselects the given <parameter>child</parameter>. The signal GtkList::unselect-child will be
emitted.
</para><variablelist role="params">
<varlistentry><term><parameter>list</parameter>&#160;:</term>
<listitem><simpara>the list widget.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>child</parameter>&#160;:</term>
<listitem><simpara>the child to unselect.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-list-child-position" role="function" condition="deprecated:">
<title>gtk_list_child_position ()</title>
<indexterm zone="gtk-list-child-position" role="deprecated"><primary sortas="list_child_position">gtk_list_child_position</primary></indexterm><programlisting><link linkend="gint">gint</link>                gtk_list_child_position             (<link linkend="GtkList">GtkList</link> *list,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child);</programlisting>
<warning><para><literal>gtk_list_child_position</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Searches the children of <parameter>list</parameter> for the index of <parameter>child</parameter>.
</para><variablelist role="params">
<varlistentry><term><parameter>list</parameter>&#160;:</term>
<listitem><simpara>the list widget.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>child</parameter>&#160;:</term>
<listitem><simpara>the child to look for.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>the index of the child, -1 if not found.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-list-set-selection-mode" role="function" condition="deprecated:">
<title>gtk_list_set_selection_mode ()</title>
<indexterm zone="gtk-list-set-selection-mode" role="deprecated"><primary sortas="list_set_selection_mode">gtk_list_set_selection_mode</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_list_set_selection_mode         (<link linkend="GtkList">GtkList</link> *list,
                                                         <link linkend="GtkSelectionMode">GtkSelectionMode</link> mode);</programlisting>
<warning><para><literal>gtk_list_set_selection_mode</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Set the list selection mode. The selection mode can be any value in
<link linkend="GtkSelectionMode--"><type>""</type></link>
<variablelist>
<varlistentry>
<term><link linkend="GTK-SELECTION-SINGLE--CAPS"><type>GTK_SELECTION_SINGLE</type></link></term>
<listitem><para>
Zero or one element may be selected.
</para></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="GTK-SELECTION-BROWSE--CAPS"><type>GTK_SELECTION_BROWSE</type></link></term>
<listitem><para>
Exactly one element is always selected (this can be false after you have
changed the selection mode).
</para></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="GTK-SELECTION-MULTIPLE--CAPS"><type>GTK_SELECTION_MULTIPLE</type></link></term>
<listitem><para>
Any number of elements may be selected. Clicks toggle the state of an
item.
</para></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="GTK-SELECTION-EXTENDED--CAPS"><type>GTK_SELECTION_EXTENDED</type></link></term>
<listitem><para>
Any number of elements may be selected. Click-drag selects a range of
elements; the Ctrl key may be used to enlarge the selection, and
Shift key to select between the focus and the child pointed to.
</para></listitem>
</varlistentry>
</variablelist>
</para><variablelist role="params">
<varlistentry><term><parameter>list</parameter>&#160;:</term>
<listitem><simpara>the list widget.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>mode</parameter>&#160;:</term>
<listitem><simpara>the new selection mode.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-list-extend-selection" role="function" condition="deprecated:">
<title>gtk_list_extend_selection ()</title>
<indexterm zone="gtk-list-extend-selection" role="deprecated"><primary sortas="list_extend_selection">gtk_list_extend_selection</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_list_extend_selection           (<link linkend="GtkList">GtkList</link> *list,
                                                         <link linkend="GtkScrollType">GtkScrollType</link> scroll_type,
                                                         <link linkend="gfloat">gfloat</link> position,
                                                         <link linkend="gboolean">gboolean</link> auto_start_selection);</programlisting>
<warning><para><literal>gtk_list_extend_selection</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Extends the selection by moving the anchor according to <parameter>scroll_type</parameter>. Only
in <link linkend="GTK-SELECTION-EXTENDED--CAPS"><type>GTK_SELECTION_EXTENDED</type></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>list</parameter>&#160;:</term>
<listitem><simpara>the list widget.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>scroll_type</parameter>&#160;:</term>
<listitem><simpara>the direction and length.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>position</parameter>&#160;:</term>
<listitem><simpara>the position if <parameter>scroll_type</parameter> is <link linkend="GTK-SCROLL-JUMP--CAPS"><type>GTK_SCROLL_JUMP</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>auto_start_selection</parameter>&#160;:</term>
<listitem><simpara>if <link linkend="TRUE--CAPS"><literal>TRUE</literal></link>, <link linkend="gtk-list-start-selection"><function>gtk_list_start_selection()</function></link> is automatically
carried out before extending the selection.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-list-start-selection" role="function" condition="deprecated:">
<title>gtk_list_start_selection ()</title>
<indexterm zone="gtk-list-start-selection" role="deprecated"><primary sortas="list_start_selection">gtk_list_start_selection</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_list_start_selection            (<link linkend="GtkList">GtkList</link> *list);</programlisting>
<warning><para><literal>gtk_list_start_selection</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Starts a selection (or part of selection) at the focused child. Only in
<link linkend="GTK-SELECTION-EXTENDED--CAPS"><type>GTK_SELECTION_EXTENDED</type></link> mode.
</para><variablelist role="params">
<varlistentry><term><parameter>list</parameter>&#160;:</term>
<listitem><simpara>the list widget.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-list-end-selection" role="function" condition="deprecated:">
<title>gtk_list_end_selection ()</title>
<indexterm zone="gtk-list-end-selection" role="deprecated"><primary sortas="list_end_selection">gtk_list_end_selection</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_list_end_selection              (<link linkend="GtkList">GtkList</link> *list);</programlisting>
<warning><para><literal>gtk_list_end_selection</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Ends the selection. Used with <link linkend="gtk-list-extend-selection"><function>gtk_list_extend_selection()</function></link> and
<link linkend="gtk-list-start-selection"><function>gtk_list_start_selection()</function></link>. Only in <link linkend="GTK-SELECTION-EXTENDED--CAPS"><type>GTK_SELECTION_EXTENDED</type></link> mode.
</para><variablelist role="params">
<varlistentry><term><parameter>list</parameter>&#160;:</term>
<listitem><simpara>the list widget.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-list-select-all" role="function" condition="deprecated:">
<title>gtk_list_select_all ()</title>
<indexterm zone="gtk-list-select-all" role="deprecated"><primary sortas="list_select_all">gtk_list_select_all</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_list_select_all                 (<link linkend="GtkList">GtkList</link> *list);</programlisting>
<warning><para><literal>gtk_list_select_all</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Selects all children of <parameter>list</parameter>. A signal will be emitted for each
newly selected child.
</para><variablelist role="params">
<varlistentry><term><parameter>list</parameter>&#160;:</term>
<listitem><simpara>the list widget.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-list-unselect-all" role="function" condition="deprecated:">
<title>gtk_list_unselect_all ()</title>
<indexterm zone="gtk-list-unselect-all" role="deprecated"><primary sortas="list_unselect_all">gtk_list_unselect_all</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_list_unselect_all               (<link linkend="GtkList">GtkList</link> *list);</programlisting>
<warning><para><literal>gtk_list_unselect_all</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Unselects all children of <parameter>list</parameter>. A signal will be emitted for each
newly unselected child.
</para><variablelist role="params">
<varlistentry><term><parameter>list</parameter>&#160;:</term>
<listitem><simpara>the list widget.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-list-scroll-horizontal" role="function" condition="deprecated:">
<title>gtk_list_scroll_horizontal ()</title>
<indexterm zone="gtk-list-scroll-horizontal" role="deprecated"><primary sortas="list_scroll_horizontal">gtk_list_scroll_horizontal</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_list_scroll_horizontal          (<link linkend="GtkList">GtkList</link> *list,
                                                         <link linkend="GtkScrollType">GtkScrollType</link> scroll_type,
                                                         <link linkend="gfloat">gfloat</link> position);</programlisting>
<warning><para><literal>gtk_list_scroll_horizontal</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Scrolls <parameter>list</parameter> horizontaly. This supposes that the list is packed into a
scrolled window or something similar, and adjustments are well
set. Step and page increment are those from the horizontal adjustment
of <parameter>list</parameter>. Backward means to the left, and forward to the
right. Out of bounds values are truncated.
<parameter>scroll_type</parameter> may be any valid <link linkend="GtkScrollType"><type>GtkScrollType</type></link>. If <parameter>scroll_type</parameter> is
<link linkend="GTK-SCROLL-NONE--CAPS"><type>GTK_SCROLL_NONE</type></link>, nothing is done. If it's <link linkend="GTK-SCROLL-JUMP--CAPS"><type>GTK_SCROLL_JUMP</type></link>, the list
scrolls to the ratio <parameter>position</parameter>: 0 is full left, 1 is full right.
</para><variablelist role="params">
<varlistentry><term><parameter>list</parameter>&#160;:</term>
<listitem><simpara>the list widget.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>scroll_type</parameter>&#160;:</term>
<listitem><simpara>the scrolling type.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>position</parameter>&#160;:</term>
<listitem><simpara>the position if <parameter>scroll_type</parameter> is <link linkend="GTK-SCROLL-JUMP--CAPS"><type>GTK_SCROLL_JUMP</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-list-scroll-vertical" role="function" condition="deprecated:">
<title>gtk_list_scroll_vertical ()</title>
<indexterm zone="gtk-list-scroll-vertical" role="deprecated"><primary sortas="list_scroll_vertical">gtk_list_scroll_vertical</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_list_scroll_vertical            (<link linkend="GtkList">GtkList</link> *list,
                                                         <link linkend="GtkScrollType">GtkScrollType</link> scroll_type,
                                                         <link linkend="gfloat">gfloat</link> position);</programlisting>
<warning><para><literal>gtk_list_scroll_vertical</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Scrolls <parameter>list</parameter> vertically. This supposes that the list is packed into a
scrolled window or something similar, and adjustments are well
set. Step and page increment are those from the vertical adjustment
of <parameter>list</parameter>. Backward means up, and forward down. Out of bounds values are
truncated.
<parameter>scroll_type</parameter> may be any valid <link linkend="GtkScrollType"><type>GtkScrollType</type></link>. If <parameter>scroll_type</parameter> is
<link linkend="GTK-SCROLL-NONE--CAPS"><type>GTK_SCROLL_NONE</type></link>, nothing is done. If it's <link linkend="GTK-SCROLL-JUMP--CAPS"><type>GTK_SCROLL_JUMP</type></link>, the list
scrolls to the ratio <parameter>position</parameter>: 0 is top, 1 is bottom.
</para><variablelist role="params">
<varlistentry><term><parameter>list</parameter>&#160;:</term>
<listitem><simpara>the list widget.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>scroll_type</parameter>&#160;:</term>
<listitem><simpara>the scrolling type.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>position</parameter>&#160;:</term>
<listitem><simpara>the position if <parameter>scroll_type</parameter> is <link linkend="GTK-SCROLL-JUMP--CAPS"><type>GTK_SCROLL_JUMP</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-list-toggle-add-mode" role="function" condition="deprecated:">
<title>gtk_list_toggle_add_mode ()</title>
<indexterm zone="gtk-list-toggle-add-mode" role="deprecated"><primary sortas="list_toggle_add_mode">gtk_list_toggle_add_mode</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_list_toggle_add_mode            (<link linkend="GtkList">GtkList</link> *list);</programlisting>
<warning><para><literal>gtk_list_toggle_add_mode</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Toggles between adding to the selection and beginning a new selection. Only
in <link linkend="GTK-SELECTION-EXTENDED--CAPS"><type>GTK_SELECTION_EXTENDED</type></link>. Useful with <link linkend="gtk-list-extend-selection"><function>gtk_list_extend_selection()</function></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>list</parameter>&#160;:</term>
<listitem><simpara>the list widget.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-list-toggle-focus-row" role="function" condition="deprecated:">
<title>gtk_list_toggle_focus_row ()</title>
<indexterm zone="gtk-list-toggle-focus-row" role="deprecated"><primary sortas="list_toggle_focus_row">gtk_list_toggle_focus_row</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_list_toggle_focus_row           (<link linkend="GtkList">GtkList</link> *list);</programlisting>
<warning><para><literal>gtk_list_toggle_focus_row</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Toggles the focus row. If the focus row is selected, it's
unselected. If the focus row is unselected, it's selected. If the
selection mode of <parameter>list</parameter> is <link linkend="GTK-SELECTION-BROWSE--CAPS"><type>GTK_SELECTION_BROWSE</type></link>, this has no effect,
as the selection is always at the focus row.
</para><variablelist role="params">
<varlistentry><term><parameter>list</parameter>&#160;:</term>
<listitem><simpara>the list widget.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-list-toggle-row" role="function" condition="deprecated:">
<title>gtk_list_toggle_row ()</title>
<indexterm zone="gtk-list-toggle-row" role="deprecated"><primary sortas="list_toggle_row">gtk_list_toggle_row</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_list_toggle_row                 (<link linkend="GtkList">GtkList</link> *list,
                                                         <link linkend="GtkWidget">GtkWidget</link> *item);</programlisting>
<warning><para><literal>gtk_list_toggle_row</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Toggles the child <parameter>item</parameter> of list. If the selection mode of <parameter>list</parameter> is
<link linkend="GTK-SELECTION-BROWSE--CAPS"><type>GTK_SELECTION_BROWSE</type></link>, the item is selected, and the others are
unselected.
</para><variablelist role="params">
<varlistentry><term><parameter>list</parameter>&#160;:</term>
<listitem><simpara>the list widget.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>item</parameter>&#160;:</term>
<listitem><simpara>the child to toggle.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-list-undo-selection" role="function" condition="deprecated:">
<title>gtk_list_undo_selection ()</title>
<indexterm zone="gtk-list-undo-selection" role="deprecated"><primary sortas="list_undo_selection">gtk_list_undo_selection</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_list_undo_selection             (<link linkend="GtkList">GtkList</link> *list);</programlisting>
<warning><para><literal>gtk_list_undo_selection</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Restores the selection in the last state, only if selection mode is
<link linkend="GTK-SELECTION-EXTENDED--CAPS"><type>GTK_SELECTION_EXTENDED</type></link>. If this function is called twice, the selection is
cleared. This function sometimes gives stranges "last states".
</para><variablelist role="params">
<varlistentry><term><parameter>list</parameter>&#160;:</term>
<listitem><simpara>the list widget.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-list-end-drag-selection" role="function" condition="deprecated:">
<title>gtk_list_end_drag_selection ()</title>
<indexterm zone="gtk-list-end-drag-selection" role="deprecated"><primary sortas="list_end_drag_selection">gtk_list_end_drag_selection</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_list_end_drag_selection         (<link linkend="GtkList">GtkList</link> *list);</programlisting>
<warning><para><literal>gtk_list_end_drag_selection</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Stops the drag selection mode and ungrabs the pointer. This has no
effect if a drag selection is not active.
</para><variablelist role="params">
<varlistentry><term><parameter>list</parameter>&#160;:</term>
<listitem><simpara>the list widget.
</simpara></listitem></varlistentry>
</variablelist></refsect2>

</refsect1>
<refsect1 id="GtkList.property-details" role="property_details">
<title role="property_details.title">Property Details</title>
<refsect2 id="GtkList--selection-mode" role="property"><title>The <literal>&quot;selection-mode&quot;</literal> property</title>
<indexterm zone="GtkList--selection-mode"><primary sortas="List:selection-mode">GtkList:selection-mode</primary></indexterm><programlisting>  &quot;selection-mode&quot;           <link linkend="GtkSelectionMode">GtkSelectionMode</link>      : Read / Write</programlisting>
<para></para><para>Default value: GTK_SELECTION_NONE</para>
</refsect2>
</refsect1>

<refsect1 id="GtkList.signal-details" role="signals">
<title role="signals.title">Signal Details</title>
<refsect2 id="GtkList-select-child" role="signal"><title>The <literal>&quot;select-child&quot;</literal> signal</title>
<indexterm zone="GtkList-select-child"><primary sortas="List::select-child">GtkList::select-child</primary></indexterm><programlisting><link linkend="void">void</link>                user_function                      (<link linkend="GtkList">GtkList</link>   *list,
                                                        <link linkend="GtkWidget">GtkWidget</link> *widget,
                                                        <link linkend="gpointer">gpointer</link>   user_data)      : Run First</programlisting>
<para>
The child <parameter>widget</parameter> has just been selected.
</para><variablelist role="params">
<varlistentry><term><parameter>list</parameter>&#160;:</term>
<listitem><simpara>the object which received the signal.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>widget</parameter>&#160;:</term>
<listitem><simpara>the newly selected child.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2 id="GtkList-selection-changed" role="signal"><title>The <literal>&quot;selection-changed&quot;</literal> signal</title>
<indexterm zone="GtkList-selection-changed"><primary sortas="List::selection-changed">GtkList::selection-changed</primary></indexterm><programlisting><link linkend="void">void</link>                user_function                      (<link linkend="GtkList">GtkList</link> *list,
                                                        <link linkend="gpointer">gpointer</link> user_data)      : Run First</programlisting>
<para>
The selection of the widget has just changed.
</para><variablelist role="params">
<varlistentry><term><parameter>list</parameter>&#160;:</term>
<listitem><simpara>the object which received the signal.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2 id="GtkList-unselect-child" role="signal"><title>The <literal>&quot;unselect-child&quot;</literal> signal</title>
<indexterm zone="GtkList-unselect-child"><primary sortas="List::unselect-child">GtkList::unselect-child</primary></indexterm><programlisting><link linkend="void">void</link>                user_function                      (<link linkend="GtkList">GtkList</link>   *list,
                                                        <link linkend="GtkWidget">GtkWidget</link> *widget,
                                                        <link linkend="gpointer">gpointer</link>   user_data)      : Run First</programlisting>
<para>
The child <parameter>widget</parameter> has just been unselected.
</para><variablelist role="params">
<varlistentry><term><parameter>list</parameter>&#160;:</term>
<listitem><simpara>the object which received the signal.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>widget</parameter>&#160;:</term>
<listitem><simpara>the newly unselected child.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2>
</refsect1>


<refsect1 id="GtkList.see-also">
<title>See Also</title>
<para>
<variablelist>
<varlistentry>
<term><link linkend="GtkContainer"><type>GtkContainer</type></link></term>
<listitem><para>For functions that apply to every <link linkend="GtkContainer"><type>GtkContainer</type></link>
(like <link linkend="GtkList"><type>GtkList</type></link>).</para></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="GtkListitem"><type>GtkListitem</type></link></term>
<listitem><para>Children of a <link linkend="GtkList"><type>GtkList</type></link> widget must be of this
type.</para></listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>

</refentry>
