<?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="GtkEntryCompletion">
<refmeta>
<refentrytitle role="top_of_page" id="GtkEntryCompletion.top_of_page">GtkEntryCompletion</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>GTK4 Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>GtkEntryCompletion</refname>
<refpurpose>Completion functionality for GtkEntry</refpurpose>
</refnamediv>

<refsect1 id="GtkEntryCompletion.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="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><phrase role="c_punctuation">(</phrase><link linkend="GtkEntryCompletionMatchFunc">*GtkEntryCompletionMatchFunc</link><phrase role="c_punctuation">)</phrase>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkEntryCompletion"><returnvalue>GtkEntryCompletion</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-entry-completion-new">gtk_entry_completion_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkEntryCompletion"><returnvalue>GtkEntryCompletion</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-entry-completion-new-with-area">gtk_entry_completion_new_with_area</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-entry-completion-get-entry">gtk_entry_completion_get_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-entry-completion-set-model">gtk_entry_completion_set_model</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-entry-completion-get-model">gtk_entry_completion_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-entry-completion-set-match-func">gtk_entry_completion_set_match_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-entry-completion-set-minimum-key-length">gtk_entry_completion_set_minimum_key_length</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-entry-completion-get-minimum-key-length">gtk_entry_completion_get_minimum_key_length</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gchar"><returnvalue>gchar</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-entry-completion-compute-prefix">gtk_entry_completion_compute_prefix</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-entry-completion-complete">gtk_entry_completion_complete</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-entry-completion-get-completion-prefix">gtk_entry_completion_get_completion_prefix</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-entry-completion-insert-prefix">gtk_entry_completion_insert_prefix</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-entry-completion-insert-action-text">gtk_entry_completion_insert_action_text</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-entry-completion-insert-action-markup">gtk_entry_completion_insert_action_markup</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-entry-completion-delete-action">gtk_entry_completion_delete_action</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-entry-completion-set-text-column">gtk_entry_completion_set_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-entry-completion-get-text-column">gtk_entry_completion_get_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-entry-completion-set-inline-completion">gtk_entry_completion_set_inline_completion</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-entry-completion-get-inline-completion">gtk_entry_completion_get_inline_completion</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-entry-completion-set-inline-selection">gtk_entry_completion_set_inline_selection</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-entry-completion-get-inline-selection">gtk_entry_completion_get_inline_selection</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-entry-completion-set-popup-completion">gtk_entry_completion_set_popup_completion</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-entry-completion-get-popup-completion">gtk_entry_completion_get_popup_completion</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-entry-completion-set-popup-set-width">gtk_entry_completion_set_popup_set_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-entry-completion-get-popup-set-width">gtk_entry_completion_get_popup_set_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-entry-completion-set-popup-single-match">gtk_entry_completion_set_popup_single_match</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-entry-completion-get-popup-single-match">gtk_entry_completion_get_popup_single_match</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkEntryCompletion.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="GtkCellArea"><type>GtkCellArea</type></link>&#160;*</entry><entry role="property_name"><link linkend="GtkEntryCompletion--cell-area">cell-area</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="GtkEntryCompletion--inline-completion">inline-completion</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="GtkEntryCompletion--inline-selection">inline-selection</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="GtkEntryCompletion--minimum-key-length">minimum-key-length</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="GtkEntryCompletion--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="GtkEntryCompletion--popup-completion">popup-completion</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="GtkEntryCompletion--popup-set-width">popup-set-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="GtkEntryCompletion--popup-single-match">popup-single-match</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="GtkEntryCompletion--text-column">text-column</link></entry><entry role="property_flags">Read / Write</entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkEntryCompletion.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="GtkEntryCompletion-action-activated">action-activated</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="gboolean"><returnvalue>gboolean</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkEntryCompletion-cursor-on-match">cursor-on-match</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="gboolean"><returnvalue>gboolean</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkEntryCompletion-insert-prefix">insert-prefix</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="gboolean"><returnvalue>gboolean</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkEntryCompletion-match-selected">match-selected</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="GtkEntryCompletion-no-matches">no-matches</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></entry></row>

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

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkEntryCompletion.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> GtkEntryCompletion
</screen>
</refsect1>
<refsect1 id="GtkEntryCompletion.implemented-interfaces" role="impl_interfaces">
<title role="impl_interfaces.title">Implemented Interfaces</title>
<para>
GtkEntryCompletion implements
 <link linkend="GtkCellLayout">GtkCellLayout</link> and  <link linkend="GtkBuildable">GtkBuildable</link>.</para>

</refsect1>

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

