New upstream version 3.24.14

This commit is contained in:
Simon McVittie
2020-02-29 14:17:40 +00:00
543 changed files with 330694 additions and 808714 deletions

View File

@ -8,7 +8,7 @@
<link rel="up" href="gtk.html" title="Part I. GTK+ Overview">
<link rel="prev" href="gtk-resources.html" title="Mailing lists and bug reports">
<link rel="next" href="chap-drawing-model.html" title="The GTK+ Drawing Model">
<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<meta name="generator" content="GTK-Doc V1.32.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@ -150,8 +150,8 @@ If <span class="structname">GtkFoo</span> isn't a toplevel window, then
<tr>
<td class="listing_lines" align="right"><pre>1
2</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">foo </span><span class="symbol">=</span><span class="normal"> </span><span class="function">gtk_foo_new</span><span class="normal"> </span><span class="symbol">();</span>
<span class="function"><a href="GtkWidget.html#gtk-widget-destroy">gtk_widget_destroy</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">foo</span><span class="symbol">);</span></pre></td>
<td class="listing_code"><pre class="programlisting"><span class="n">foo</span> <span class="o">=</span> <span class="n">gtk_foo_new</span> <span class="p">();</span>
<span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">foo</span><span class="p">);</span></pre></td>
</tr>
</tbody>
</table>
@ -174,8 +174,8 @@ creating it:
<tr>
<td class="listing_lines" align="right"><pre>1
2</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">foo </span><span class="symbol">=</span><span class="normal"> </span><span class="function">gtk_foo_new</span><span class="normal"> </span><span class="symbol">();</span>
<span class="function">g_object_ref_sink</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">foo</span><span class="symbol">);</span></pre></td>
<td class="listing_code"><pre class="programlisting"><span class="n">foo</span> <span class="o">=</span> <span class="n">gtk_foo_new</span> <span class="p">();</span>
<span class="n">g_object_ref_sink</span> <span class="p">(</span><span class="n">foo</span><span class="p">);</span></pre></td>
</tr>
</tbody>
</table>
@ -192,8 +192,8 @@ reference:
<tr>
<td class="listing_lines" align="right"><pre>1
2</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="function"><a href="GtkWidget.html#gtk-widget-destroy">gtk_widget_destroy</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">foo</span><span class="symbol">);</span>
<span class="function">g_object_unref</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">foo</span><span class="symbol">);</span></pre></td>
<td class="listing_code"><pre class="programlisting"><span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">foo</span><span class="p">);</span>
<span class="n">g_object_unref</span> <span class="p">(</span><span class="n">foo</span><span class="p">);</span></pre></td>
</tr>
</tbody>
</table>
@ -259,9 +259,9 @@ Conventionally, people define macros as follows for convenience:
<td class="listing_lines" align="right"><pre>1
2
3</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="preproc">#define</span><span class="normal"> </span><span class="function">_</span><span class="symbol">(</span><span class="normal">x</span><span class="symbol">)</span><span class="normal"> </span><span class="function">gettext</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">x</span><span class="symbol">)</span>
<span class="preproc">#define</span><span class="normal"> </span><span class="function">N_</span><span class="symbol">(</span><span class="normal">x</span><span class="symbol">)</span><span class="normal"> x</span>
<span class="preproc">#define</span><span class="normal"> </span><span class="function">C_</span><span class="symbol">(</span><span class="normal">ctx</span><span class="symbol">,</span><span class="normal">x</span><span class="symbol">)</span><span class="normal"> </span><span class="function">pgettext</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">ctx</span><span class="symbol">,</span><span class="normal"> x</span><span class="symbol">)</span></pre></td>
<td class="listing_code"><pre class="programlisting"><span class="cp">#define _(x) gettext (x)</span>
<span class="cp">#define N_(x) x</span>
<span class="cp">#define C_(ctx,x) pgettext (ctx, x)</span></pre></td>
</tr>
</tbody>
</table>
@ -299,19 +299,19 @@ Code using these macros ends up looking like this:
11
12
13</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="preproc">#include</span><span class="normal"> </span><span class="string">&lt;gi18n.h&gt;</span>
<td class="listing_code"><pre class="programlisting"><span class="cp">#include</span> <span class="cpf">&lt;gi18n.h&gt;</span><span class="cp"></span>
<span class="keyword">static</span><span class="normal"> </span><span class="keyword">const</span><span class="normal"> </span><span class="type">char</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">global_variable </span><span class="symbol">=</span><span class="normal"> </span><span class="function">N_</span><span class="symbol">(</span><span class="string">"Translate this string"</span><span class="symbol">);</span>
<span class="k">static</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">global_variable</span> <span class="o">=</span> <span class="n">N_</span><span class="p">(</span><span class="s">&quot;Translate this string&quot;</span><span class="p">);</span>
<span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
<span class="function">make_widgets</span><span class="normal"> </span><span class="symbol">(</span><span class="type">void</span><span class="symbol">)</span>
<span class="cbracket">{</span>
<span class="normal"> </span><span class="usertype">GtkWidget</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">label1</span><span class="symbol">;</span>
<span class="normal"> </span><span class="usertype">GtkWidget</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">label2</span><span class="symbol">;</span>
<span class="k">static</span> <span class="kt">void</span>
<span class="nf">make_widgets</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
<span class="p">{</span>
<span class="n">GtkWidget</span> <span class="o">*</span><span class="n">label1</span><span class="p">;</span>
<span class="n">GtkWidget</span> <span class="o">*</span><span class="n">label2</span><span class="p">;</span>
<span class="normal"> label1 </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GtkLabel.html#gtk-label-new">gtk_label_new</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">_</span><span class="symbol">(</span><span class="string">"Another string to translate"</span><span class="symbol">));</span>
<span class="normal"> label2 </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GtkLabel.html#gtk-label-new">gtk_label_new</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">_</span><span class="symbol">(</span><span class="normal">global_variable</span><span class="symbol">));</span>
<span class="symbol">...</span></pre></td>
<span class="n">label1</span> <span class="o">=</span> <span class="n">gtk_label_new</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Another string to translate&quot;</span><span class="p">));</span>
<span class="n">label2</span> <span class="o">=</span> <span class="n">gtk_label_new</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="n">global_variable</span><span class="p">));</span>
<span class="p">...</span></pre></td>
</tr>
</tbody>
</table>
@ -336,7 +336,7 @@ the following convenience:
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="preproc">#define</span><span class="normal"> </span><span class="function">_</span><span class="symbol">(</span><span class="normal">x</span><span class="symbol">)</span><span class="normal"> </span><span class="function">dgettext</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">GETTEXT_PACKAGE</span><span class="symbol">,</span><span class="normal"> x</span><span class="symbol">)</span></pre></td>
<td class="listing_code"><pre class="programlisting"><span class="cp">#define _(x) dgettext (GETTEXT_PACKAGE, x)</span></pre></td>
</tr>
</tbody>
</table>
@ -411,24 +411,24 @@ writes the content of a IS0-8859-1 encoded text file to
16
17
18</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="usertype">gchar</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">text</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">utf8_text</span><span class="symbol">;</span>
<span class="usertype">gsize</span><span class="normal"> length</span><span class="symbol">;</span>
<span class="usertype">GError</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">error </span><span class="symbol">=</span><span class="normal"> NULL</span><span class="symbol">;</span>
<td class="listing_code"><pre class="programlisting"><span class="n">gchar</span> <span class="o">*</span><span class="n">text</span><span class="p">,</span> <span class="o">*</span><span class="n">utf8_text</span><span class="p">;</span>
<span class="n">gsize</span> <span class="n">length</span><span class="p">;</span>
<span class="n">GError</span> <span class="o">*</span><span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
<span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="function">g_file_get_contents</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">filename</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">text</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">length</span><span class="symbol">,</span><span class="normal"> NULL</span><span class="symbol">))</span>
<span class="normal"> </span><span class="cbracket">{</span>
<span class="normal"> utf8_text </span><span class="symbol">=</span><span class="normal"> </span><span class="function">g_convert</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">text</span><span class="symbol">,</span><span class="normal"> length</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"UTF-8"</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"ISO-8859-1"</span><span class="symbol">,</span>
<span class="normal"> NULL</span><span class="symbol">,</span><span class="normal"> NULL</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">error</span><span class="symbol">);</span>
<span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">error </span><span class="symbol">!=</span><span class="normal"> NULL</span><span class="symbol">)</span>
<span class="normal"> </span><span class="cbracket">{</span>
<span class="normal"> </span><span class="function">fprintf</span><span class="normal"> </span><span class="symbol">(</span><span class="string">"Couldn't convert file %s to UTF-8</span><span class="specialchar">\n</span><span class="string">"</span><span class="symbol">,</span><span class="normal"> filename</span><span class="symbol">);</span>
<span class="normal"> </span><span class="function">g_error_free</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">error</span><span class="symbol">);</span>
<span class="normal"> </span><span class="cbracket">}</span>
<span class="normal"> </span><span class="keyword">else</span>
<span class="normal"> </span><span class="function">g_print</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">utf8_text</span><span class="symbol">);</span>
<span class="normal"> </span><span class="cbracket">}</span>
<span class="keyword">else</span>
<span class="normal"> </span><span class="function">fprintf</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">stderr</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Unable to read file %s</span><span class="specialchar">\n</span><span class="string">"</span><span class="symbol">,</span><span class="normal"> filename</span><span class="symbol">);</span></pre></td>
<span class="k">if</span> <span class="p">(</span><span class="n">g_file_get_contents</span> <span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">text</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">length</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span>
<span class="p">{</span>
<span class="n">utf8_text</span> <span class="o">=</span> <span class="n">g_convert</span> <span class="p">(</span><span class="n">text</span><span class="p">,</span> <span class="n">length</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">,</span> <span class="s">&quot;ISO-8859-1&quot;</span><span class="p">,</span>
<span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
<span class="p">{</span>
<span class="n">fprintf</span> <span class="p">(</span><span class="s">&quot;Couldn&#39;t convert file %s to UTF-8</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">filename</span><span class="p">);</span>
<span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
<span class="p">}</span>
<span class="k">else</span>
<span class="n">g_print</span> <span class="p">(</span><span class="n">utf8_text</span><span class="p">);</span>
<span class="p">}</span>
<span class="k">else</span>
<span class="n">fprintf</span> <span class="p">(</span><span class="n">stderr</span><span class="p">,</span> <span class="s">&quot;Unable to read file %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">filename</span><span class="p">);</span></pre></td>
</tr>
</tbody>
</table>
@ -493,11 +493,11 @@ a string literal:
3
4
5</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="function">g_print</span><span class="normal"> </span><span class="symbol">(</span><span class="string">"direct UTF-8: ©"</span><span class="symbol">);</span>
<span class="function">g_print</span><span class="normal"> </span><span class="symbol">(</span><span class="string">"escaped UTF-8: </span><span class="specialchar">\3</span><span class="string">02</span><span class="specialchar">\2</span><span class="string">51"</span><span class="symbol">);</span>
<span class="normal">text </span><span class="symbol">=</span><span class="normal"> </span><span class="function">g_convert</span><span class="normal"> </span><span class="symbol">(</span><span class="string">"runtime conversion: ©"</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">-</span><span class="number">1</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"ISO-8859-1"</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"UTF-8"</span><span class="symbol">,</span><span class="normal"> NULL</span><span class="symbol">,</span><span class="normal"> NULL</span><span class="symbol">,</span><span class="normal"> NULL</span><span class="symbol">);</span>
<span class="function">g_print</span><span class="symbol">(</span><span class="normal">text</span><span class="symbol">);</span>
<span class="function">g_free</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">text</span><span class="symbol">);</span></pre></td>
<td class="listing_code"><pre class="programlisting"><span class="n">g_print</span> <span class="p">(</span><span class="s">&quot;direct UTF-8: ©&quot;</span><span class="p">);</span>
<span class="n">g_print</span> <span class="p">(</span><span class="s">&quot;escaped UTF-8: </span><span class="se">\302\251</span><span class="s">&quot;</span><span class="p">);</span>
<span class="n">text</span> <span class="o">=</span> <span class="n">g_convert</span> <span class="p">(</span><span class="s">&quot;runtime conversion: ©&quot;</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="s">&quot;ISO-8859-1&quot;</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
<span class="n">g_print</span><span class="p">(</span><span class="n">text</span><span class="p">);</span>
<span class="n">g_free</span> <span class="p">(</span><span class="n">text</span><span class="p">);</span></pre></td>
</tr>
</tbody>
</table>
@ -547,8 +547,8 @@ code:
<tr>
<td class="listing_lines" align="right"><pre>1
2</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="function">gdk_window_set_events</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">gdk_window</span><span class="symbol">,</span>
<span class="normal"> GDK_BUTTON_PRESS_MASK </span><span class="symbol">|</span><span class="normal"> GDK_BUTTON_RELEASE_MASK</span><span class="symbol">);</span></pre></td>
<td class="listing_code"><pre class="programlisting"><span class="n">gdk_window_set_events</span> <span class="p">(</span><span class="n">gdk_window</span><span class="p">,</span>
<span class="n">GDK_BUTTON_PRESS_MASK</span> <span class="o">|</span> <span class="n">GDK_BUTTON_RELEASE_MASK</span><span class="p">);</span></pre></td>
</tr>
</tbody>
</table>
@ -563,8 +563,8 @@ while in C++ you must write:
<tr>
<td class="listing_lines" align="right"><pre>1
2</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="function">gdk_window_set_events</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">gdk_window</span><span class="symbol">,</span>
<span class="normal"> </span><span class="symbol">(</span><span class="normal">GdkEventMask</span><span class="symbol">)</span><span class="normal"> GDK_BUTTON_PRESS_MASK </span><span class="symbol">|</span><span class="normal"> GDK_BUTTON_RELEASE_MASK</span><span class="symbol">);</span></pre></td>
<td class="listing_code"><pre class="programlisting"><span class="n">gdk_window_set_events</span> <span class="p">(</span><span class="n">gdk_window</span><span class="p">,</span>
<span class="p">(</span><span class="n">GdkEventMask</span><span class="p">)</span> <span class="n">GDK_BUTTON_PRESS_MASK</span> <span class="o">|</span> <span class="n">GDK_BUTTON_RELEASE_MASK</span><span class="p">);</span></pre></td>
</tr>
</tbody>
</table>
@ -640,12 +640,12 @@ To draw a piece of text, use a Pango layout and <a href="https://developer.gnome
4
5
6</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">layout </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GtkWidget.html#gtk-widget-create-pango-layout">gtk_widget_create_pango_layout</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">widget</span><span class="symbol">,</span><span class="normal"> text</span><span class="symbol">);</span>
<span class="normal">fontdesc </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="https://developer.gnome.org/pango/pango-Fonts.html#pango-font-description-from-string">pango_font_description_from_string</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"Luxi Mono 12"</span><span class="symbol">);</span>
<span class="function"><a href="https://developer.gnome.org/pango/pango-Layout-Objects.html#pango-layout-set-font-description">pango_layout_set_font_description</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">layout</span><span class="symbol">,</span><span class="normal"> fontdesc</span><span class="symbol">);</span>
<span class="function"><a href="https://developer.gnome.org/pango/pango-Cairo-Rendering.html#pango-cairo-show-layout">pango_cairo_show_layout</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">cr</span><span class="symbol">,</span><span class="normal"> layout</span><span class="symbol">);</span>
<span class="function"><a href="https://developer.gnome.org/pango/pango-Fonts.html#pango-font-description-free">pango_font_description_free</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">fontdesc</span><span class="symbol">);</span>
<span class="function">g_object_unref</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">layout</span><span class="symbol">);</span></pre></td>
<td class="listing_code"><pre class="programlisting"><span class="n">layout</span> <span class="o">=</span> <span class="n">gtk_widget_create_pango_layout</span> <span class="p">(</span><span class="n">widget</span><span class="p">,</span> <span class="n">text</span><span class="p">);</span>
<span class="n">fontdesc</span> <span class="o">=</span> <span class="n">pango_font_description_from_string</span> <span class="p">(</span><span class="s">&quot;Luxi Mono 12&quot;</span><span class="p">);</span>
<span class="n">pango_layout_set_font_description</span> <span class="p">(</span><span class="n">layout</span><span class="p">,</span> <span class="n">fontdesc</span><span class="p">);</span>
<span class="n">pango_cairo_show_layout</span> <span class="p">(</span><span class="n">cr</span><span class="p">,</span> <span class="n">layout</span><span class="p">);</span>
<span class="n">pango_font_description_free</span> <span class="p">(</span><span class="n">fontdesc</span><span class="p">);</span>
<span class="n">g_object_unref</span> <span class="p">(</span><span class="n">layout</span><span class="p">);</span></pre></td>
</tr>
</tbody>
</table>
@ -685,12 +685,12 @@ To obtain the size of a piece of text, use a Pango layout and
4
5
6</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">layout </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GtkWidget.html#gtk-widget-create-pango-layout">gtk_widget_create_pango_layout</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">widget</span><span class="symbol">,</span><span class="normal"> text</span><span class="symbol">);</span>
<span class="normal">fontdesc </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="https://developer.gnome.org/pango/pango-Fonts.html#pango-font-description-from-string">pango_font_description_from_string</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"Luxi Mono 12"</span><span class="symbol">);</span>
<span class="function"><a href="https://developer.gnome.org/pango/pango-Layout-Objects.html#pango-layout-set-font-description">pango_layout_set_font_description</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">layout</span><span class="symbol">,</span><span class="normal"> fontdesc</span><span class="symbol">);</span>
<span class="function"><a href="https://developer.gnome.org/pango/pango-Layout-Objects.html#pango-layout-get-pixel-size">pango_layout_get_pixel_size</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">layout</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">width</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">height</span><span class="symbol">);</span>
<span class="function"><a href="https://developer.gnome.org/pango/pango-Fonts.html#pango-font-description-free">pango_font_description_free</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">fontdesc</span><span class="symbol">);</span>
<span class="function">g_object_unref</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">layout</span><span class="symbol">);</span></pre></td>
<td class="listing_code"><pre class="programlisting"><span class="n">layout</span> <span class="o">=</span> <span class="n">gtk_widget_create_pango_layout</span> <span class="p">(</span><span class="n">widget</span><span class="p">,</span> <span class="n">text</span><span class="p">);</span>
<span class="n">fontdesc</span> <span class="o">=</span> <span class="n">pango_font_description_from_string</span> <span class="p">(</span><span class="s">&quot;Luxi Mono 12&quot;</span><span class="p">);</span>
<span class="n">pango_layout_set_font_description</span> <span class="p">(</span><span class="n">layout</span><span class="p">,</span> <span class="n">fontdesc</span><span class="p">);</span>
<span class="n">pango_layout_get_pixel_size</span> <span class="p">(</span><span class="n">layout</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">width</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">height</span><span class="p">);</span>
<span class="n">pango_font_description_free</span> <span class="p">(</span><span class="n">fontdesc</span><span class="p">);</span>
<span class="n">g_object_unref</span> <span class="p">(</span><span class="n">layout</span><span class="p">);</span></pre></td>
</tr>
</tbody>
</table>
@ -732,7 +732,7 @@ variable, which keeps the compiler from optimizing the call away.
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="keyword">volatile</span><span class="normal"> </span><span class="usertype">GType</span><span class="normal"> dummy </span><span class="symbol">=</span><span class="normal"> GTK_TYPE_BLAH</span><span class="symbol">;</span></pre></td>
<td class="listing_code"><pre class="programlisting"><span class="k">volatile</span> <span class="n">GType</span> <span class="n">dummy</span> <span class="o">=</span> <span class="n">GTK_TYPE_BLAH</span><span class="p">;</span></pre></td>
</tr>
</tbody>
</table>
@ -774,13 +774,13 @@ window is moved to a different screen.
5
6
7</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="usertype">GdkVisual</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">visual</span><span class="symbol">;</span>
<td class="listing_code"><pre class="programlisting"><span class="n">GdkVisual</span> <span class="o">*</span><span class="n">visual</span><span class="p">;</span>
<span class="normal">visual </span><span class="symbol">=</span><span class="normal"> </span><span class="function">gdk_screen_get_rgba_visual</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">screen</span><span class="symbol">);</span>
<span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">visual </span><span class="symbol">==</span><span class="normal"> NULL</span><span class="symbol">)</span>
<span class="normal"> visual </span><span class="symbol">=</span><span class="normal"> </span><span class="function">gdk_screen_get_system_visual</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">screen</span><span class="symbol">);</span>
<span class="n">visual</span> <span class="o">=</span> <span class="n">gdk_screen_get_rgba_visual</span> <span class="p">(</span><span class="n">screen</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="n">visual</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
<span class="n">visual</span> <span class="o">=</span> <span class="n">gdk_screen_get_system_visual</span> <span class="p">(</span><span class="n">screen</span><span class="p">);</span>
<span class="function"><a href="GtkWidget.html#gtk-widget-set-visual">gtk_widget_set_visual</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_WIDGET</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">window</span><span class="symbol">),</span><span class="normal"> visual</span><span class="symbol">);</span></pre></td>
<span class="n">gtk_widget_set_visual</span> <span class="p">(</span><span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">window</span><span class="p">),</span> <span class="n">visual</span><span class="p">);</span></pre></td>
</tr>
</tbody>
</table>
@ -920,10 +920,10 @@ achieve. One option is <a class="link" href="GtkWidget.html#gtk-widget-override-
2
3
4</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="usertype">PangoFontDesc</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">font_desc </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="https://developer.gnome.org/pango/pango-Fonts.html#pango-font-description-new">pango_font_description_new</a></span><span class="normal"> </span><span class="symbol">();</span>
<span class="function"><a href="https://developer.gnome.org/pango/pango-Fonts.html#pango-font-description-set-size">pango_font_description_set_size</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">font_desc</span><span class="symbol">,</span><span class="normal"> </span><span class="number">40</span><span class="symbol">);</span>
<span class="function"><a href="GtkWidget.html#gtk-widget-override-font">gtk_widget_override_font</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">widget</span><span class="symbol">,</span><span class="normal"> font</span><span class="symbol">);</span>
<span class="function"><a href="https://developer.gnome.org/pango/pango-Fonts.html#pango-font-description-free">pango_font_description_free</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">font_desc</span><span class="symbol">);</span></pre></td>
<td class="listing_code"><pre class="programlisting"><span class="n">PangoFontDesc</span> <span class="o">*</span><span class="n">font_desc</span> <span class="o">=</span> <span class="n">pango_font_description_new</span> <span class="p">();</span>
<span class="n">pango_font_description_set_size</span> <span class="p">(</span><span class="n">font_desc</span><span class="p">,</span> <span class="mi">40</span><span class="p">);</span>
<span class="n">gtk_widget_override_font</span> <span class="p">(</span><span class="n">widget</span><span class="p">,</span> <span class="n">font</span><span class="p">);</span>
<span class="n">pango_font_description_free</span> <span class="p">(</span><span class="n">font_desc</span><span class="p">);</span></pre></td>
</tr>
</tbody>
</table>
@ -940,7 +940,7 @@ If you want to make the text of a label larger, you can use
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="function"><a href="GtkLabel.html#gtk-label-set-markup">gtk_label_set_markup</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">label</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"&lt;big&gt;big text&lt;/big&gt;"</span><span class="symbol">);</span></pre></td>
<td class="listing_code"><pre class="programlisting"><span class="n">gtk_label_set_markup</span> <span class="p">(</span><span class="n">label</span><span class="p">,</span> <span class="s">&quot;&lt;big&gt;big text&lt;/big&gt;&quot;</span><span class="p">);</span></pre></td>
</tr>
</tbody>
</table>
@ -1016,15 +1016,15 @@ or <a class="link" href="GtkTextIter.html#gtk-text-iter-get-text" title="gtk_tex
7
8
9</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="usertype">GtkTextIter</span><span class="normal"> start</span><span class="symbol">,</span><span class="normal"> end</span><span class="symbol">;</span>
<span class="usertype">GtkTextBuffer</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">buffer</span><span class="symbol">;</span>
<span class="type">char</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">text</span><span class="symbol">;</span>
<td class="listing_code"><pre class="programlisting"><span class="n">GtkTextIter</span> <span class="n">start</span><span class="p">,</span> <span class="n">end</span><span class="p">;</span>
<span class="n">GtkTextBuffer</span> <span class="o">*</span><span class="n">buffer</span><span class="p">;</span>
<span class="kt">char</span> <span class="o">*</span><span class="n">text</span><span class="p">;</span>
<span class="normal">buffer </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GtkTextView.html#gtk-text-view-get-buffer">gtk_text_view_get_buffer</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_TEXT_VIEW</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">text_view</span><span class="symbol">));</span>
<span class="function"><a href="GtkTextBuffer.html#gtk-text-buffer-get-bounds">gtk_text_buffer_get_bounds</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">buffer</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">start</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">end</span><span class="symbol">);</span>
<span class="normal">text </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GtkTextIter.html#gtk-text-iter-get-text">gtk_text_iter_get_text</a></span><span class="normal"> </span><span class="symbol">(&amp;</span><span class="normal">start</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">end</span><span class="symbol">);</span>
<span class="comment">/* use text */</span>
<span class="function">g_free</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">text</span><span class="symbol">);</span></pre></td>
<span class="n">buffer</span> <span class="o">=</span> <span class="n">gtk_text_view_get_buffer</span> <span class="p">(</span><span class="n">GTK_TEXT_VIEW</span> <span class="p">(</span><span class="n">text_view</span><span class="p">));</span>
<span class="n">gtk_text_buffer_get_bounds</span> <span class="p">(</span><span class="n">buffer</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">start</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">end</span><span class="p">);</span>
<span class="n">text</span> <span class="o">=</span> <span class="n">gtk_text_iter_get_text</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">start</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">end</span><span class="p">);</span>
<span class="cm">/* use text */</span>
<span class="n">g_free</span> <span class="p">(</span><span class="n">text</span><span class="p">);</span></pre></td>
</tr>
</tbody>
</table>
@ -1227,70 +1227,70 @@ The following example demonstrates this:
62
63
64</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="keyword">enum</span>
<span class="cbracket">{</span>
<span class="normal"> DOUBLE_COLUMN</span><span class="symbol">,</span>
<span class="normal"> N_COLUMNS</span>
<span class="cbracket">}</span><span class="symbol">;</span>
<td class="listing_code"><pre class="programlisting"><span class="k">enum</span>
<span class="p">{</span>
<span class="n">DOUBLE_COLUMN</span><span class="p">,</span>
<span class="n">N_COLUMNS</span>
<span class="p">};</span>
<span class="usertype">GtkListStore</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">mycolumns</span><span class="symbol">;</span>
<span class="usertype">GtkTreeView</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">treeview</span><span class="symbol">;</span>
<span class="n">GtkListStore</span> <span class="o">*</span><span class="n">mycolumns</span><span class="p">;</span>
<span class="n">GtkTreeView</span> <span class="o">*</span><span class="n">treeview</span><span class="p">;</span>
<span class="type">void</span>
<span class="function">my_cell_double_to_text</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GtkTreeViewColumn</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">tree_column</span><span class="symbol">,</span>
<span class="normal"> </span><span class="usertype">GtkCellRenderer</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">cell</span><span class="symbol">,</span>
<span class="normal"> </span><span class="usertype">GtkTreeModel</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">tree_model</span><span class="symbol">,</span>
<span class="normal"> </span><span class="usertype">GtkTreeIter</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">iter</span><span class="symbol">,</span>
<span class="normal"> </span><span class="usertype">gpointer</span><span class="normal"> data</span><span class="symbol">)</span>
<span class="cbracket">{</span>
<span class="normal"> </span><span class="usertype">GtkCellRendererText</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">cell_text </span><span class="symbol">=</span><span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="GtkCellRendererText.html#GtkCellRendererText-struct">GtkCellRendererText</a> </span><span class="symbol">*)</span><span class="normal">cell</span><span class="symbol">;</span>
<span class="normal"> </span><span class="usertype">gdouble</span><span class="normal"> d</span><span class="symbol">;</span>
<span class="normal"> </span><span class="usertype">gchar</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">text</span><span class="symbol">;</span>
<span class="kt">void</span>
<span class="nf">my_cell_double_to_text</span> <span class="p">(</span><span class="n">GtkTreeViewColumn</span> <span class="o">*</span><span class="n">tree_column</span><span class="p">,</span>
<span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">cell</span><span class="p">,</span>
<span class="n">GtkTreeModel</span> <span class="o">*</span><span class="n">tree_model</span><span class="p">,</span>
<span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">iter</span><span class="p">,</span>
<span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
<span class="p">{</span>
<span class="n">GtkCellRendererText</span> <span class="o">*</span><span class="n">cell_text</span> <span class="o">=</span> <span class="p">(</span><span class="n">GtkCellRendererText</span> <span class="o">*</span><span class="p">)</span><span class="n">cell</span><span class="p">;</span>
<span class="n">gdouble</span> <span class="n">d</span><span class="p">;</span>
<span class="n">gchar</span> <span class="o">*</span><span class="n">text</span><span class="p">;</span>
<span class="normal"> </span><span class="comment">/* Get the double value from the model. */</span>
<span class="normal"> </span><span class="function"><a href="GtkTreeModel.html#gtk-tree-model-get">gtk_tree_model_get</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">tree_model</span><span class="symbol">,</span><span class="normal"> iter</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">gint</span><span class="symbol">)</span><span class="normal">data</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">d</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">-</span><span class="number">1</span><span class="symbol">);</span>
<span class="normal"> </span><span class="comment">/* Now we can format the value ourselves. */</span>
<span class="normal"> text </span><span class="symbol">=</span><span class="normal"> </span><span class="function">g_strdup_printf</span><span class="normal"> </span><span class="symbol">(</span><span class="string">"%.2f"</span><span class="symbol">,</span><span class="normal"> d</span><span class="symbol">);</span>
<span class="normal"> </span><span class="function">g_object_set</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">cell</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"text"</span><span class="symbol">,</span><span class="normal"> text</span><span class="symbol">,</span><span class="normal"> NULL</span><span class="symbol">);</span>
<span class="normal"> </span><span class="function">g_free</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">text</span><span class="symbol">);</span>
<span class="cbracket">}</span>
<span class="cm">/* Get the double value from the model. */</span>
<span class="n">gtk_tree_model_get</span> <span class="p">(</span><span class="n">tree_model</span><span class="p">,</span> <span class="n">iter</span><span class="p">,</span> <span class="p">(</span><span class="n">gint</span><span class="p">)</span><span class="n">data</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">d</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
<span class="cm">/* Now we can format the value ourselves. */</span>
<span class="n">text</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;%.2f&quot;</span><span class="p">,</span> <span class="n">d</span><span class="p">);</span>
<span class="n">g_object_set</span> <span class="p">(</span><span class="n">cell</span><span class="p">,</span> <span class="s">&quot;text&quot;</span><span class="p">,</span> <span class="n">text</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
<span class="n">g_free</span> <span class="p">(</span><span class="n">text</span><span class="p">);</span>
<span class="p">}</span>
<span class="type">void</span>
<span class="function">set_up_new_columns</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GtkTreeView</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">myview</span><span class="symbol">)</span>
<span class="cbracket">{</span>
<span class="normal"> </span><span class="usertype">GtkCellRendererText</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">renderer</span><span class="symbol">;</span>
<span class="normal"> </span><span class="usertype">GtkTreeViewColumn</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">column</span><span class="symbol">;</span>
<span class="normal"> </span><span class="usertype">GtkListStore</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">mycolumns</span><span class="symbol">;</span>
<span class="kt">void</span>
<span class="nf">set_up_new_columns</span> <span class="p">(</span><span class="n">GtkTreeView</span> <span class="o">*</span><span class="n">myview</span><span class="p">)</span>
<span class="p">{</span>
<span class="n">GtkCellRendererText</span> <span class="o">*</span><span class="n">renderer</span><span class="p">;</span>
<span class="n">GtkTreeViewColumn</span> <span class="o">*</span><span class="n">column</span><span class="p">;</span>
<span class="n">GtkListStore</span> <span class="o">*</span><span class="n">mycolumns</span><span class="p">;</span>
<span class="normal"> </span><span class="comment">/* Create the data model and associate it with the given TreeView */</span>
<span class="normal"> mycolumns </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GtkListStore.html#gtk-list-store-new">gtk_list_store_new</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">N_COLUMNS</span><span class="symbol">,</span><span class="normal"> G_TYPE_DOUBLE</span><span class="symbol">);</span>
<span class="normal"> </span><span class="function"><a href="GtkTreeView.html#gtk-tree-view-set-model">gtk_tree_view_set_model</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">myview</span><span class="symbol">,</span><span class="normal"> </span><span class="function">GTK_TREE_MODEL</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">mycolumns</span><span class="symbol">));</span>
<span class="cm">/* Create the data model and associate it with the given TreeView */</span>
<span class="n">mycolumns</span> <span class="o">=</span> <span class="n">gtk_list_store_new</span> <span class="p">(</span><span class="n">N_COLUMNS</span><span class="p">,</span> <span class="n">G_TYPE_DOUBLE</span><span class="p">);</span>
<span class="n">gtk_tree_view_set_model</span> <span class="p">(</span><span class="n">myview</span><span class="p">,</span> <span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">mycolumns</span><span class="p">));</span>
<span class="normal"> </span><span class="comment">/* Create a GtkCellRendererText */</span>
<span class="normal"> renderer </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GtkCellRendererText.html#gtk-cell-renderer-text-new">gtk_cell_renderer_text_new</a></span><span class="normal"> </span><span class="symbol">();</span>
<span class="cm">/* Create a GtkCellRendererText */</span>
<span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_text_new</span> <span class="p">();</span>
<span class="normal"> </span><span class="comment">/* Create a new column that has a title ("Example column"),</span>
<span class="comment"> * uses the above created renderer that will render the double</span>
<span class="comment"> * value into text from the associated model's rows.</span>
<span class="comment"> */</span>
<span class="normal"> column </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GtkTreeViewColumn.html#gtk-tree-view-column-new">gtk_tree_view_column_new</a></span><span class="normal"> </span><span class="symbol">();</span>
<span class="normal"> </span><span class="function"><a href="GtkTreeViewColumn.html#gtk-tree-view-column-set-title">gtk_tree_view_column_set_title</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">column</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Example column"</span><span class="symbol">);</span>
<span class="normal"> renderer </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GtkCellRendererText.html#gtk-cell-renderer-text-new">gtk_cell_renderer_text_new</a></span><span class="normal"> </span><span class="symbol">();</span>
<span class="normal"> </span><span class="function"><a href="GtkTreeViewColumn.html#gtk-tree-view-column-pack-start">gtk_tree_view_column_pack_start</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">column</span><span class="symbol">,</span><span class="normal"> renderer</span><span class="symbol">,</span><span class="normal"> TRUE</span><span class="symbol">);</span>
<span class="cm">/* Create a new column that has a title (&quot;Example column&quot;),</span>
<span class="cm"> * uses the above created renderer that will render the double</span>
<span class="cm"> * value into text from the associated model&#39;s rows.</span>
<span class="cm"> */</span>
<span class="n">column</span> <span class="o">=</span> <span class="n">gtk_tree_view_column_new</span> <span class="p">();</span>
<span class="n">gtk_tree_view_column_set_title</span> <span class="p">(</span><span class="n">column</span><span class="p">,</span> <span class="s">&quot;Example column&quot;</span><span class="p">);</span>
<span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_text_new</span> <span class="p">();</span>
<span class="n">gtk_tree_view_column_pack_start</span> <span class="p">(</span><span class="n">column</span><span class="p">,</span> <span class="n">renderer</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
<span class="normal"> </span><span class="comment">/* Append the new column after the GtkTreeView's previous columns. */</span>
<span class="normal"> </span><span class="function"><a href="GtkTreeView.html#gtk-tree-view-append-column">gtk_tree_view_append_column</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_TREE_VIEW</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">myview</span><span class="symbol">),</span><span class="normal"> column</span><span class="symbol">);</span>
<span class="normal"> </span><span class="comment">/* Since we created the column by hand, we can set it up for our</span>
<span class="comment"> * needs, e.g. set its minimum and maximum width, etc.</span>
<span class="comment"> */</span>
<span class="normal"> </span><span class="comment">/* Set up a custom function that will be called when the column content</span>
<span class="comment"> * is rendered. We use the func_data pointer as an index into our</span>
<span class="comment"> * model. This is convenient when using multi column lists.</span>
<span class="comment"> */</span>
<span class="normal"> </span><span class="function"><a href="GtkTreeViewColumn.html#gtk-tree-view-column-set-cell-data-func">gtk_tree_view_column_set_cell_data_func</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">column</span><span class="symbol">,</span><span class="normal"> renderer</span><span class="symbol">,</span>
<span class="normal"> my_cell_double_to_text</span><span class="symbol">,</span>
<span class="normal"> </span><span class="symbol">(</span><span class="normal">gpointer</span><span class="symbol">)</span><span class="normal">DOUBLE_COLUMN</span><span class="symbol">,</span><span class="normal"> NULL</span><span class="symbol">);</span>
<span class="cbracket">}</span></pre></td>
<span class="cm">/* Append the new column after the GtkTreeView&#39;s previous columns. */</span>
<span class="n">gtk_tree_view_append_column</span> <span class="p">(</span><span class="n">GTK_TREE_VIEW</span> <span class="p">(</span><span class="n">myview</span><span class="p">),</span> <span class="n">column</span><span class="p">);</span>
<span class="cm">/* Since we created the column by hand, we can set it up for our</span>
<span class="cm"> * needs, e.g. set its minimum and maximum width, etc.</span>
<span class="cm"> */</span>
<span class="cm">/* Set up a custom function that will be called when the column content</span>
<span class="cm"> * is rendered. We use the func_data pointer as an index into our</span>
<span class="cm"> * model. This is convenient when using multi column lists.</span>
<span class="cm"> */</span>
<span class="n">gtk_tree_view_column_set_cell_data_func</span> <span class="p">(</span><span class="n">column</span><span class="p">,</span> <span class="n">renderer</span><span class="p">,</span>
<span class="n">my_cell_double_to_text</span><span class="p">,</span>
<span class="p">(</span><span class="n">gpointer</span><span class="p">)</span><span class="n">DOUBLE_COLUMN</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
<span class="p">}</span></pre></td>
</tr>
</tbody>
</table>
@ -1389,6 +1389,6 @@ a failed load yourself, use <a href="http://library.gnome.org/devel/gdk-pixbuf/u
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.29</div>
<hr>Generated by GTK-Doc V1.32.1</div>
</body>
</html>