| <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
| <html> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <title>Automatic String Completion</title> |
| <meta name="generator" content="DocBook XSL Stylesheets V1.75.2"> |
| <link rel="home" href="index.html" title="GLib Reference Manual"> |
| <link rel="up" href="glib-utilities.html" title="GLib Utilities"> |
| <link rel="prev" href="glib-Lexical-Scanner.html" title="Lexical Scanner"> |
| <link rel="next" href="glib-Timers.html" title="Timers"> |
| <meta name="generator" content="GTK-Doc V1.14 (XML mode)"> |
| <link rel="stylesheet" href="style.css" type="text/css"> |
| </head> |
| <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> |
| <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"> |
| <tr valign="middle"> |
| <td><a accesskey="p" href="glib-Lexical-Scanner.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> |
| <td><a accesskey="u" href="glib-utilities.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> |
| <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> |
| <th width="100%" align="center">GLib Reference Manual</th> |
| <td><a accesskey="n" href="glib-Timers.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> |
| </tr> |
| <tr><td colspan="5" class="shortcuts"> |
| <a href="#glib-Automatic-String-Completion.synopsis" class="shortcut">Top</a> |
| | |
| <a href="#glib-Automatic-String-Completion.description" class="shortcut">Description</a> |
| </td></tr> |
| </table> |
| <div class="refentry" title="Automatic String Completion"> |
| <a name="glib-Automatic-String-Completion"></a><div class="titlepage"></div> |
| <div class="refnamediv"><table width="100%"><tr> |
| <td valign="top"> |
| <h2><span class="refentrytitle"><a name="glib-Automatic-String-Completion.top_of_page"></a>Automatic String Completion</span></h2> |
| <p>Automatic String Completion — support for automatic completion using a group |
| of target strings</p> |
| </td> |
| <td valign="top" align="right"></td> |
| </tr></table></div> |
| <div class="refsynopsisdiv" title="Synopsis"> |
| <a name="glib-Automatic-String-Completion.synopsis"></a><h2>Synopsis</h2> |
| <pre class="synopsis"> |
| #include <glib.h> |
| |
| <a class="link" href="glib-Automatic-String-Completion.html#GCompletion" title="GCompletion">GCompletion</a>; |
| <a class="link" href="glib-Automatic-String-Completion.html#GCompletion" title="GCompletion"><span class="returnvalue">GCompletion</span></a>* <a class="link" href="glib-Automatic-String-Completion.html#g-completion-new" title="g_completion_new ()">g_completion_new</a> (<em class="parameter"><code><a class="link" href="glib-Automatic-String-Completion.html#GCompletionFunc" title="GCompletionFunc ()"><span class="type">GCompletionFunc</span></a> func</code></em>); |
| <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * (<a class="link" href="glib-Automatic-String-Completion.html#GCompletionFunc" title="GCompletionFunc ()">*GCompletionFunc</a>) (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> Param1</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="glib-Automatic-String-Completion.html#g-completion-add-items" title="g_completion_add_items ()">g_completion_add_items</a> (<em class="parameter"><code><a class="link" href="glib-Automatic-String-Completion.html#GCompletion" title="GCompletion"><span class="type">GCompletion</span></a> *cmp</code></em>, |
| <em class="parameter"><code><a class="link" href="glib-Doubly-Linked-Lists.html#GList" title="GList"><span class="type">GList</span></a> *items</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="glib-Automatic-String-Completion.html#g-completion-remove-items" title="g_completion_remove_items ()">g_completion_remove_items</a> (<em class="parameter"><code><a class="link" href="glib-Automatic-String-Completion.html#GCompletion" title="GCompletion"><span class="type">GCompletion</span></a> *cmp</code></em>, |
| <em class="parameter"><code><a class="link" href="glib-Doubly-Linked-Lists.html#GList" title="GList"><span class="type">GList</span></a> *items</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="glib-Automatic-String-Completion.html#g-completion-clear-items" title="g_completion_clear_items ()">g_completion_clear_items</a> (<em class="parameter"><code><a class="link" href="glib-Automatic-String-Completion.html#GCompletion" title="GCompletion"><span class="type">GCompletion</span></a> *cmp</code></em>); |
| <a class="link" href="glib-Doubly-Linked-Lists.html#GList" title="GList"><span class="returnvalue">GList</span></a>* <a class="link" href="glib-Automatic-String-Completion.html#g-completion-complete" title="g_completion_complete ()">g_completion_complete</a> (<em class="parameter"><code><a class="link" href="glib-Automatic-String-Completion.html#GCompletion" title="GCompletion"><span class="type">GCompletion</span></a> *cmp</code></em>, |
| <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *prefix</code></em>, |
| <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> **new_prefix</code></em>); |
| <a class="link" href="glib-Doubly-Linked-Lists.html#GList" title="GList"><span class="returnvalue">GList</span></a>* <a class="link" href="glib-Automatic-String-Completion.html#g-completion-complete-utf8" title="g_completion_complete_utf8 ()">g_completion_complete_utf8</a> (<em class="parameter"><code><a class="link" href="glib-Automatic-String-Completion.html#GCompletion" title="GCompletion"><span class="type">GCompletion</span></a> *cmp</code></em>, |
| <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *prefix</code></em>, |
| <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> **new_prefix</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="glib-Automatic-String-Completion.html#g-completion-set-compare" title="g_completion_set_compare ()">g_completion_set_compare</a> (<em class="parameter"><code><a class="link" href="glib-Automatic-String-Completion.html#GCompletion" title="GCompletion"><span class="type">GCompletion</span></a> *cmp</code></em>, |
| <em class="parameter"><code><a class="link" href="glib-Automatic-String-Completion.html#GCompletionStrncmpFunc" title="GCompletionStrncmpFunc ()"><span class="type">GCompletionStrncmpFunc</span></a> strncmp_func</code></em>); |
| <a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> (<a class="link" href="glib-Automatic-String-Completion.html#GCompletionStrncmpFunc" title="GCompletionStrncmpFunc ()">*GCompletionStrncmpFunc</a>) (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *s1</code></em>, |
| <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *s2</code></em>, |
| <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a> n</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="glib-Automatic-String-Completion.html#g-completion-free" title="g_completion_free ()">g_completion_free</a> (<em class="parameter"><code><a class="link" href="glib-Automatic-String-Completion.html#GCompletion" title="GCompletion"><span class="type">GCompletion</span></a> *cmp</code></em>); |
| </pre> |
| </div> |
| <div class="refsect1" title="Description"> |
| <a name="glib-Automatic-String-Completion.description"></a><h2>Description</h2> |
| <p> |
| <a class="link" href="glib-Automatic-String-Completion.html#GCompletion" title="GCompletion"><span class="type">GCompletion</span></a> provides support for automatic completion of a string |
| using any group of target strings. It is typically used for file |
| name completion as is common in many UNIX shells. |
| </p> |
| <p> |
| A <a class="link" href="glib-Automatic-String-Completion.html#GCompletion" title="GCompletion"><span class="type">GCompletion</span></a> is created using <a class="link" href="glib-Automatic-String-Completion.html#g-completion-new" title="g_completion_new ()"><code class="function">g_completion_new()</code></a>. Target items are |
| added and removed with <a class="link" href="glib-Automatic-String-Completion.html#g-completion-add-items" title="g_completion_add_items ()"><code class="function">g_completion_add_items()</code></a>, |
| <a class="link" href="glib-Automatic-String-Completion.html#g-completion-remove-items" title="g_completion_remove_items ()"><code class="function">g_completion_remove_items()</code></a> and <a class="link" href="glib-Automatic-String-Completion.html#g-completion-clear-items" title="g_completion_clear_items ()"><code class="function">g_completion_clear_items()</code></a>. A |
| completion attempt is requested with <a class="link" href="glib-Automatic-String-Completion.html#g-completion-complete" title="g_completion_complete ()"><code class="function">g_completion_complete()</code></a> or |
| <a class="link" href="glib-Automatic-String-Completion.html#g-completion-complete-utf8" title="g_completion_complete_utf8 ()"><code class="function">g_completion_complete_utf8()</code></a>. When no longer needed, the |
| <a class="link" href="glib-Automatic-String-Completion.html#GCompletion" title="GCompletion"><span class="type">GCompletion</span></a> is freed with <a class="link" href="glib-Automatic-String-Completion.html#g-completion-free" title="g_completion_free ()"><code class="function">g_completion_free()</code></a>. |
| </p> |
| <p> |
| Items in the completion can be simple strings (e.g. filenames), or |
| pointers to arbitrary data structures. If data structures are used |
| you must provide a <a class="link" href="glib-Automatic-String-Completion.html#GCompletionFunc" title="GCompletionFunc ()"><span class="type">GCompletionFunc</span></a> in <a class="link" href="glib-Automatic-String-Completion.html#g-completion-new" title="g_completion_new ()"><code class="function">g_completion_new()</code></a>, which |
| retrieves the item's string from the data structure. You can change |
| the way in which strings are compared by setting a different |
| <a class="link" href="glib-Automatic-String-Completion.html#GCompletionStrncmpFunc" title="GCompletionStrncmpFunc ()"><span class="type">GCompletionStrncmpFunc</span></a> in <a class="link" href="glib-Automatic-String-Completion.html#g-completion-set-compare" title="g_completion_set_compare ()"><code class="function">g_completion_set_compare()</code></a>. |
| </p> |
| </div> |
| <div class="refsect1" title="Details"> |
| <a name="glib-Automatic-String-Completion.details"></a><h2>Details</h2> |
| <div class="refsect2" title="GCompletion"> |
| <a name="GCompletion"></a><h3>GCompletion</h3> |
| <pre class="programlisting">typedef struct { |
| GList* items; |
| GCompletionFunc func; |
| |
| gchar* prefix; |
| GList* cache; |
| GCompletionStrncmpFunc strncmp_func; |
| } GCompletion; |
| </pre> |
| <p> |
| The data structure used for automatic completion. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><a class="link" href="glib-Doubly-Linked-Lists.html#GList" title="GList"><span class="type">GList</span></a> *<em class="structfield"><code><a name="GCompletion.items"></a>items</code></em>;</span></p></td> |
| <td>list of target items (strings or data structures). |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><a class="link" href="glib-Automatic-String-Completion.html#GCompletionFunc" title="GCompletionFunc ()"><span class="type">GCompletionFunc</span></a> <em class="structfield"><code><a name="GCompletion.func"></a>func</code></em>;</span></p></td> |
| <td>function which is called to get the string associated with a |
| target item. It is <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> if the target items are strings. |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GCompletion.prefix"></a>prefix</code></em>;</span></p></td> |
| <td>the last prefix passed to <a class="link" href="glib-Automatic-String-Completion.html#g-completion-complete" title="g_completion_complete ()"><code class="function">g_completion_complete()</code></a> or |
| <a class="link" href="glib-Automatic-String-Completion.html#g-completion-complete-utf8" title="g_completion_complete_utf8 ()"><code class="function">g_completion_complete_utf8()</code></a>. |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><a class="link" href="glib-Doubly-Linked-Lists.html#GList" title="GList"><span class="type">GList</span></a> *<em class="structfield"><code><a name="GCompletion.cache"></a>cache</code></em>;</span></p></td> |
| <td>the list of items which begin with <em class="parameter"><code>prefix</code></em>. |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><a class="link" href="glib-Automatic-String-Completion.html#GCompletionStrncmpFunc" title="GCompletionStrncmpFunc ()"><span class="type">GCompletionStrncmpFunc</span></a> <em class="structfield"><code><a name="GCompletion.strncmp-func"></a>strncmp_func</code></em>;</span></p></td> |
| <td>The function to use when comparing strings. Use |
| <a class="link" href="glib-Automatic-String-Completion.html#g-completion-set-compare" title="g_completion_set_compare ()"><code class="function">g_completion_set_compare()</code></a> to modify this function. |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_completion_new ()"> |
| <a name="g-completion-new"></a><h3>g_completion_new ()</h3> |
| <pre class="programlisting"><a class="link" href="glib-Automatic-String-Completion.html#GCompletion" title="GCompletion"><span class="returnvalue">GCompletion</span></a>* g_completion_new (<em class="parameter"><code><a class="link" href="glib-Automatic-String-Completion.html#GCompletionFunc" title="GCompletionFunc ()"><span class="type">GCompletionFunc</span></a> func</code></em>);</pre> |
| <p> |
| Creates a new <a class="link" href="glib-Automatic-String-Completion.html#GCompletion" title="GCompletion"><span class="type">GCompletion</span></a>. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td> |
| <td>the function to be called to return the string representing |
| an item in the <a class="link" href="glib-Automatic-String-Completion.html#GCompletion" title="GCompletion"><span class="type">GCompletion</span></a>, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> if strings are going to |
| be used as the <a class="link" href="glib-Automatic-String-Completion.html#GCompletion" title="GCompletion"><span class="type">GCompletion</span></a> items. |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td>the new <a class="link" href="glib-Automatic-String-Completion.html#GCompletion" title="GCompletion"><span class="type">GCompletion</span></a>. |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="GCompletionFunc ()"> |
| <a name="GCompletionFunc"></a><h3>GCompletionFunc ()</h3> |
| <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * (*GCompletionFunc) (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> Param1</code></em>);</pre> |
| <p> |
| Specifies the type of the function passed to <a class="link" href="glib-Automatic-String-Completion.html#g-completion-new" title="g_completion_new ()"><code class="function">g_completion_new()</code></a>. It |
| should return the string corresponding to the given target item. |
| This is used when you use data structures as <a class="link" href="glib-Automatic-String-Completion.html#GCompletion" title="GCompletion"><span class="type">GCompletion</span></a> items. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>Param1</code></em> :</span></p></td> |
| <td>the completion item. |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td>the string corresponding to the item. |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_completion_add_items ()"> |
| <a name="g-completion-add-items"></a><h3>g_completion_add_items ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> g_completion_add_items (<em class="parameter"><code><a class="link" href="glib-Automatic-String-Completion.html#GCompletion" title="GCompletion"><span class="type">GCompletion</span></a> *cmp</code></em>, |
| <em class="parameter"><code><a class="link" href="glib-Doubly-Linked-Lists.html#GList" title="GList"><span class="type">GList</span></a> *items</code></em>);</pre> |
| <p> |
| Adds items to the <a class="link" href="glib-Automatic-String-Completion.html#GCompletion" title="GCompletion"><span class="type">GCompletion</span></a>. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>cmp</code></em> :</span></p></td> |
| <td>the <a class="link" href="glib-Automatic-String-Completion.html#GCompletion" title="GCompletion"><span class="type">GCompletion</span></a>. |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>items</code></em> :</span></p></td> |
| <td>the list of items to add. |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_completion_remove_items ()"> |
| <a name="g-completion-remove-items"></a><h3>g_completion_remove_items ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> g_completion_remove_items (<em class="parameter"><code><a class="link" href="glib-Automatic-String-Completion.html#GCompletion" title="GCompletion"><span class="type">GCompletion</span></a> *cmp</code></em>, |
| <em class="parameter"><code><a class="link" href="glib-Doubly-Linked-Lists.html#GList" title="GList"><span class="type">GList</span></a> *items</code></em>);</pre> |
| <p> |
| Removes items from a <a class="link" href="glib-Automatic-String-Completion.html#GCompletion" title="GCompletion"><span class="type">GCompletion</span></a>. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>cmp</code></em> :</span></p></td> |
| <td>the <a class="link" href="glib-Automatic-String-Completion.html#GCompletion" title="GCompletion"><span class="type">GCompletion</span></a>. |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>items</code></em> :</span></p></td> |
| <td>the items to remove. |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_completion_clear_items ()"> |
| <a name="g-completion-clear-items"></a><h3>g_completion_clear_items ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> g_completion_clear_items (<em class="parameter"><code><a class="link" href="glib-Automatic-String-Completion.html#GCompletion" title="GCompletion"><span class="type">GCompletion</span></a> *cmp</code></em>);</pre> |
| <p> |
| Removes all items from the <a class="link" href="glib-Automatic-String-Completion.html#GCompletion" title="GCompletion"><span class="type">GCompletion</span></a>. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody><tr> |
| <td><p><span class="term"><em class="parameter"><code>cmp</code></em> :</span></p></td> |
| <td>the <a class="link" href="glib-Automatic-String-Completion.html#GCompletion" title="GCompletion"><span class="type">GCompletion</span></a>. |
| </td> |
| </tr></tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_completion_complete ()"> |
| <a name="g-completion-complete"></a><h3>g_completion_complete ()</h3> |
| <pre class="programlisting"><a class="link" href="glib-Doubly-Linked-Lists.html#GList" title="GList"><span class="returnvalue">GList</span></a>* g_completion_complete (<em class="parameter"><code><a class="link" href="glib-Automatic-String-Completion.html#GCompletion" title="GCompletion"><span class="type">GCompletion</span></a> *cmp</code></em>, |
| <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *prefix</code></em>, |
| <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> **new_prefix</code></em>);</pre> |
| <p> |
| Attempts to complete the string <em class="parameter"><code>prefix</code></em> using the <a class="link" href="glib-Automatic-String-Completion.html#GCompletion" title="GCompletion"><span class="type">GCompletion</span></a> |
| target items. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>cmp</code></em> :</span></p></td> |
| <td>the <a class="link" href="glib-Automatic-String-Completion.html#GCompletion" title="GCompletion"><span class="type">GCompletion</span></a>. |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>prefix</code></em> :</span></p></td> |
| <td>the prefix string, typically typed by the user, which is |
| compared with each of the items. |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>new_prefix</code></em> :</span></p></td> |
| <td>if non-<a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>, returns the longest prefix which is |
| common to all items that matched <em class="parameter"><code>prefix</code></em>, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> if |
| no items matched <em class="parameter"><code>prefix</code></em>. This string should be freed |
| when no longer needed. |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td>the list of items whose strings begin with <em class="parameter"><code>prefix</code></em>. This |
| should not be changed. |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_completion_complete_utf8 ()"> |
| <a name="g-completion-complete-utf8"></a><h3>g_completion_complete_utf8 ()</h3> |
| <pre class="programlisting"><a class="link" href="glib-Doubly-Linked-Lists.html#GList" title="GList"><span class="returnvalue">GList</span></a>* g_completion_complete_utf8 (<em class="parameter"><code><a class="link" href="glib-Automatic-String-Completion.html#GCompletion" title="GCompletion"><span class="type">GCompletion</span></a> *cmp</code></em>, |
| <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *prefix</code></em>, |
| <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> **new_prefix</code></em>);</pre> |
| <p> |
| Attempts to complete the string <em class="parameter"><code>prefix</code></em> using the <a class="link" href="glib-Automatic-String-Completion.html#GCompletion" title="GCompletion"><span class="type">GCompletion</span></a> target items. |
| In contrast to <a class="link" href="glib-Automatic-String-Completion.html#g-completion-complete" title="g_completion_complete ()"><code class="function">g_completion_complete()</code></a>, this function returns the largest common |
| prefix that is a valid UTF-8 string, omitting a possible common partial |
| character. |
| </p> |
| <p> |
| You should use this function instead of <a class="link" href="glib-Automatic-String-Completion.html#g-completion-complete" title="g_completion_complete ()"><code class="function">g_completion_complete()</code></a> if your |
| items are UTF-8 strings. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>cmp</code></em> :</span></p></td> |
| <td>the <a class="link" href="glib-Automatic-String-Completion.html#GCompletion" title="GCompletion"><span class="type">GCompletion</span></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>prefix</code></em> :</span></p></td> |
| <td>the prefix string, typically used by the user, which is compared |
| with each of the items |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>new_prefix</code></em> :</span></p></td> |
| <td>if non-<a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>, returns the longest prefix which is common to all |
| items that matched <em class="parameter"><code>prefix</code></em>, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> if no items matched <em class="parameter"><code>prefix</code></em>. |
| This string should be freed when no longer needed. |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td> the list of items whose strings begin with <em class="parameter"><code>prefix</code></em>. This should |
| not be changed. |
| |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| <p class="since">Since 2.4</p> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_completion_set_compare ()"> |
| <a name="g-completion-set-compare"></a><h3>g_completion_set_compare ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> g_completion_set_compare (<em class="parameter"><code><a class="link" href="glib-Automatic-String-Completion.html#GCompletion" title="GCompletion"><span class="type">GCompletion</span></a> *cmp</code></em>, |
| <em class="parameter"><code><a class="link" href="glib-Automatic-String-Completion.html#GCompletionStrncmpFunc" title="GCompletionStrncmpFunc ()"><span class="type">GCompletionStrncmpFunc</span></a> strncmp_func</code></em>);</pre> |
| <p> |
| Sets the function to use for string comparisons. The default string |
| comparison function is <code class="function">strncmp()</code>. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>cmp</code></em> :</span></p></td> |
| <td>a <a class="link" href="glib-Automatic-String-Completion.html#GCompletion" title="GCompletion"><span class="type">GCompletion</span></a>. |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>strncmp_func</code></em> :</span></p></td> |
| <td>the string comparison function. |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="GCompletionStrncmpFunc ()"> |
| <a name="GCompletionStrncmpFunc"></a><h3>GCompletionStrncmpFunc ()</h3> |
| <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> (*GCompletionStrncmpFunc) (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *s1</code></em>, |
| <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *s2</code></em>, |
| <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a> n</code></em>);</pre> |
| <p> |
| Specifies the type of the function passed to |
| <a class="link" href="glib-Automatic-String-Completion.html#g-completion-set-compare" title="g_completion_set_compare ()"><code class="function">g_completion_set_compare()</code></a>. This is used when you use strings as |
| <a class="link" href="glib-Automatic-String-Completion.html#GCompletion" title="GCompletion"><span class="type">GCompletion</span></a> items. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>s1</code></em> :</span></p></td> |
| <td>string to compare with <em class="parameter"><code>s2</code></em>. |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>s2</code></em> :</span></p></td> |
| <td>string to compare with <em class="parameter"><code>s1</code></em>. |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>n</code></em> :</span></p></td> |
| <td>maximal number of bytes to compare. |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td>an integer less than, equal to, or greater than zero if |
| the first <em class="parameter"><code>n</code></em> bytes of <em class="parameter"><code>s1</code></em> is found, respectively, to be |
| less than, to match, or to be greater than the first <em class="parameter"><code>n</code></em> |
| bytes of <em class="parameter"><code>s2</code></em>. |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_completion_free ()"> |
| <a name="g-completion-free"></a><h3>g_completion_free ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> g_completion_free (<em class="parameter"><code><a class="link" href="glib-Automatic-String-Completion.html#GCompletion" title="GCompletion"><span class="type">GCompletion</span></a> *cmp</code></em>);</pre> |
| <p> |
| Frees all memory used by the <a class="link" href="glib-Automatic-String-Completion.html#GCompletion" title="GCompletion"><span class="type">GCompletion</span></a>. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody><tr> |
| <td><p><span class="term"><em class="parameter"><code>cmp</code></em> :</span></p></td> |
| <td>the <a class="link" href="glib-Automatic-String-Completion.html#GCompletion" title="GCompletion"><span class="type">GCompletion</span></a>. |
| </td> |
| </tr></tbody> |
| </table></div> |
| </div> |
| </div> |
| </div> |
| <div class="footer"> |
| <hr> |
| Generated by GTK-Doc V1.14</div> |
| </body> |
| </html> |