<refsect1 id="GtkEntryCompletion.description" role="desc">
<title role="desc.title">Description</title>
<para><link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link> is an auxiliary object to be used in conjunction with
<link linkend="GtkEntry"><type>GtkEntry</type></link> to provide the completion functionality. It implements the
<link linkend="GtkCellLayout"><type>GtkCellLayout</type></link> interface, to allow the user to add extra cells to the
<link linkend="GtkTreeView"><type>GtkTreeView</type></link> with completion matches.</para>
<para>“Completion functionality” means that when the user modifies the text
in the entry, <link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link> checks which rows in the model match
the current content of the entry, and displays a list of matches.
By default, the matching is done by comparing the entry text
case-insensitively against the text column of the model (see
<link linkend="gtk-entry-completion-set-text-column"><function>gtk_entry_completion_set_text_column()</function></link>), but this can be overridden
with a custom match function (see <link linkend="gtk-entry-completion-set-match-func"><function>gtk_entry_completion_set_match_func()</function></link>).</para>
<para>When the user selects a completion, the content of the entry is
updated. By default, the content of the entry is replaced by the
text column of the model, but this can be overridden by connecting
to the <link linkend="GtkEntryCompletion-match-selected"><type>“match-selected”</type></link> signal and updating the
entry in the signal handler. Note that you should return <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> from
the signal handler to suppress the default behaviour.</para>
<para>To add completion functionality to an entry, use <link linkend="gtk-entry-set-completion"><function>gtk_entry_set_completion()</function></link>.</para>
<para>In addition to regular completion matches, which will be inserted into the
entry when they are selected, <link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link> also allows to display
“actions” in the popup window. Their appearance is similar to menuitems,
to differentiate them clearly from completion strings. When an action is
selected, the <link linkend="GtkEntryCompletion-action-activated"><type>“action-activated”</type></link> signal is emitted.</para>
<para>GtkEntryCompletion uses a <link linkend="GtkTreeModelFilter"><type>GtkTreeModelFilter</type></link> model to represent the
subset of the entire model that is currently matching. While the
GtkEntryCompletion signals <link linkend="GtkEntryCompletion-match-selected"><type>“match-selected”</type></link> and
<link linkend="GtkEntryCompletion-cursor-on-match"><type>“cursor-on-match”</type></link> take the original model and an
iter pointing to that model as arguments, other callbacks and signals
(such as <link linkend="GtkCellLayoutDataFuncs"><type>GtkCellLayoutDataFuncs</type></link> or <link linkend="GtkCellArea-apply-attributes"><type>“apply-attributes”</type></link>)
will generally take the filter model as argument. As long as you are
only calling <link linkend="gtk-tree-model-get"><function>gtk_tree_model_get()</function></link>, this will make no difference to
you. If for some reason, you need the original model, use
<link linkend="gtk-tree-model-filter-get-model"><function>gtk_tree_model_filter_get_model()</function></link>. Don’t forget to use
<link linkend="gtk-tree-model-filter-convert-iter-to-child-iter"><function>gtk_tree_model_filter_convert_iter_to_child_iter()</function></link> to obtain a
matching iter.</para>

</refsect1>
<refsect1 id="GtkEntryCompletion.functions_details" role="details">
<title role="details.title">Functions</title>
<refsect2 id="GtkEntryCompletionMatchFunc" role="function">
<title>GtkEntryCompletionMatchFunc&#160;()</title>
<indexterm zone="GtkEntryCompletionMatchFunc"><primary>GtkEntryCompletionMatchFunc</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
<phrase role="c_punctuation">(</phrase>*GtkEntryCompletionMatchFunc<phrase role="c_punctuation">)</phrase> (<parameter><link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link> *completion</parameter>,
                                <parameter>const <link linkend="gchar"><type>gchar</type></link> *key</parameter>,
                                <parameter><link linkend="GtkTreeIter"><type>GtkTreeIter</type></link> *iter</parameter>,
                                <parameter><link linkend="gpointer"><type>gpointer</type></link> user_data</parameter>);</programlisting>
<para>A function which decides whether the row indicated by <parameter>iter</parameter>
 matches
a given <parameter>key</parameter>
, and should be displayed as a possible completion for <parameter>key</parameter>
.
Note that <parameter>key</parameter>
 is normalized and case-folded (see <link linkend="g-utf8-normalize"><function>g_utf8_normalize()</function></link>
and <link linkend="g-utf8-casefold"><function>g_utf8_casefold()</function></link>). If this is not appropriate, match functions
have access to the unmodified key via
<literal>gtk_editable_get_text (GTK_EDITABLE (<link linkend="gtk-entry-completion-get-entry"><function>gtk_entry_completion_get_entry()</function></link>))</literal>.</para>
<refsect3 id="GtkEntryCompletionMatchFunc.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>completion</para></entry>
<entry role="parameter_description"><para>the <link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>key</para></entry>
<entry role="parameter_description"><para>the string to match, normalized and case-folded</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> indicating the row to match</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>user_data</para></entry>
<entry role="parameter_description"><para>user data given to <link linkend="gtk-entry-completion-set-match-func"><function>gtk_entry_completion_set_match_func()</function></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="GtkEntryCompletionMatchFunc.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if <parameter>iter</parameter>
should be displayed as a possible completion
for <parameter>key</parameter>
</para>
</refsect3></refsect2>
<refsect2 id="gtk-entry-completion-new" role="function">
<title>gtk_entry_completion_new&#160;()</title>
<indexterm zone="gtk-entry-completion-new"><primary>gtk_entry_completion_new</primary></indexterm>
<programlisting language="C"><link linkend="GtkEntryCompletion"><returnvalue>GtkEntryCompletion</returnvalue></link>&#160;*
gtk_entry_completion_new (<parameter><type>void</type></parameter>);</programlisting>
<para>Creates a new <link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link> object.</para>
<refsect3 id="gtk-entry-completion-new.returns" role="returns">
<title>Returns</title>
<para> A newly created <link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link> object</para>
</refsect3></refsect2>
<refsect2 id="gtk-entry-completion-new-with-area" role="function">
<title>gtk_entry_completion_new_with_area&#160;()</title>
<indexterm zone="gtk-entry-completion-new-with-area"><primary>gtk_entry_completion_new_with_area</primary></indexterm>
<programlisting language="C"><link linkend="GtkEntryCompletion"><returnvalue>GtkEntryCompletion</returnvalue></link>&#160;*
gtk_entry_completion_new_with_area (<parameter><link linkend="GtkCellArea"><type>GtkCellArea</type></link> *area</parameter>);</programlisting>
<para>Creates a new <link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link> object using the
specified <parameter>area</parameter>
 to layout cells in the underlying
<link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> for the drop-down menu.</para>
<refsect3 id="gtk-entry-completion-new-with-area.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>area</para></entry>
<entry role="parameter_description"><para>the <link linkend="GtkCellArea"><type>GtkCellArea</type></link> used to layout cells</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-entry-completion-new-with-area.returns" role="returns">
<title>Returns</title>
<para> A newly created <link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link> object</para>
</refsect3></refsect2>
<refsect2 id="gtk-entry-completion-get-entry" role="function">
<title>gtk_entry_completion_get_entry&#160;()</title>
<indexterm zone="gtk-entry-completion-get-entry"><primary>gtk_entry_completion_get_entry</primary></indexterm>
<programlisting language="C"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
gtk_entry_completion_get_entry (<parameter><link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link> *completion</parameter>);</programlisting>
<para>Gets the entry <parameter>completion</parameter>
 has been attached to.</para>
<refsect3 id="gtk-entry-completion-get-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>completion</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-entry-completion-get-entry.returns" role="returns">
<title>Returns</title>
<para>The entry <parameter>completion</parameter>
has been attached to. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-entry-completion-set-model" role="function">
<title>gtk_entry_completion_set_model&#160;()</title>
<indexterm zone="gtk-entry-completion-set-model"><primary>gtk_entry_completion_set_model</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_entry_completion_set_model (<parameter><link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link> *completion</parameter>,
                                <parameter><link linkend="GtkTreeModel"><type>GtkTreeModel</type></link> *model</parameter>);</programlisting>
<para>Sets the model for a <link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link>. If <parameter>completion</parameter>
 already has
a model set, it will remove it before setting the new model.
If model is <link linkend="NULL:CAPS"><literal>NULL</literal></link>, then it will unset the model.</para>
<refsect3 id="gtk-entry-completion-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>completion</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>model</para></entry>
<entry role="parameter_description"><para>the <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-entry-completion-get-model" role="function">
<title>gtk_entry_completion_get_model&#160;()</title>
<indexterm zone="gtk-entry-completion-get-model"><primary>gtk_entry_completion_get_model</primary></indexterm>
<programlisting language="C"><link linkend="GtkTreeModel"><returnvalue>GtkTreeModel</returnvalue></link>&#160;*
gtk_entry_completion_get_model (<parameter><link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link> *completion</parameter>);</programlisting>
<para>Returns the model the <link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link> is using as data source.
Returns <link linkend="NULL:CAPS"><literal>NULL</literal></link> if the model is unset.</para>
<refsect3 id="gtk-entry-completion-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>completion</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-entry-completion-get-model.returns" role="returns">
<title>Returns</title>
<para>A <link linkend="GtkTreeModel"><type>GtkTreeModel</type></link>, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if none
is currently being used. </para>
<para><emphasis role="annotation">[<acronym>nullable</acronym>][<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-entry-completion-set-match-func" role="function">
<title>gtk_entry_completion_set_match_func&#160;()</title>
<indexterm zone="gtk-entry-completion-set-match-func"><primary>gtk_entry_completion_set_match_func</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_entry_completion_set_match_func (<parameter><link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link> *completion</parameter>,
                                     <parameter><link linkend="GtkEntryCompletionMatchFunc"><type>GtkEntryCompletionMatchFunc</type></link> func</parameter>,
                                     <parameter><link linkend="gpointer"><type>gpointer</type></link> func_data</parameter>,
                                     <parameter><link linkend="GDestroyNotify"><type>GDestroyNotify</type></link> func_notify</parameter>);</programlisting>
<para>Sets the match function for <parameter>completion</parameter>
 to be <parameter>func</parameter>
. The match function
is used to determine if a row should or should not be in the completion
list.</para>
<refsect3 id="gtk-entry-completion-set-match-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>completion</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>func</para></entry>
<entry role="parameter_description"><para>the <link linkend="GtkEntryCompletionMatchFunc"><type>GtkEntryCompletionMatchFunc</type></link> to use</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>func_data</para></entry>
<entry role="parameter_description"><para>user data for <parameter>func</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>func_notify</para></entry>
<entry role="parameter_description"><para>destroy notify for <parameter>func_data</parameter>
.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-entry-completion-set-minimum-key-length" role="function">
<title>gtk_entry_completion_set_minimum_key_length&#160;()</title>
<indexterm zone="gtk-entry-completion-set-minimum-key-length"><primary>gtk_entry_completion_set_minimum_key_length</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_entry_completion_set_minimum_key_length
                               (<parameter><link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link> *completion</parameter>,
                                <parameter><link linkend="gint"><type>gint</type></link> length</parameter>);</programlisting>
<para>Requires the length of the search key for <parameter>completion</parameter>
 to be at least
<parameter>length</parameter>
. This is useful for long lists, where completing using a small
key takes a lot of time and will come up with meaningless results anyway
(ie, a too large dataset).</para>
<refsect3 id="gtk-entry-completion-set-minimum-key-length.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>completion</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>length</para></entry>
<entry role="parameter_description"><para>the minimum length of the key in order to start completing</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-entry-completion-get-minimum-key-length" role="function">
<title>gtk_entry_completion_get_minimum_key_length&#160;()</title>
<indexterm zone="gtk-entry-completion-get-minimum-key-length"><primary>gtk_entry_completion_get_minimum_key_length</primary></indexterm>
<programlisting language="C"><link linkend="gint"><returnvalue>gint</returnvalue></link>
gtk_entry_completion_get_minimum_key_length
                               (<parameter><link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link> *completion</parameter>);</programlisting>
<para>Returns the minimum key length as set for <parameter>completion</parameter>
.</para>
<refsect3 id="gtk-entry-completion-get-minimum-key-length.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>completion</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-entry-completion-get-minimum-key-length.returns" role="returns">
<title>Returns</title>
<para> The currently used minimum key length</para>
</refsect3></refsect2>
<refsect2 id="gtk-entry-completion-compute-prefix" role="function">
<title>gtk_entry_completion_compute_prefix&#160;()</title>
<indexterm zone="gtk-entry-completion-compute-prefix"><primary>gtk_entry_completion_compute_prefix</primary></indexterm>
<programlisting language="C"><link linkend="gchar"><returnvalue>gchar</returnvalue></link>&#160;*
gtk_entry_completion_compute_prefix (<parameter><link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link> *completion</parameter>,
                                     <parameter>const <link linkend="char"><type>char</type></link> *key</parameter>);</programlisting>
<para>Computes the common prefix that is shared by all rows in <parameter>completion</parameter>

that start with <parameter>key</parameter>
. If no row matches <parameter>key</parameter>
, <link linkend="NULL:CAPS"><literal>NULL</literal></link> will be returned.
Note that a text column must have been set for this function to work,
see <link linkend="gtk-entry-completion-set-text-column"><function>gtk_entry_completion_set_text_column()</function></link> for details.</para>
<refsect3 id="gtk-entry-completion-compute-prefix.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>completion</para></entry>
<entry role="parameter_description"><para>the entry completion</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>key</para></entry>
<entry role="parameter_description"><para>The text to complete for</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-entry-completion-compute-prefix.returns" role="returns">
<title>Returns</title>
<para>The common prefix all rows starting with
<parameter>key</parameter>
or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if no row matches <parameter>key</parameter>
. </para>
<para><emphasis role="annotation">[<acronym>nullable</acronym>][<acronym>transfer full</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-entry-completion-complete" role="function">
<title>gtk_entry_completion_complete&#160;()</title>
<indexterm zone="gtk-entry-completion-complete"><primary>gtk_entry_completion_complete</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_entry_completion_complete (<parameter><link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link> *completion</parameter>);</programlisting>
<para>Requests a completion operation, or in other words a refiltering of the
current list with completions, using the current key. The completion list
view will be updated accordingly.</para>
<refsect3 id="gtk-entry-completion-complete.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>completion</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-entry-completion-get-completion-prefix" role="function">
<title>gtk_entry_completion_get_completion_prefix&#160;()</title>
<indexterm zone="gtk-entry-completion-get-completion-prefix"><primary>gtk_entry_completion_get_completion_prefix</primary></indexterm>
<programlisting language="C">const <link linkend="gchar"><returnvalue>gchar</returnvalue></link>&#160;*
gtk_entry_completion_get_completion_prefix
                               (<parameter><link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link> *completion</parameter>);</programlisting>
<para>Get the original text entered by the user that triggered
the completion or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if there’s no completion ongoing.</para>
<refsect3 id="gtk-entry-completion-get-completion-prefix.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>completion</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-entry-completion-get-completion-prefix.returns" role="returns">
<title>Returns</title>
<para> the prefix for the current completion</para>
</refsect3></refsect2>
<refsect2 id="gtk-entry-completion-insert-prefix" role="function">
<title>gtk_entry_completion_insert_prefix&#160;()</title>
<indexterm zone="gtk-entry-completion-insert-prefix"><primary>gtk_entry_completion_insert_prefix</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_entry_completion_insert_prefix (<parameter><link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link> *completion</parameter>);</programlisting>
<para>Requests a prefix insertion.</para>
<refsect3 id="gtk-entry-completion-insert-prefix.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>completion</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-entry-completion-insert-action-text" role="function">
<title>gtk_entry_completion_insert_action_text&#160;()</title>
<indexterm zone="gtk-entry-completion-insert-action-text"><primary>gtk_entry_completion_insert_action_text</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_entry_completion_insert_action_text
                               (<parameter><link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link> *completion</parameter>,
                                <parameter><link linkend="gint"><type>gint</type></link> index_</parameter>,
                                <parameter>const <link linkend="gchar"><type>gchar</type></link> *text</parameter>);</programlisting>
<para>Inserts an action in <parameter>completion</parameter>
’s action item list at position <parameter>index_</parameter>

with text <parameter>text</parameter>
. If you want the action item to have markup, use
<link linkend="gtk-entry-completion-insert-action-markup"><function>gtk_entry_completion_insert_action_markup()</function></link>.</para>
<para>Note that <parameter>index_</parameter>
 is a relative position in the list of actions and
the position of an action can change when deleting a different action.</para>
<refsect3 id="gtk-entry-completion-insert-action-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>completion</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>index_</para></entry>
<entry role="parameter_description"><para>the index of the item to insert</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>text</para></entry>
<entry role="parameter_description"><para>text of the item to insert</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-entry-completion-insert-action-markup" role="function">
<title>gtk_entry_completion_insert_action_markup&#160;()</title>
<indexterm zone="gtk-entry-completion-insert-action-markup"><primary>gtk_entry_completion_insert_action_markup</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_entry_completion_insert_action_markup
                               (<parameter><link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link> *completion</parameter>,
                                <parameter><link linkend="gint"><type>gint</type></link> index_</parameter>,
                                <parameter>const <link linkend="gchar"><type>gchar</type></link> *markup</parameter>);</programlisting>
<para>Inserts an action in <parameter>completion</parameter>
’s action item list at position <parameter>index_</parameter>

with markup <parameter>markup</parameter>
.</para>
<refsect3 id="gtk-entry-completion-insert-action-markup.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>completion</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>index_</para></entry>
<entry role="parameter_description"><para>the index of the item to insert</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>markup</para></entry>
<entry role="parameter_description"><para>markup of the item to insert</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-entry-completion-delete-action" role="function">
<title>gtk_entry_completion_delete_action&#160;()</title>
<indexterm zone="gtk-entry-completion-delete-action"><primary>gtk_entry_completion_delete_action</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_entry_completion_delete_action (<parameter><link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link> *completion</parameter>,
                                    <parameter><link linkend="gint"><type>gint</type></link> index_</parameter>);</programlisting>
<para>Deletes the action at <parameter>index_</parameter>
 from <parameter>completion</parameter>
’s action list.</para>
<para>Note that <parameter>index_</parameter>
 is a relative position and the position of an
action may have changed since it was inserted.</para>
<refsect3 id="gtk-entry-completion-delete-action.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>completion</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>index_</para></entry>
<entry role="parameter_description"><para>the index of the item to delete</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-entry-completion-set-text-column" role="function">
<title>gtk_entry_completion_set_text_column&#160;()</title>
<indexterm zone="gtk-entry-completion-set-text-column"><primary>gtk_entry_completion_set_text_column</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_entry_completion_set_text_column (<parameter><link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link> *completion</parameter>,
                                      <parameter><link linkend="gint"><type>gint</type></link> column</parameter>);</programlisting>
<para>Convenience function for setting up the most used case of this code: a
completion list with just strings. This function will set up <parameter>completion</parameter>

to have a list displaying all (and just) strings in the completion list,
and to get those strings from <parameter>column</parameter>
 in the model of <parameter>completion</parameter>
.</para>
<para>This functions creates and adds a <link linkend="GtkCellRendererText"><type>GtkCellRendererText</type></link> for the selected
column. If you need to set the text column, but don't want the cell
renderer, use <link linkend="g-object-set"><function>g_object_set()</function></link> to set the <link linkend="GtkEntryCompletion--text-column"><type>“text-column”</type></link>
property directly.</para>
<refsect3 id="gtk-entry-completion-set-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>completion</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>column</para></entry>
<entry role="parameter_description"><para>the column in the model of <parameter>completion</parameter>
to get strings from</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-entry-completion-get-text-column" role="function">
<title>gtk_entry_completion_get_text_column&#160;()</title>
<indexterm zone="gtk-entry-completion-get-text-column"><primary>gtk_entry_completion_get_text_column</primary></indexterm>
<programlisting language="C"><link linkend="gint"><returnvalue>gint</returnvalue></link>
gtk_entry_completion_get_text_column (<parameter><link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link> *completion</parameter>);</programlisting>
<para>Returns the column in the model of <parameter>completion</parameter>
 to get strings from.</para>
<refsect3 id="gtk-entry-completion-get-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>completion</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-entry-completion-get-text-column.returns" role="returns">
<title>Returns</title>
<para> the column containing the strings</para>
</refsect3></refsect2>
<refsect2 id="gtk-entry-completion-set-inline-completion" role="function">
<title>gtk_entry_completion_set_inline_completion&#160;()</title>
<indexterm zone="gtk-entry-completion-set-inline-completion"><primary>gtk_entry_completion_set_inline_completion</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_entry_completion_set_inline_completion
                               (<parameter><link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link> *completion</parameter>,
                                <parameter><link linkend="gboolean"><type>gboolean</type></link> inline_completion</parameter>);</programlisting>
<para>Sets whether the common prefix of the possible completions should
be automatically inserted in the entry.</para>
<refsect3 id="gtk-entry-completion-set-inline-completion.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>completion</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>inline_completion</para></entry>
<entry role="parameter_description"><para><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to do inline completion</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-entry-completion-get-inline-completion" role="function">
<title>gtk_entry_completion_get_inline_completion&#160;()</title>
<indexterm zone="gtk-entry-completion-get-inline-completion"><primary>gtk_entry_completion_get_inline_completion</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_entry_completion_get_inline_completion
                               (<parameter><link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link> *completion</parameter>);</programlisting>
<para>Returns whether the common prefix of the possible completions should
be automatically inserted in the entry.</para>
<refsect3 id="gtk-entry-completion-get-inline-completion.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>completion</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-entry-completion-get-inline-completion.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if inline completion is turned on</para>
</refsect3></refsect2>
<refsect2 id="gtk-entry-completion-set-inline-selection" role="function">
<title>gtk_entry_completion_set_inline_selection&#160;()</title>
<indexterm zone="gtk-entry-completion-set-inline-selection"><primary>gtk_entry_completion_set_inline_selection</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_entry_completion_set_inline_selection
                               (<parameter><link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link> *completion</parameter>,
                                <parameter><link linkend="gboolean"><type>gboolean</type></link> inline_selection</parameter>);</programlisting>
<para>Sets whether it is possible to cycle through the possible completions
inside the entry.</para>
<refsect3 id="gtk-entry-completion-set-inline-selection.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>completion</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>inline_selection</para></entry>
<entry role="parameter_description"><para><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to do inline selection</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-entry-completion-get-inline-selection" role="function">
<title>gtk_entry_completion_get_inline_selection&#160;()</title>
<indexterm zone="gtk-entry-completion-get-inline-selection"><primary>gtk_entry_completion_get_inline_selection</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_entry_completion_get_inline_selection
                               (<parameter><link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link> *completion</parameter>);</programlisting>
<para>Returns <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if inline-selection mode is turned on.</para>
<refsect3 id="gtk-entry-completion-get-inline-selection.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>completion</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-entry-completion-get-inline-selection.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if inline-selection mode is on</para>
</refsect3></refsect2>
<refsect2 id="gtk-entry-completion-set-popup-completion" role="function">
<title>gtk_entry_completion_set_popup_completion&#160;()</title>
<indexterm zone="gtk-entry-completion-set-popup-completion"><primary>gtk_entry_completion_set_popup_completion</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_entry_completion_set_popup_completion
                               (<parameter><link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link> *completion</parameter>,
                                <parameter><link linkend="gboolean"><type>gboolean</type></link> popup_completion</parameter>);</programlisting>
<para>Sets whether the completions should be presented in a popup window.</para>
<refsect3 id="gtk-entry-completion-set-popup-completion.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>completion</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>popup_completion</para></entry>
<entry role="parameter_description"><para><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to do popup completion</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-entry-completion-get-popup-completion" role="function">
<title>gtk_entry_completion_get_popup_completion&#160;()</title>
<indexterm zone="gtk-entry-completion-get-popup-completion"><primary>gtk_entry_completion_get_popup_completion</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_entry_completion_get_popup_completion
                               (<parameter><link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link> *completion</parameter>);</programlisting>
<para>Returns whether the completions should be presented in a popup window.</para>
<refsect3 id="gtk-entry-completion-get-popup-completion.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>completion</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-entry-completion-get-popup-completion.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if popup completion is turned on</para>
</refsect3></refsect2>
<refsect2 id="gtk-entry-completion-set-popup-set-width" role="function">
<title>gtk_entry_completion_set_popup_set_width&#160;()</title>
<indexterm zone="gtk-entry-completion-set-popup-set-width"><primary>gtk_entry_completion_set_popup_set_width</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_entry_completion_set_popup_set_width
                               (<parameter><link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link> *completion</parameter>,
                                <parameter><link linkend="gboolean"><type>gboolean</type></link> popup_set_width</parameter>);</programlisting>
<para>Sets whether the completion popup window will be resized to be the same
width as the entry.</para>
<refsect3 id="gtk-entry-completion-set-popup-set-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>completion</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>popup_set_width</para></entry>
<entry role="parameter_description"><para><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to make the width of the popup the same as the entry</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-entry-completion-get-popup-set-width" role="function">
<title>gtk_entry_completion_get_popup_set_width&#160;()</title>
<indexterm zone="gtk-entry-completion-get-popup-set-width"><primary>gtk_entry_completion_get_popup_set_width</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_entry_completion_get_popup_set_width
                               (<parameter><link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link> *completion</parameter>);</programlisting>
<para>Returns whether the  completion popup window will be resized to the
width of the entry.</para>
<refsect3 id="gtk-entry-completion-get-popup-set-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>completion</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-entry-completion-get-popup-set-width.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the popup window will be resized to the width of
the entry</para>
</refsect3></refsect2>
<refsect2 id="gtk-entry-completion-set-popup-single-match" role="function">
<title>gtk_entry_completion_set_popup_single_match&#160;()</title>
<indexterm zone="gtk-entry-completion-set-popup-single-match"><primary>gtk_entry_completion_set_popup_single_match</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_entry_completion_set_popup_single_match
                               (<parameter><link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link> *completion</parameter>,
                                <parameter><link linkend="gboolean"><type>gboolean</type></link> popup_single_match</parameter>);</programlisting>
<para>Sets whether the completion popup window will appear even if there is
only a single match. You may want to set this to <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> if you
are using <link linkend="GtkEntryCompletion--inline-completion">inline completion</link>.</para>
<refsect3 id="gtk-entry-completion-set-popup-single-match.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>completion</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>popup_single_match</para></entry>
<entry role="parameter_description"><para><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the popup should appear even for a single
match</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-entry-completion-get-popup-single-match" role="function">
<title>gtk_entry_completion_get_popup_single_match&#160;()</title>
<indexterm zone="gtk-entry-completion-get-popup-single-match"><primary>gtk_entry_completion_get_popup_single_match</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_entry_completion_get_popup_single_match
                               (<parameter><link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link> *completion</parameter>);</programlisting>
<para>Returns whether the completion popup window will appear even if there is
only a single match.</para>
<refsect3 id="gtk-entry-completion-get-popup-single-match.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>completion</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-entry-completion-get-popup-single-match.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the popup window will appear regardless of the
number of matches</para>
</refsect3></refsect2>

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

</refsect1>
<refsect1 id="GtkEntryCompletion.property-details" role="property_details">
<title role="property_details.title">Property Details</title>
<refsect2 id="GtkEntryCompletion--cell-area" role="property"><title>The <literal>“cell-area”</literal> property</title>
<indexterm zone="GtkEntryCompletion--cell-area"><primary>GtkEntryCompletion:cell-area</primary></indexterm>
<programlisting>  “cell-area”                <link linkend="GtkCellArea"><type>GtkCellArea</type></link>&#160;*</programlisting>
<para>The <link linkend="GtkCellArea"><type>GtkCellArea</type></link> used to layout cell renderers in the treeview column.</para>
<para>If no area is specified when creating the entry completion with
<link linkend="gtk-entry-completion-new-with-area"><function>gtk_entry_completion_new_with_area()</function></link> a horizontally oriented
<link linkend="GtkCellAreaBox"><type>GtkCellAreaBox</type></link> will be used.</para>
<para>Owner: GtkEntryCompletion</para>
<para>Flags: Read / Write / Construct&#160;Only</para>
</refsect2>
<refsect2 id="GtkEntryCompletion--inline-completion" role="property"><title>The <literal>“inline-completion”</literal> property</title>
<indexterm zone="GtkEntryCompletion--inline-completion"><primary>GtkEntryCompletion:inline-completion</primary></indexterm>
<programlisting>  “inline-completion”        <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>Determines whether the common prefix of the possible completions
should be inserted automatically in the entry. Note that this
requires text-column to be set, even if you are using a custom
match function.</para>
<para>Owner: GtkEntryCompletion</para>
<para>Flags: Read / Write</para>
<para>Default value: FALSE</para>
</refsect2>
<refsect2 id="GtkEntryCompletion--inline-selection" role="property"><title>The <literal>“inline-selection”</literal> property</title>
<indexterm zone="GtkEntryCompletion--inline-selection"><primary>GtkEntryCompletion:inline-selection</primary></indexterm>
<programlisting>  “inline-selection”         <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>Determines whether the possible completions on the popup
will appear in the entry as you navigate through them.</para>
<para>Owner: GtkEntryCompletion</para>
<para>Flags: Read / Write</para>
<para>Default value: FALSE</para>
</refsect2>
<refsect2 id="GtkEntryCompletion--minimum-key-length" role="property"><title>The <literal>“minimum-key-length”</literal> property</title>
<indexterm zone="GtkEntryCompletion--minimum-key-length"><primary>GtkEntryCompletion:minimum-key-length</primary></indexterm>
<programlisting>  “minimum-key-length”       <link linkend="gint"><type>gint</type></link></programlisting>
<para>Minimum length of the search key in order to look up matches.</para><para>Owner: GtkEntryCompletion</para>
<para>Flags: Read / Write</para>
<para>Allowed values: &gt;= 0</para>
<para>Default value: 1</para>
</refsect2>
<refsect2 id="GtkEntryCompletion--model" role="property"><title>The <literal>“model”</literal> property</title>
<indexterm zone="GtkEntryCompletion--model"><primary>GtkEntryCompletion:model</primary></indexterm>
<programlisting>  “model”                    <link linkend="GtkTreeModel"><type>GtkTreeModel</type></link>&#160;*</programlisting>
<para>The model to find matches in.</para><para>Owner: GtkEntryCompletion</para>
<para>Flags: Read / Write</para>
</refsect2>
<refsect2 id="GtkEntryCompletion--popup-completion" role="property"><title>The <literal>“popup-completion”</literal> property</title>
<indexterm zone="GtkEntryCompletion--popup-completion"><primary>GtkEntryCompletion:popup-completion</primary></indexterm>
<programlisting>  “popup-completion”         <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>Determines whether the possible completions should be
shown in a popup window.</para>
<para>Owner: GtkEntryCompletion</para>
<para>Flags: Read / Write</para>
<para>Default value: TRUE</para>
</refsect2>
<refsect2 id="GtkEntryCompletion--popup-set-width" role="property"><title>The <literal>“popup-set-width”</literal> property</title>
<indexterm zone="GtkEntryCompletion--popup-set-width"><primary>GtkEntryCompletion:popup-set-width</primary></indexterm>
<programlisting>  “popup-set-width”          <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>Determines whether the completions popup window will be
resized to the width of the entry.</para>
<para>Owner: GtkEntryCompletion</para>
<para>Flags: Read / Write</para>
<para>Default value: TRUE</para>
</refsect2>
<refsect2 id="GtkEntryCompletion--popup-single-match" role="property"><title>The <literal>“popup-single-match”</literal> property</title>
<indexterm zone="GtkEntryCompletion--popup-single-match"><primary>GtkEntryCompletion:popup-single-match</primary></indexterm>
<programlisting>  “popup-single-match”       <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>Determines whether the completions popup window will shown
for a single possible completion. You probably want to set
this to <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> if you are using
<link linkend="GtkEntryCompletion--inline-completion">inline completion</link>.</para>
<para>Owner: GtkEntryCompletion</para>
<para>Flags: Read / Write</para>
<para>Default value: TRUE</para>
</refsect2>
<refsect2 id="GtkEntryCompletion--text-column" role="property"><title>The <literal>“text-column”</literal> property</title>
<indexterm zone="GtkEntryCompletion--text-column"><primary>GtkEntryCompletion:text-column</primary></indexterm>
<programlisting>  “text-column”              <link linkend="gint"><type>gint</type></link></programlisting>
<para>The column of the model containing the strings.
Note that the strings must be UTF-8.</para>
<para>Owner: GtkEntryCompletion</para>
<para>Flags: Read / Write</para>
<para>Allowed values: &gt;= -1</para>
<para>Default value: -1</para>
</refsect2>

</refsect1>
<refsect1 id="GtkEntryCompletion.signal-details" role="signals">
<title role="signals.title">Signal Details</title>
<refsect2 id="GtkEntryCompletion-action-activated" role="signal"><title>The <literal>“action-activated”</literal> signal</title>
<indexterm zone="GtkEntryCompletion-action-activated"><primary>GtkEntryCompletion::action-activated</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link> *widget,
               <link linkend="gint"><type>gint</type></link>                index,
               <link linkend="gpointer"><type>gpointer</type></link>            user_data)</programlisting>
<para>Gets emitted when an action is activated.</para>
<refsect3 id="GtkEntryCompletion-action-activated.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"><para>index</para></entry>
<entry role="parameter_description"><para>the index of the activated action</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="GtkEntryCompletion-cursor-on-match" role="signal"><title>The <literal>“cursor-on-match”</literal> signal</title>
<indexterm zone="GtkEntryCompletion-cursor-on-match"><primary>GtkEntryCompletion::cursor-on-match</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
user_function (<link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link> *widget,
               <link linkend="GtkTreeModel"><type>GtkTreeModel</type></link>       *model,
               <link linkend="GtkTreeIter"><type>GtkTreeIter</type></link>        *iter,
               <link linkend="gpointer"><type>gpointer</type></link>            user_data)</programlisting>
<para>Gets emitted when a match from the cursor is on a match
of the list. The default behaviour is to replace the contents
of the entry with the contents of the text column in the row
pointed to by <parameter>iter</parameter>
.</para>
<para>Note that <parameter>model</parameter>
 is the model that was passed to
<link linkend="gtk-entry-completion-set-model"><function>gtk_entry_completion_set_model()</function></link>.</para>
<refsect3 id="GtkEntryCompletion-cursor-on-match.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"><para>model</para></entry>
<entry role="parameter_description"><para>the <link linkend="GtkTreeModel"><type>GtkTreeModel</type></link> containing the matches</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> positioned at the selected match</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="GtkEntryCompletion-cursor-on-match.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the signal has been handled</para>
</refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
</refsect2><refsect2 id="GtkEntryCompletion-insert-prefix" role="signal"><title>The <literal>“insert-prefix”</literal> signal</title>
<indexterm zone="GtkEntryCompletion-insert-prefix"><primary>GtkEntryCompletion::insert-prefix</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
user_function (<link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link> *widget,
               <link linkend="gchar"><type>gchar</type></link>              *prefix,
               <link linkend="gpointer"><type>gpointer</type></link>            user_data)</programlisting>
<para>Gets emitted when the inline autocompletion is triggered.
The default behaviour is to make the entry display the
whole prefix and select the newly inserted part.</para>
<para>Applications may connect to this signal in order to insert only a
smaller part of the <parameter>prefix</parameter>
 into the entry - e.g. the entry used in
the <link linkend="GtkFileChooser"><type>GtkFileChooser</type></link> inserts only the part of the prefix up to the
next '/'.</para>
<refsect3 id="GtkEntryCompletion-insert-prefix.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"><para>prefix</para></entry>
<entry role="parameter_description"><para>the common prefix of all possible completions</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="GtkEntryCompletion-insert-prefix.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the signal has been handled</para>
</refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
</refsect2><refsect2 id="GtkEntryCompletion-match-selected" role="signal"><title>The <literal>“match-selected”</literal> signal</title>
<indexterm zone="GtkEntryCompletion-match-selected"><primary>GtkEntryCompletion::match-selected</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
user_function (<link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link> *widget,
               <link linkend="GtkTreeModel"><type>GtkTreeModel</type></link>       *model,
               <link linkend="GtkTreeIter"><type>GtkTreeIter</type></link>        *iter,
               <link linkend="gpointer"><type>gpointer</type></link>            user_data)</programlisting>
<para>Gets emitted when a match from the list is selected.
The default behaviour is to replace the contents of the
entry with the contents of the text column in the row
pointed to by <parameter>iter</parameter>
.</para>
<para>Note that <parameter>model</parameter>
 is the model that was passed to
<link linkend="gtk-entry-completion-set-model"><function>gtk_entry_completion_set_model()</function></link>.</para>
<refsect3 id="GtkEntryCompletion-match-selected.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"><para>model</para></entry>
<entry role="parameter_description"><para>the <link linkend="GtkTreeModel"><type>GtkTreeModel</type></link> containing the matches</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> positioned at the selected match</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="GtkEntryCompletion-match-selected.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the signal has been handled</para>
</refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
</refsect2><refsect2 id="GtkEntryCompletion-no-matches" role="signal"><title>The <literal>“no-matches”</literal> signal</title>
<indexterm zone="GtkEntryCompletion-no-matches"><primary>GtkEntryCompletion::no-matches</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link> *widget,
               <link linkend="gpointer"><type>gpointer</type></link>            user_data)</programlisting>
<para>Gets emitted when the filter model has zero
number of rows in completion_complete method.
(In other words when GtkEntryCompletion is out of
 suggestions)</para>
<refsect3 id="GtkEntryCompletion-no-matches.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>
</refsect1>

</refentry>
