<?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="GtkCellRenderer">
<refmeta>
<refentrytitle role="top_of_page" id="GtkCellRenderer.top_of_page">GtkCellRenderer</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>GTK4 Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>GtkCellRenderer</refname>
<refpurpose>An object for rendering a single cell</refpurpose>
</refnamediv>

<refsect1 id="GtkCellRenderer.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="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-cell-renderer-class-set-accessible-type">gtk_cell_renderer_class_set_accessible_type</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-cell-renderer-get-aligned-area">gtk_cell_renderer_get_aligned_area</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-cell-renderer-snapshot">gtk_cell_renderer_snapshot</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-cell-renderer-activate">gtk_cell_renderer_activate</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkCellEditable"><returnvalue>GtkCellEditable</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-cell-renderer-start-editing">gtk_cell_renderer_start_editing</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-cell-renderer-stop-editing">gtk_cell_renderer_stop_editing</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-cell-renderer-get-fixed-size">gtk_cell_renderer_get_fixed_size</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-cell-renderer-set-fixed-size">gtk_cell_renderer_set_fixed_size</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-cell-renderer-get-visible">gtk_cell_renderer_get_visible</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-cell-renderer-set-visible">gtk_cell_renderer_set_visible</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-cell-renderer-get-sensitive">gtk_cell_renderer_get_sensitive</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-cell-renderer-set-sensitive">gtk_cell_renderer_set_sensitive</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-cell-renderer-get-alignment">gtk_cell_renderer_get_alignment</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-cell-renderer-set-alignment">gtk_cell_renderer_set_alignment</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-cell-renderer-get-padding">gtk_cell_renderer_get_padding</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-cell-renderer-set-padding">gtk_cell_renderer_set_padding</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkStateFlags"><returnvalue>GtkStateFlags</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-cell-renderer-get-state">gtk_cell_renderer_get_state</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-cell-renderer-is-activatable">gtk_cell_renderer_is_activatable</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-cell-renderer-get-preferred-height">gtk_cell_renderer_get_preferred_height</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-cell-renderer-get-preferred-height-for-width">gtk_cell_renderer_get_preferred_height_for_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-cell-renderer-get-preferred-size">gtk_cell_renderer_get_preferred_size</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-cell-renderer-get-preferred-width">gtk_cell_renderer_get_preferred_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-cell-renderer-get-preferred-width-for-height">gtk_cell_renderer_get_preferred_width_for_height</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkSizeRequestMode"><returnvalue>GtkSizeRequestMode</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-cell-renderer-get-request-mode">gtk_cell_renderer_get_request_mode</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkCellRenderer.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="gchar"><type>gchar</type></link>&#160;*</entry><entry role="property_name"><link linkend="GtkCellRenderer--cell-background">cell-background</link></entry><entry role="property_flags">Write</entry></row>
<row><entry role="property_type"><link linkend="GdkRGBA"><type>GdkRGBA</type></link>&#160;*</entry><entry role="property_name"><link linkend="GtkCellRenderer--cell-background-rgba">cell-background-rgba</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="GtkCellRenderer--cell-background-set">cell-background-set</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="GtkCellRenderer--editing">editing</link></entry><entry role="property_flags">Read</entry></row>
<row><entry role="property_type"><link linkend="gint"><type>gint</type></link></entry><entry role="property_name"><link linkend="GtkCellRenderer--height">height</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="GtkCellRenderer--is-expanded">is-expanded</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="GtkCellRenderer--is-expander">is-expander</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="GtkCellRendererMode"><type>GtkCellRendererMode</type></link></entry><entry role="property_name"><link linkend="GtkCellRenderer--mode">mode</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="GtkCellRenderer--sensitive">sensitive</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="GtkCellRenderer--visible">visible</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="GtkCellRenderer--width">width</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gfloat"><type>gfloat</type></link></entry><entry role="property_name"><link linkend="GtkCellRenderer--xalign">xalign</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="guint"><type>guint</type></link></entry><entry role="property_name"><link linkend="GtkCellRenderer--xpad">xpad</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gfloat"><type>gfloat</type></link></entry><entry role="property_name"><link linkend="GtkCellRenderer--yalign">yalign</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="guint"><type>guint</type></link></entry><entry role="property_name"><link linkend="GtkCellRenderer--ypad">ypad</link></entry><entry role="property_flags">Read / Write</entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkCellRenderer.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="GtkCellRenderer-editing-canceled">editing-canceled</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-FIRST:CAPS">Run First</link></entry></row>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkCellRenderer-editing-started">editing-started</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-FIRST:CAPS">Run First</link></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkCellRenderer.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">enum</entry><entry role="function_name"><link linkend="GtkCellRendererState">GtkCellRendererState</link></entry></row>
<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="GtkCellRendererMode">GtkCellRendererMode</link></entry></row>
<row><entry role="datatype_keyword">struct</entry><entry role="function_name"><link linkend="GtkCellRenderer-struct">GtkCellRenderer</link></entry></row>
<row><entry role="datatype_keyword">struct</entry><entry role="function_name"><link linkend="GtkCellRendererClass">GtkCellRendererClass</link></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkCellRenderer.object-hierarchy" role="object_hierarchy">
<title role="object_hierarchy.title">Object Hierarchy</title>
<screen>    <link linkend="GObject">GObject</link>
    <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> <link linkend="GInitiallyUnowned">GInitiallyUnowned</link>
        <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> GtkCellRenderer
            <phrase role="lineart">&#9500;&#9472;&#9472;</phrase> <link linkend="GtkCellRendererText">GtkCellRendererText</link>
            <phrase role="lineart">&#9500;&#9472;&#9472;</phrase> <link linkend="GtkCellRendererPixbuf">GtkCellRendererPixbuf</link>
            <phrase role="lineart">&#9500;&#9472;&#9472;</phrase> <link linkend="GtkCellRendererProgress">GtkCellRendererProgress</link>
            <phrase role="lineart">&#9500;&#9472;&#9472;</phrase> <link linkend="GtkCellRendererSpinner">GtkCellRendererSpinner</link>
            <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> <link linkend="GtkCellRendererToggle">GtkCellRendererToggle</link>
</screen>
</refsect1>

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

<refsect1 id="GtkCellRenderer.description" role="desc">
<title role="desc.title">Description</title>
<para>The <link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link> is a base class of a set of objects used for
rendering a cell to a <link linkend="cairo-t"><type>cairo_t</type></link>.  These objects are used primarily by
the <link linkend="GtkTreeView"><type>GtkTreeView</type></link> widget, though they aren’t tied to them in any
specific way.  It is worth noting that <link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link> is not a
<link linkend="GtkWidget"><type>GtkWidget</type></link> and cannot be treated as such.</para>
<para>The primary use of a <link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link> is for drawing a certain graphical
elements on a <link linkend="cairo-t"><type>cairo_t</type></link>. Typically, one cell renderer is used to
draw many cells on the screen.  To this extent, it isn’t expected that a
CellRenderer keep any permanent state around.  Instead, any state is set
just prior to use using <link linkend="GObjects"><type>GObjects</type></link> property system.  Then, the
cell is measured using <link linkend="gtk-cell-renderer-get-preferred-size"><function>gtk_cell_renderer_get_preferred_size()</function></link>. Finally, the cell
is rendered in the correct location using <link linkend="gtk-cell-renderer-snapshot"><function>gtk_cell_renderer_snapshot()</function></link>.</para>
<para>There are a number of rules that must be followed when writing a new
<link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link>.  First and foremost, it’s important that a certain set
of properties will always yield a cell renderer of the same size,
barring a <link linkend="GtkStyle"><type>GtkStyle</type></link> change.  The <link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link> also has a number of
generic properties that are expected to be honored by all children.</para>
<para>Beyond merely rendering a cell, cell renderers can optionally
provide active user interface elements. A cell renderer can be
“activatable” like <link linkend="GtkCellRendererToggle"><type>GtkCellRendererToggle</type></link>,
which toggles when it gets activated by a mouse click, or it can be
“editable” like <link linkend="GtkCellRendererText"><type>GtkCellRendererText</type></link>, which
allows the user to edit the text using a widget implementing the
<link linkend="GtkCellEditable"><type>GtkCellEditable</type></link> interface, e.g. <link linkend="GtkEntry"><type>GtkEntry</type></link>.
To make a cell renderer activatable or editable, you have to
implement the <link linkend="GtkCellRendererClass.activate"><type>GtkCellRendererClass.activate</type></link> or
<link linkend="GtkCellRendererClass.start-editing"><type>GtkCellRendererClass.start_editing</type></link> virtual functions, respectively.</para>
<para>Many properties of <link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link> and its subclasses have a
corresponding “set” property, e.g. “cell-background-set” corresponds
to “cell-background”. These “set” properties reflect whether a property
has been set or not. You should not set them independently.</para>

</refsect1>
<refsect1 id="GtkCellRenderer.functions_details" role="details">
<title role="details.title">Functions</title>
<refsect2 id="gtk-cell-renderer-class-set-accessible-type" role="function">
<title>gtk_cell_renderer_class_set_accessible_type&#160;()</title>
<indexterm zone="gtk-cell-renderer-class-set-accessible-type"><primary>gtk_cell_renderer_class_set_accessible_type</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_cell_renderer_class_set_accessible_type
                               (<parameter><link linkend="GtkCellRendererClass"><type>GtkCellRendererClass</type></link> *renderer_class</parameter>,
                                <parameter><link linkend="GType"><type>GType</type></link> type</parameter>);</programlisting>
<para>Sets the type to be used for creating accessibles for cells rendered by
cell renderers of <parameter>renderer_class</parameter>
. Note that multiple accessibles will
be created.</para>
<para>This function should only be called from class init functions of cell
renderers.</para>
<refsect3 id="gtk-cell-renderer-class-set-accessible-type.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>renderer_class</para></entry>
<entry role="parameter_description"><para>class to set the accessible type for</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>type</para></entry>
<entry role="parameter_description"><para>The object type that implements the accessible for <parameter>widget_class</parameter>
.
The type must be a subtype of <link linkend="GtkRendererCellAccessible"><type>GtkRendererCellAccessible</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-cell-renderer-get-aligned-area" role="function">
<title>gtk_cell_renderer_get_aligned_area&#160;()</title>
<indexterm zone="gtk-cell-renderer-get-aligned-area"><primary>gtk_cell_renderer_get_aligned_area</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_cell_renderer_get_aligned_area (<parameter><link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link> *cell</parameter>,
                                    <parameter><link linkend="GtkWidget"><type>GtkWidget</type></link> *widget</parameter>,
                                    <parameter><link linkend="GtkCellRendererState"><type>GtkCellRendererState</type></link> flags</parameter>,
                                    <parameter>const <link linkend="GdkRectangle"><type>GdkRectangle</type></link> *cell_area</parameter>,
                                    <parameter><link linkend="GdkRectangle"><type>GdkRectangle</type></link> *aligned_area</parameter>);</programlisting>
<para>Gets the aligned area used by <parameter>cell</parameter>
 inside <parameter>cell_area</parameter>
. Used for finding
the appropriate edit and focus rectangle.</para>
<refsect3 id="gtk-cell-renderer-get-aligned-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>cell</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link> instance</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>widget</para></entry>
<entry role="parameter_description"><para>the <link linkend="GtkWidget"><type>GtkWidget</type></link> this cell will be rendering to</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>flags</para></entry>
<entry role="parameter_description"><para>render flags</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>cell_area</para></entry>
<entry role="parameter_description"><para>cell area which would be passed to <link linkend="gtk-cell-renderer-render"><function>gtk_cell_renderer_render()</function></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>aligned_area</para></entry>
<entry role="parameter_description"><para>the return location for the space inside <parameter>cell_area</parameter>
that would acually be used to render. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-cell-renderer-snapshot" role="function">
<title>gtk_cell_renderer_snapshot&#160;()</title>
<indexterm zone="gtk-cell-renderer-snapshot"><primary>gtk_cell_renderer_snapshot</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_cell_renderer_snapshot (<parameter><link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link> *cell</parameter>,
                            <parameter><link linkend="GtkSnapshot"><type>GtkSnapshot</type></link> *snapshot</parameter>,
                            <parameter><link linkend="GtkWidget"><type>GtkWidget</type></link> *widget</parameter>,
                            <parameter>const <link linkend="GdkRectangle"><type>GdkRectangle</type></link> *background_area</parameter>,
                            <parameter>const <link linkend="GdkRectangle"><type>GdkRectangle</type></link> *cell_area</parameter>,
                            <parameter><link linkend="GtkCellRendererState"><type>GtkCellRendererState</type></link> flags</parameter>);</programlisting>
<para>Invokes the virtual render function of the <link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link>. The three
passed-in rectangles are areas in <parameter>cr</parameter>
. Most renderers will draw within
<parameter>cell_area</parameter>
; the xalign, yalign, xpad, and ypad fields of the <link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link>
should be honored with respect to <parameter>cell_area</parameter>
. <parameter>background_area</parameter>
 includes the
blank space around the cell, and also the area containing the tree expander;
so the <parameter>background_area</parameter>
 rectangles for all cells tile to cover the entire
<parameter>window</parameter>
.</para>
<refsect3 id="gtk-cell-renderer-snapshot.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>cell</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>snapshot</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkSnapshot"><type>GtkSnapshot</type></link> to draw to</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>widget</para></entry>
<entry role="parameter_description"><para>the widget owning <parameter>window</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>background_area</para></entry>
<entry role="parameter_description"><para>entire cell area (including tree expanders and maybe
padding on the sides)</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>cell_area</para></entry>
<entry role="parameter_description"><para>area normally rendered by a cell renderer</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>flags</para></entry>
<entry role="parameter_description"><para>flags that affect rendering</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-cell-renderer-activate" role="function">
<title>gtk_cell_renderer_activate&#160;()</title>
<indexterm zone="gtk-cell-renderer-activate"><primary>gtk_cell_renderer_activate</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_cell_renderer_activate (<parameter><link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link> *cell</parameter>,
                            <parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>,
                            <parameter><link linkend="GtkWidget"><type>GtkWidget</type></link> *widget</parameter>,
                            <parameter>const <link linkend="gchar"><type>gchar</type></link> *path</parameter>,
                            <parameter>const <link linkend="GdkRectangle"><type>GdkRectangle</type></link> *background_area</parameter>,
                            <parameter>const <link linkend="GdkRectangle"><type>GdkRectangle</type></link> *cell_area</parameter>,
                            <parameter><link linkend="GtkCellRendererState"><type>GtkCellRendererState</type></link> flags</parameter>);</programlisting>
<para>Passes an activate event to the cell renderer for possible processing.  
Some cell renderers may use events; for example, <link linkend="GtkCellRendererToggle"><type>GtkCellRendererToggle</type></link> 
toggles when it gets a mouse click.</para>
<refsect3 id="gtk-cell-renderer-activate.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>cell</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>widget</para></entry>
<entry role="parameter_description"><para>widget that received the event</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>path</para></entry>
<entry role="parameter_description"><para>widget-dependent string representation of the event location;
e.g. for <link linkend="GtkTreeView"><type>GtkTreeView</type></link>, a string representation of <link linkend="GtkTreePath"><type>GtkTreePath</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>background_area</para></entry>
<entry role="parameter_description"><para>background area as passed to <link linkend="gtk-cell-renderer-render"><function>gtk_cell_renderer_render()</function></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>cell_area</para></entry>
<entry role="parameter_description"><para>cell area as passed to <link linkend="gtk-cell-renderer-render"><function>gtk_cell_renderer_render()</function></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>flags</para></entry>
<entry role="parameter_description"><para>render flags</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-cell-renderer-activate.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the event was consumed/handled</para>
</refsect3></refsect2>
<refsect2 id="gtk-cell-renderer-start-editing" role="function">
<title>gtk_cell_renderer_start_editing&#160;()</title>
<indexterm zone="gtk-cell-renderer-start-editing"><primary>gtk_cell_renderer_start_editing</primary></indexterm>
<programlisting language="C"><link linkend="GtkCellEditable"><returnvalue>GtkCellEditable</returnvalue></link>&#160;*
gtk_cell_renderer_start_editing (<parameter><link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link> *cell</parameter>,
                                 <parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>,
                                 <parameter><link linkend="GtkWidget"><type>GtkWidget</type></link> *widget</parameter>,
                                 <parameter>const <link linkend="gchar"><type>gchar</type></link> *path</parameter>,
                                 <parameter>const <link linkend="GdkRectangle"><type>GdkRectangle</type></link> *background_area</parameter>,
                                 <parameter>const <link linkend="GdkRectangle"><type>GdkRectangle</type></link> *cell_area</parameter>,
                                 <parameter><link linkend="GtkCellRendererState"><type>GtkCellRendererState</type></link> flags</parameter>);</programlisting>
<para>Starts editing the contents of this <parameter>cell</parameter>
, through a new <link linkend="GtkCellEditable"><type>GtkCellEditable</type></link>
widget created by the <link linkend="GtkCellRendererClass.start-editing"><type>GtkCellRendererClass.start_editing</type></link> virtual function.</para>
<refsect3 id="gtk-cell-renderer-start-editing.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>cell</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>nullable</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>widget</para></entry>
<entry role="parameter_description"><para>widget that received the event</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>path</para></entry>
<entry role="parameter_description"><para>widget-dependent string representation of the event location;
e.g. for <link linkend="GtkTreeView"><type>GtkTreeView</type></link>, a string representation of <link linkend="GtkTreePath"><type>GtkTreePath</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>background_area</para></entry>
<entry role="parameter_description"><para>background area as passed to <link linkend="gtk-cell-renderer-render"><function>gtk_cell_renderer_render()</function></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>cell_area</para></entry>
<entry role="parameter_description"><para>cell area as passed to <link linkend="gtk-cell-renderer-render"><function>gtk_cell_renderer_render()</function></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>flags</para></entry>
<entry role="parameter_description"><para>render flags</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-cell-renderer-start-editing.returns" role="returns">
<title>Returns</title>
<para>A new <link linkend="GtkCellEditable"><type>GtkCellEditable</type></link> for editing this
<parameter>cell</parameter>
, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if editing is not possible. </para>
<para><emphasis role="annotation">[<acronym>nullable</acronym>][<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-cell-renderer-stop-editing" role="function">
<title>gtk_cell_renderer_stop_editing&#160;()</title>
<indexterm zone="gtk-cell-renderer-stop-editing"><primary>gtk_cell_renderer_stop_editing</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_cell_renderer_stop_editing (<parameter><link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link> *cell</parameter>,
                                <parameter><link linkend="gboolean"><type>gboolean</type></link> canceled</parameter>);</programlisting>
<para>Informs the cell renderer that the editing is stopped.
If <parameter>canceled</parameter>
 is <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>, the cell renderer will emit the 
<link linkend="GtkCellRenderer-editing-canceled"><type>“editing-canceled”</type></link> signal. </para>
<para>This function should be called by cell renderer implementations 
in response to the <link linkend="GtkCellEditable-editing-done"><type>“editing-done”</type></link> signal of 
<link linkend="GtkCellEditable"><type>GtkCellEditable</type></link>.</para>
<refsect3 id="gtk-cell-renderer-stop-editing.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>cell</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>canceled</para></entry>
<entry role="parameter_description"><para><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the editing has been canceled</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-cell-renderer-get-fixed-size" role="function">
<title>gtk_cell_renderer_get_fixed_size&#160;()</title>
<indexterm zone="gtk-cell-renderer-get-fixed-size"><primary>gtk_cell_renderer_get_fixed_size</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_cell_renderer_get_fixed_size (<parameter><link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link> *cell</parameter>,
                                  <parameter><link linkend="gint"><type>gint</type></link> *width</parameter>,
                                  <parameter><link linkend="gint"><type>gint</type></link> *height</parameter>);</programlisting>
<para>Fills in <parameter>width</parameter>
 and <parameter>height</parameter>
 with the appropriate size of <parameter>cell</parameter>
.</para>
<refsect3 id="gtk-cell-renderer-get-fixed-size.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>cell</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>width</para></entry>
<entry role="parameter_description"><para>location to fill in with the fixed width of the cell, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>allow-none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>height</para></entry>
<entry role="parameter_description"><para>location to fill in with the fixed height of the cell, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-cell-renderer-set-fixed-size" role="function">
<title>gtk_cell_renderer_set_fixed_size&#160;()</title>
<indexterm zone="gtk-cell-renderer-set-fixed-size"><primary>gtk_cell_renderer_set_fixed_size</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_cell_renderer_set_fixed_size (<parameter><link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link> *cell</parameter>,
                                  <parameter><link linkend="gint"><type>gint</type></link> width</parameter>,
                                  <parameter><link linkend="gint"><type>gint</type></link> height</parameter>);</programlisting>
<para>Sets the renderer size to be explicit, independent of the properties set.</para>
<refsect3 id="gtk-cell-renderer-set-fixed-size.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>cell</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>width</para></entry>
<entry role="parameter_description"><para>the width of the cell renderer, or -1</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>height</para></entry>
<entry role="parameter_description"><para>the height of the cell renderer, or -1</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-cell-renderer-get-visible" role="function">
<title>gtk_cell_renderer_get_visible&#160;()</title>
<indexterm zone="gtk-cell-renderer-get-visible"><primary>gtk_cell_renderer_get_visible</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_cell_renderer_get_visible (<parameter><link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link> *cell</parameter>);</programlisting>
<para>Returns the cell renderer’s visibility.</para>
<refsect3 id="gtk-cell-renderer-get-visible.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>cell</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-cell-renderer-get-visible.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the cell renderer is visible</para>
</refsect3></refsect2>
<refsect2 id="gtk-cell-renderer-set-visible" role="function">
<title>gtk_cell_renderer_set_visible&#160;()</title>
<indexterm zone="gtk-cell-renderer-set-visible"><primary>gtk_cell_renderer_set_visible</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_cell_renderer_set_visible (<parameter><link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link> *cell</parameter>,
                               <parameter><link linkend="gboolean"><type>gboolean</type></link> visible</parameter>);</programlisting>
<para>Sets the cell renderer’s visibility.</para>
<refsect3 id="gtk-cell-renderer-set-visible.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>cell</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>visible</para></entry>
<entry role="parameter_description"><para>the visibility of the cell</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-cell-renderer-get-sensitive" role="function">
<title>gtk_cell_renderer_get_sensitive&#160;()</title>
<indexterm zone="gtk-cell-renderer-get-sensitive"><primary>gtk_cell_renderer_get_sensitive</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_cell_renderer_get_sensitive (<parameter><link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link> *cell</parameter>);</programlisting>
<para>Returns the cell renderer’s sensitivity.</para>
<refsect3 id="gtk-cell-renderer-get-sensitive.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>cell</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-cell-renderer-get-sensitive.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the cell renderer is sensitive</para>
</refsect3></refsect2>
<refsect2 id="gtk-cell-renderer-set-sensitive" role="function">
<title>gtk_cell_renderer_set_sensitive&#160;()</title>
<indexterm zone="gtk-cell-renderer-set-sensitive"><primary>gtk_cell_renderer_set_sensitive</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_cell_renderer_set_sensitive (<parameter><link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link> *cell</parameter>,
                                 <parameter><link linkend="gboolean"><type>gboolean</type></link> sensitive</parameter>);</programlisting>
<para>Sets the cell renderer’s sensitivity.</para>
<refsect3 id="gtk-cell-renderer-set-sensitive.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>cell</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>sensitive</para></entry>
<entry role="parameter_description"><para>the sensitivity of the cell</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-cell-renderer-get-alignment" role="function">
<title>gtk_cell_renderer_get_alignment&#160;()</title>
<indexterm zone="gtk-cell-renderer-get-alignment"><primary>gtk_cell_renderer_get_alignment</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_cell_renderer_get_alignment (<parameter><link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link> *cell</parameter>,
                                 <parameter><link linkend="gfloat"><type>gfloat</type></link> *xalign</parameter>,
                                 <parameter><link linkend="gfloat"><type>gfloat</type></link> *yalign</parameter>);</programlisting>
<para>Fills in <parameter>xalign</parameter>
 and <parameter>yalign</parameter>
 with the appropriate values of <parameter>cell</parameter>
.</para>
<refsect3 id="gtk-cell-renderer-get-alignment.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>cell</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>xalign</para></entry>
<entry role="parameter_description"><para>location to fill in with the x alignment of the cell, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>allow-none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>yalign</para></entry>
<entry role="parameter_description"><para>location to fill in with the y alignment of the cell, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-cell-renderer-set-alignment" role="function">
<title>gtk_cell_renderer_set_alignment&#160;()</title>
<indexterm zone="gtk-cell-renderer-set-alignment"><primary>gtk_cell_renderer_set_alignment</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_cell_renderer_set_alignment (<parameter><link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link> *cell</parameter>,
                                 <parameter><link linkend="gfloat"><type>gfloat</type></link> xalign</parameter>,
                                 <parameter><link linkend="gfloat"><type>gfloat</type></link> yalign</parameter>);</programlisting>
<para>Sets the renderer’s alignment within its available space.</para>
<refsect3 id="gtk-cell-renderer-set-alignment.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>cell</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>xalign</para></entry>
<entry role="parameter_description"><para>the x alignment of the cell renderer</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>yalign</para></entry>
<entry role="parameter_description"><para>the y alignment of the cell renderer</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-cell-renderer-get-padding" role="function">
<title>gtk_cell_renderer_get_padding&#160;()</title>
<indexterm zone="gtk-cell-renderer-get-padding"><primary>gtk_cell_renderer_get_padding</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_cell_renderer_get_padding (<parameter><link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link> *cell</parameter>,
                               <parameter><link linkend="gint"><type>gint</type></link> *xpad</parameter>,
                               <parameter><link linkend="gint"><type>gint</type></link> *ypad</parameter>);</programlisting>
<para>Fills in <parameter>xpad</parameter>
 and <parameter>ypad</parameter>
 with the appropriate values of <parameter>cell</parameter>
.</para>
<refsect3 id="gtk-cell-renderer-get-padding.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>cell</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>xpad</para></entry>
<entry role="parameter_description"><para>location to fill in with the x padding of the cell, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>allow-none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>ypad</para></entry>
<entry role="parameter_description"><para>location to fill in with the y padding of the cell, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-cell-renderer-set-padding" role="function">
<title>gtk_cell_renderer_set_padding&#160;()</title>
<indexterm zone="gtk-cell-renderer-set-padding"><primary>gtk_cell_renderer_set_padding</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_cell_renderer_set_padding (<parameter><link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link> *cell</parameter>,
                               <parameter><link linkend="gint"><type>gint</type></link> xpad</parameter>,
                               <parameter><link linkend="gint"><type>gint</type></link> ypad</parameter>);</programlisting>
<para>Sets the renderer’s padding.</para>
<refsect3 id="gtk-cell-renderer-set-padding.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>cell</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>xpad</para></entry>
<entry role="parameter_description"><para>the x padding of the cell renderer</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>ypad</para></entry>
<entry role="parameter_description"><para>the y padding of the cell renderer</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-cell-renderer-get-state" role="function">
<title>gtk_cell_renderer_get_state&#160;()</title>
<indexterm zone="gtk-cell-renderer-get-state"><primary>gtk_cell_renderer_get_state</primary></indexterm>
<programlisting language="C"><link linkend="GtkStateFlags"><returnvalue>GtkStateFlags</returnvalue></link>
gtk_cell_renderer_get_state (<parameter><link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link> *cell</parameter>,
                             <parameter><link linkend="GtkWidget"><type>GtkWidget</type></link> *widget</parameter>,
                             <parameter><link linkend="GtkCellRendererState"><type>GtkCellRendererState</type></link> cell_state</parameter>);</programlisting>
<para>Translates the cell renderer state to <link linkend="GtkStateFlags"><type>GtkStateFlags</type></link>,
based on the cell renderer and widget sensitivity, and
the given <link linkend="GtkCellRendererState"><type>GtkCellRendererState</type></link>.</para>
<refsect3 id="gtk-cell-renderer-get-state.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>cell</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link>, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>nullable</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>widget</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWidget"><type>GtkWidget</type></link>, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>nullable</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>cell_state</para></entry>
<entry role="parameter_description"><para>cell renderer state</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-cell-renderer-get-state.returns" role="returns">
<title>Returns</title>
<para> the widget state flags applying to <parameter>cell</parameter>
</para>
</refsect3></refsect2>
<refsect2 id="gtk-cell-renderer-is-activatable" role="function">
<title>gtk_cell_renderer_is_activatable&#160;()</title>
<indexterm zone="gtk-cell-renderer-is-activatable"><primary>gtk_cell_renderer_is_activatable</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_cell_renderer_is_activatable (<parameter><link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link> *cell</parameter>);</programlisting>
<para>Checks whether the cell renderer can do something when activated.</para>
<refsect3 id="gtk-cell-renderer-is-activatable.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>cell</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-cell-renderer-is-activatable.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the cell renderer can do anything when activated</para>
</refsect3></refsect2>
<refsect2 id="gtk-cell-renderer-get-preferred-height" role="function">
<title>gtk_cell_renderer_get_preferred_height&#160;()</title>
<indexterm zone="gtk-cell-renderer-get-preferred-height"><primary>gtk_cell_renderer_get_preferred_height</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_cell_renderer_get_preferred_height
                               (<parameter><link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link> *cell</parameter>,
                                <parameter><link linkend="GtkWidget"><type>GtkWidget</type></link> *widget</parameter>,
                                <parameter><link linkend="gint"><type>gint</type></link> *minimum_size</parameter>,
                                <parameter><link linkend="gint"><type>gint</type></link> *natural_size</parameter>);</programlisting>
<para>Retreives a renderer’s natural size when rendered to <parameter>widget</parameter>
.</para>
<refsect3 id="gtk-cell-renderer-get-preferred-height.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>cell</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link> instance</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>widget</para></entry>
<entry role="parameter_description"><para>the <link linkend="GtkWidget"><type>GtkWidget</type></link> this cell will be rendering to</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>minimum_size</para></entry>
<entry role="parameter_description"><para>location to store the minimum size, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>allow-none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>natural_size</para></entry>
<entry role="parameter_description"><para>location to store the natural size, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-cell-renderer-get-preferred-height-for-width" role="function">
<title>gtk_cell_renderer_get_preferred_height_for_width&#160;()</title>
<indexterm zone="gtk-cell-renderer-get-preferred-height-for-width"><primary>gtk_cell_renderer_get_preferred_height_for_width</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_cell_renderer_get_preferred_height_for_width
                               (<parameter><link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link> *cell</parameter>,
                                <parameter><link linkend="GtkWidget"><type>GtkWidget</type></link> *widget</parameter>,
                                <parameter><link linkend="gint"><type>gint</type></link> width</parameter>,
                                <parameter><link linkend="gint"><type>gint</type></link> *minimum_height</parameter>,
                                <parameter><link linkend="gint"><type>gint</type></link> *natural_height</parameter>);</programlisting>
<para>Retreives a cell renderers’s minimum and natural height if it were rendered to 
<parameter>widget</parameter>
 with the specified <parameter>width</parameter>
.</para>
<refsect3 id="gtk-cell-renderer-get-preferred-height-for-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>cell</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link> instance</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>widget</para></entry>
<entry role="parameter_description"><para>the <link linkend="GtkWidget"><type>GtkWidget</type></link> this cell will be rendering to</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>width</para></entry>
<entry role="parameter_description"><para>the size which is available for allocation</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>minimum_height</para></entry>
<entry role="parameter_description"><para>location for storing the minimum size, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>allow-none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>natural_height</para></entry>
<entry role="parameter_description"><para>location for storing the preferred size, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-cell-renderer-get-preferred-size" role="function">
<title>gtk_cell_renderer_get_preferred_size&#160;()</title>
<indexterm zone="gtk-cell-renderer-get-preferred-size"><primary>gtk_cell_renderer_get_preferred_size</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_cell_renderer_get_preferred_size (<parameter><link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link> *cell</parameter>,
                                      <parameter><link linkend="GtkWidget"><type>GtkWidget</type></link> *widget</parameter>,
                                      <parameter><link linkend="GtkRequisition"><type>GtkRequisition</type></link> *minimum_size</parameter>,
                                      <parameter><link linkend="GtkRequisition"><type>GtkRequisition</type></link> *natural_size</parameter>);</programlisting>
<para>Retrieves the minimum and natural size of a cell taking
into account the widget’s preference for height-for-width management.</para>
<refsect3 id="gtk-cell-renderer-get-preferred-size.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>cell</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link> instance</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>widget</para></entry>
<entry role="parameter_description"><para>the <link linkend="GtkWidget"><type>GtkWidget</type></link> this cell will be rendering to</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>minimum_size</para></entry>
<entry role="parameter_description"><para>location for storing the minimum size, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>allow-none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>natural_size</para></entry>
<entry role="parameter_description"><para>location for storing the natural size, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-cell-renderer-get-preferred-width" role="function">
<title>gtk_cell_renderer_get_preferred_width&#160;()</title>
<indexterm zone="gtk-cell-renderer-get-preferred-width"><primary>gtk_cell_renderer_get_preferred_width</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_cell_renderer_get_preferred_width (<parameter><link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link> *cell</parameter>,
                                       <parameter><link linkend="GtkWidget"><type>GtkWidget</type></link> *widget</parameter>,
                                       <parameter><link linkend="gint"><type>gint</type></link> *minimum_size</parameter>,
                                       <parameter><link linkend="gint"><type>gint</type></link> *natural_size</parameter>);</programlisting>
<para>Retreives a renderer’s natural size when rendered to <parameter>widget</parameter>
.</para>
<refsect3 id="gtk-cell-renderer-get-preferred-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>cell</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link> instance</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>widget</para></entry>
<entry role="parameter_description"><para>the <link linkend="GtkWidget"><type>GtkWidget</type></link> this cell will be rendering to</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>minimum_size</para></entry>
<entry role="parameter_description"><para>location to store the minimum size, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>allow-none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>natural_size</para></entry>
<entry role="parameter_description"><para>location to store the natural size, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-cell-renderer-get-preferred-width-for-height" role="function">
<title>gtk_cell_renderer_get_preferred_width_for_height&#160;()</title>
<indexterm zone="gtk-cell-renderer-get-preferred-width-for-height"><primary>gtk_cell_renderer_get_preferred_width_for_height</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_cell_renderer_get_preferred_width_for_height
                               (<parameter><link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link> *cell</parameter>,
                                <parameter><link linkend="GtkWidget"><type>GtkWidget</type></link> *widget</parameter>,
                                <parameter><link linkend="gint"><type>gint</type></link> height</parameter>,
                                <parameter><link linkend="gint"><type>gint</type></link> *minimum_width</parameter>,
                                <parameter><link linkend="gint"><type>gint</type></link> *natural_width</parameter>);</programlisting>
<para>Retreives a cell renderers’s minimum and natural width if it were rendered to 
<parameter>widget</parameter>
 with the specified <parameter>height</parameter>
.</para>
<refsect3 id="gtk-cell-renderer-get-preferred-width-for-height.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>cell</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link> instance</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>widget</para></entry>
<entry role="parameter_description"><para>the <link linkend="GtkWidget"><type>GtkWidget</type></link> this cell will be rendering to</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>height</para></entry>
<entry role="parameter_description"><para>the size which is available for allocation</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>minimum_width</para></entry>
<entry role="parameter_description"><para>location for storing the minimum size, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>allow-none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>natural_width</para></entry>
<entry role="parameter_description"><para>location for storing the preferred size, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-cell-renderer-get-request-mode" role="function">
<title>gtk_cell_renderer_get_request_mode&#160;()</title>
<indexterm zone="gtk-cell-renderer-get-request-mode"><primary>gtk_cell_renderer_get_request_mode</primary></indexterm>
<programlisting language="C"><link linkend="GtkSizeRequestMode"><returnvalue>GtkSizeRequestMode</returnvalue></link>
gtk_cell_renderer_get_request_mode (<parameter><link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link> *cell</parameter>);</programlisting>
<para>Gets whether the cell renderer prefers a height-for-width layout
or a width-for-height layout.</para>
<refsect3 id="gtk-cell-renderer-get-request-mode.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>cell</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link>    instance</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-cell-renderer-get-request-mode.returns" role="returns">
<title>Returns</title>
<para> The <link linkend="GtkSizeRequestMode"><type>GtkSizeRequestMode</type></link> preferred by this renderer.</para>
</refsect3></refsect2>

</refsect1>
<refsect1 id="GtkCellRenderer.other_details" role="details">
<title role="details.title">Types and Values</title>
<refsect2 id="GtkCellRendererState" role="enum">
<title>enum GtkCellRendererState</title>
<indexterm zone="GtkCellRendererState"><primary>GtkCellRendererState</primary></indexterm>
<para>Tells how a cell is to be rendered.</para>
<refsect3 id="GtkCellRendererState.members" role="enum_members">
<title>Members</title>
<informaltable role="enum_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="enum_members_name" colwidth="300px"/>
<colspec colname="enum_members_description"/>
<colspec colname="enum_members_annotations" colwidth="200px"/>
<tbody>
<row role="constant"><entry role="enum_member_name"><para id="GTK-CELL-RENDERER-SELECTED:CAPS">GTK_CELL_RENDERER_SELECTED</para></entry>
<entry role="enum_member_description"><para>The cell is currently selected, and
probably has a selection colored background to render to.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-CELL-RENDERER-PRELIT:CAPS">GTK_CELL_RENDERER_PRELIT</para></entry>
<entry role="enum_member_description"><para>The mouse is hovering over the cell.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-CELL-RENDERER-INSENSITIVE:CAPS">GTK_CELL_RENDERER_INSENSITIVE</para></entry>
<entry role="enum_member_description"><para>The cell is drawn in an insensitive manner</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-CELL-RENDERER-SORTED:CAPS">GTK_CELL_RENDERER_SORTED</para></entry>
<entry role="enum_member_description"><para>The cell is in a sorted row</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-CELL-RENDERER-FOCUSED:CAPS">GTK_CELL_RENDERER_FOCUSED</para></entry>
<entry role="enum_member_description"><para>The cell is in the focus row.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-CELL-RENDERER-EXPANDABLE:CAPS">GTK_CELL_RENDERER_EXPANDABLE</para></entry>
<entry role="enum_member_description"><para>The cell is in a row that can be expanded</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-CELL-RENDERER-EXPANDED:CAPS">GTK_CELL_RENDERER_EXPANDED</para></entry>
<entry role="enum_member_description"><para>The cell is in a row that is expanded</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="GtkCellRendererMode" role="enum">
<title>enum GtkCellRendererMode</title>
<indexterm zone="GtkCellRendererMode"><primary>GtkCellRendererMode</primary></indexterm>
<para>Identifies how the user can interact with a particular cell.</para>
<refsect3 id="GtkCellRendererMode.members" role="enum_members">
<title>Members</title>
<informaltable role="enum_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="enum_members_name" colwidth="300px"/>
<colspec colname="enum_members_description"/>
<colspec colname="enum_members_annotations" colwidth="200px"/>
<tbody>
<row role="constant"><entry role="enum_member_name"><para id="GTK-CELL-RENDERER-MODE-INERT:CAPS">GTK_CELL_RENDERER_MODE_INERT</para></entry>
<entry role="enum_member_description"><para>The cell is just for display
and cannot be interacted with.  Note that this doesn’t mean that eg. the
row being drawn can’t be selected -- just that a particular element of
it cannot be individually modified.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-CELL-RENDERER-MODE-ACTIVATABLE:CAPS">GTK_CELL_RENDERER_MODE_ACTIVATABLE</para></entry>
<entry role="enum_member_description"><para>The cell can be clicked.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-CELL-RENDERER-MODE-EDITABLE:CAPS">GTK_CELL_RENDERER_MODE_EDITABLE</para></entry>
<entry role="enum_member_description"><para>The cell can be edited or otherwise modified.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="GtkCellRenderer-struct" role="struct">
<title>struct GtkCellRenderer</title>
<indexterm zone="GtkCellRenderer-struct"><primary>GtkCellRenderer</primary></indexterm>
<programlisting language="C">struct GtkCellRenderer;</programlisting>
</refsect2>
<refsect2 id="GtkCellRendererClass" role="struct">
<title>struct GtkCellRendererClass</title>
<indexterm zone="GtkCellRendererClass"><primary>GtkCellRendererClass</primary></indexterm>
<programlisting language="C">struct GtkCellRendererClass {
  /* vtable - not signals */
  GtkSizeRequestMode (* get_request_mode)                (GtkCellRenderer      *cell);
  void               (* get_preferred_width)             (GtkCellRenderer      *cell,
                                                          GtkWidget            *widget,
                                                          gint                 *minimum_size,
                                                          gint                 *natural_size);
  void               (* get_preferred_height_for_width)  (GtkCellRenderer      *cell,
                                                          GtkWidget            *widget,
                                                          gint                  width,
                                                          gint                 *minimum_height,
                                                          gint                 *natural_height);
  void               (* get_preferred_height)            (GtkCellRenderer      *cell,
                                                          GtkWidget            *widget,
                                                          gint                 *minimum_size,
                                                          gint                 *natural_size);
  void               (* get_preferred_width_for_height)  (GtkCellRenderer      *cell,
                                                          GtkWidget            *widget,
                                                          gint                  height,
                                                          gint                 *minimum_width,
                                                          gint                 *natural_width);
  void               (* get_aligned_area)                (GtkCellRenderer      *cell,
                                                          GtkWidget            *widget,
							  GtkCellRendererState  flags,
                                                          const GdkRectangle   *cell_area,
                                                          GdkRectangle         *aligned_area);
  void               (* get_size)                        (GtkCellRenderer      *cell,
                                                          GtkWidget            *widget,
                                                          const GdkRectangle   *cell_area,
                                                          gint                 *x_offset,
                                                          gint                 *y_offset,
                                                          gint                 *width,
                                                          gint                 *height);
  void               (* snapshot)                        (GtkCellRenderer      *cell,
                                                          GtkSnapshot          *snapshot,
                                                          GtkWidget            *widget,
                                                          const GdkRectangle   *background_area,
                                                          const GdkRectangle   *cell_area,
                                                          GtkCellRendererState  flags);
  gboolean           (* activate)                        (GtkCellRenderer      *cell,
                                                          GdkEvent             *event,
                                                          GtkWidget            *widget,
                                                          const gchar          *path,
                                                          const GdkRectangle   *background_area,
                                                          const GdkRectangle   *cell_area,
                                                          GtkCellRendererState  flags);
  GtkCellEditable *  (* start_editing)                   (GtkCellRenderer      *cell,
                                                          GdkEvent             *event,
                                                          GtkWidget            *widget,
                                                          const gchar          *path,
                                                          const GdkRectangle   *background_area,
                                                          const GdkRectangle   *cell_area,
                                                          GtkCellRendererState  flags);

  /* Signals */
  void (* editing_canceled) (GtkCellRenderer *cell);
  void (* editing_started)  (GtkCellRenderer *cell,
			     GtkCellEditable *editable,
			     const gchar     *path);
};
</programlisting>
<refsect3 id="GtkCellRendererClass.members" role="struct_members">
<title>Members</title>
<informaltable role="struct_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="struct_members_name" colwidth="300px"/>
<colspec colname="struct_members_description"/>
<colspec colname="struct_members_annotations" colwidth="200px"/>
<tbody>
<row role="member"><entry role="struct_member_name"><para><structfield id="GtkCellRendererClass.get-request-mode">get_request_mode</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>Called to gets whether the cell renderer prefers
a height-for-width layout or a width-for-height layout.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="GtkCellRendererClass.get-preferred-width">get_preferred_width</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>Called to get a renderer’s natural width.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="GtkCellRendererClass.get-preferred-height-for-width">get_preferred_height_for_width</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>Called to get a renderer’s natural height for width.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="GtkCellRendererClass.get-preferred-height">get_preferred_height</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>Called to get a renderer’s natural height.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="GtkCellRendererClass.get-preferred-width-for-height">get_preferred_width_for_height</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>Called to get a renderer’s natural width for height.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="GtkCellRendererClass.get-aligned-area">get_aligned_area</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>Called to get the aligned area used by <parameter>cell</parameter>
inside <parameter>cell_area</parameter>
.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="GtkCellRendererClass.get-size">get_size</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>Called to get the width and height needed to render the cell. Deprecated: 3.0.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="GtkCellRendererClass.snapshot">snapshot</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>Called to snapshot the content of the <link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link>.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="GtkCellRendererClass.activate">activate</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>Called to activate the content of the <link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link>.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="GtkCellRendererClass.start-editing">start_editing</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>Called to initiate editing the content of the <link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link>.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="GtkCellRendererClass.editing-canceled">editing_canceled</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>Signal gets emitted when the user cancels the process of editing a cell.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="GtkCellRendererClass.editing-started">editing_started</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>Signal gets emitted when a cell starts to be edited.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3>
</refsect2>

</refsect1>
<refsect1 id="GtkCellRenderer.property-details" role="property_details">
<title role="property_details.title">Property Details</title>
<refsect2 id="GtkCellRenderer--cell-background" role="property"><title>The <literal>“cell-background”</literal> property</title>
<indexterm zone="GtkCellRenderer--cell-background"><primary>GtkCellRenderer:cell-background</primary></indexterm>
<programlisting>  “cell-background”          <link linkend="gchar"><type>gchar</type></link>&#160;*</programlisting>
<para>Cell background color as a string.</para><para>Owner: GtkCellRenderer</para>
<para>Flags: Write</para>
<para>Default value: NULL</para>
</refsect2>
<refsect2 id="GtkCellRenderer--cell-background-rgba" role="property"><title>The <literal>“cell-background-rgba”</literal> property</title>
<indexterm zone="GtkCellRenderer--cell-background-rgba"><primary>GtkCellRenderer:cell-background-rgba</primary></indexterm>
<programlisting>  “cell-background-rgba”     <link linkend="GdkRGBA"><type>GdkRGBA</type></link>&#160;*</programlisting>
<para>Cell background as a <link linkend="GdkRGBA"><type>GdkRGBA</type></link></para>
<para>Owner: GtkCellRenderer</para>
<para>Flags: Read / Write</para>
</refsect2>
<refsect2 id="GtkCellRenderer--cell-background-set" role="property"><title>The <literal>“cell-background-set”</literal> property</title>
<indexterm zone="GtkCellRenderer--cell-background-set"><primary>GtkCellRenderer:cell-background-set</primary></indexterm>
<programlisting>  “cell-background-set”      <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>Whether the cell background color is set.</para><para>Owner: GtkCellRenderer</para>
<para>Flags: Read / Write</para>
<para>Default value: FALSE</para>
</refsect2>
<refsect2 id="GtkCellRenderer--editing" role="property"><title>The <literal>“editing”</literal> property</title>
<indexterm zone="GtkCellRenderer--editing"><primary>GtkCellRenderer:editing</primary></indexterm>
<programlisting>  “editing”                  <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>Whether the cell renderer is currently in editing mode.</para><para>Owner: GtkCellRenderer</para>
<para>Flags: Read</para>
<para>Default value: FALSE</para>
</refsect2>
<refsect2 id="GtkCellRenderer--height" role="property"><title>The <literal>“height”</literal> property</title>
<indexterm zone="GtkCellRenderer--height"><primary>GtkCellRenderer:height</primary></indexterm>
<programlisting>  “height”                   <link linkend="gint"><type>gint</type></link></programlisting>
<para>The fixed height.</para><para>Owner: GtkCellRenderer</para>
<para>Flags: Read / Write</para>
<para>Allowed values: &gt;= -1</para>
<para>Default value: -1</para>
</refsect2>
<refsect2 id="GtkCellRenderer--is-expanded" role="property"><title>The <literal>“is-expanded”</literal> property</title>
<indexterm zone="GtkCellRenderer--is-expanded"><primary>GtkCellRenderer:is-expanded</primary></indexterm>
<programlisting>  “is-expanded”              <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>Row is an expander row, and is expanded.</para><para>Owner: GtkCellRenderer</para>
<para>Flags: Read / Write</para>
<para>Default value: FALSE</para>
</refsect2>
<refsect2 id="GtkCellRenderer--is-expander" role="property"><title>The <literal>“is-expander”</literal> property</title>
<indexterm zone="GtkCellRenderer--is-expander"><primary>GtkCellRenderer:is-expander</primary></indexterm>
<programlisting>  “is-expander”              <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>Row has children.</para><para>Owner: GtkCellRenderer</para>
<para>Flags: Read / Write</para>
<para>Default value: FALSE</para>
</refsect2>
<refsect2 id="GtkCellRenderer--mode" role="property"><title>The <literal>“mode”</literal> property</title>
<indexterm zone="GtkCellRenderer--mode"><primary>GtkCellRenderer:mode</primary></indexterm>
<programlisting>  “mode”                     <link linkend="GtkCellRendererMode"><type>GtkCellRendererMode</type></link></programlisting>
<para>Editable mode of the CellRenderer.</para><para>Owner: GtkCellRenderer</para>
<para>Flags: Read / Write</para>
<para>Default value: GTK_CELL_RENDERER_MODE_INERT</para>
</refsect2>
<refsect2 id="GtkCellRenderer--sensitive" role="property"><title>The <literal>“sensitive”</literal> property</title>
<indexterm zone="GtkCellRenderer--sensitive"><primary>GtkCellRenderer:sensitive</primary></indexterm>
<programlisting>  “sensitive”                <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>Display the cell sensitive.</para><para>Owner: GtkCellRenderer</para>
<para>Flags: Read / Write</para>
<para>Default value: TRUE</para>
</refsect2>
<refsect2 id="GtkCellRenderer--visible" role="property"><title>The <literal>“visible”</literal> property</title>
<indexterm zone="GtkCellRenderer--visible"><primary>GtkCellRenderer:visible</primary></indexterm>
<programlisting>  “visible”                  <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>Display the cell.</para><para>Owner: GtkCellRenderer</para>
<para>Flags: Read / Write</para>
<para>Default value: TRUE</para>
</refsect2>
<refsect2 id="GtkCellRenderer--width" role="property"><title>The <literal>“width”</literal> property</title>
<indexterm zone="GtkCellRenderer--width"><primary>GtkCellRenderer:width</primary></indexterm>
<programlisting>  “width”                    <link linkend="gint"><type>gint</type></link></programlisting>
<para>The fixed width.</para><para>Owner: GtkCellRenderer</para>
<para>Flags: Read / Write</para>
<para>Allowed values: &gt;= -1</para>
<para>Default value: -1</para>
</refsect2>
<refsect2 id="GtkCellRenderer--xalign" role="property"><title>The <literal>“xalign”</literal> property</title>
<indexterm zone="GtkCellRenderer--xalign"><primary>GtkCellRenderer:xalign</primary></indexterm>
<programlisting>  “xalign”                   <link linkend="gfloat"><type>gfloat</type></link></programlisting>
<para>The x-align.</para><para>Owner: GtkCellRenderer</para>
<para>Flags: Read / Write</para>
<para>Allowed values: [0,1]</para>
<para>Default value: 0.5</para>
</refsect2>
<refsect2 id="GtkCellRenderer--xpad" role="property"><title>The <literal>“xpad”</literal> property</title>
<indexterm zone="GtkCellRenderer--xpad"><primary>GtkCellRenderer:xpad</primary></indexterm>
<programlisting>  “xpad”                     <link linkend="guint"><type>guint</type></link></programlisting>
<para>The xpad.</para><para>Owner: GtkCellRenderer</para>
<para>Flags: Read / Write</para>
<para>Default value: 0</para>
</refsect2>
<refsect2 id="GtkCellRenderer--yalign" role="property"><title>The <literal>“yalign”</literal> property</title>
<indexterm zone="GtkCellRenderer--yalign"><primary>GtkCellRenderer:yalign</primary></indexterm>
<programlisting>  “yalign”                   <link linkend="gfloat"><type>gfloat</type></link></programlisting>
<para>The y-align.</para><para>Owner: GtkCellRenderer</para>
<para>Flags: Read / Write</para>
<para>Allowed values: [0,1]</para>
<para>Default value: 0.5</para>
</refsect2>
<refsect2 id="GtkCellRenderer--ypad" role="property"><title>The <literal>“ypad”</literal> property</title>
<indexterm zone="GtkCellRenderer--ypad"><primary>GtkCellRenderer:ypad</primary></indexterm>
<programlisting>  “ypad”                     <link linkend="guint"><type>guint</type></link></programlisting>
<para>The ypad.</para><para>Owner: GtkCellRenderer</para>
<para>Flags: Read / Write</para>
<para>Default value: 0</para>
</refsect2>

</refsect1>
<refsect1 id="GtkCellRenderer.signal-details" role="signals">
<title role="signals.title">Signal Details</title>
<refsect2 id="GtkCellRenderer-editing-canceled" role="signal"><title>The <literal>“editing-canceled”</literal> signal</title>
<indexterm zone="GtkCellRenderer-editing-canceled"><primary>GtkCellRenderer::editing-canceled</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link> *renderer,
               <link linkend="gpointer"><type>gpointer</type></link>         user_data)</programlisting>
<para>This signal gets emitted when the user cancels the process of editing a
cell.  For example, an editable cell renderer could be written to cancel
editing when the user presses Escape. </para>
<para>See also: <link linkend="gtk-cell-renderer-stop-editing"><function>gtk_cell_renderer_stop_editing()</function></link>.</para>
<refsect3 id="GtkCellRenderer-editing-canceled.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>renderer</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-FIRST:CAPS">Run First</link></para>
</refsect2><refsect2 id="GtkCellRenderer-editing-started" role="signal"><title>The <literal>“editing-started”</literal> signal</title>
<indexterm zone="GtkCellRenderer-editing-started"><primary>GtkCellRenderer::editing-started</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link> *renderer,
               <link linkend="GtkCellEditable"><type>GtkCellEditable</type></link> *editable,
               <link linkend="gchar"><type>gchar</type></link>           *path,
               <link linkend="gpointer"><type>gpointer</type></link>         user_data)</programlisting>
<para>This signal gets emitted when a cell starts to be edited.
The intended use of this signal is to do special setup
on <parameter>editable</parameter>
, e.g. adding a <link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link> or setting
up additional columns in a <link linkend="GtkComboBox"><type>GtkComboBox</type></link>.</para>
<para>See <link linkend="gtk-cell-editable-start-editing"><function>gtk_cell_editable_start_editing()</function></link> for information on the lifecycle of
the <parameter>editable</parameter>
 and a way to do setup that doesn’t depend on the <parameter>renderer</parameter>
.</para>
<para>Note that GTK+ doesn't guarantee that cell renderers will
continue to use the same kind of widget for editing in future
releases, therefore you should check the type of <parameter>editable</parameter>

before doing any specific setup, as in the following example:</para>
<informalexample><programlisting role="example"><![CDATA[
static void
text_editing_started (GtkCellRenderer *cell,
                      GtkCellEditable *editable,
                      const gchar     *path,
                      gpointer         data)
{
  if (GTK_IS_ENTRY (editable))

    {
      GtkEntry *entry = GTK_ENTRY (editable);

      // ... create a GtkEntryCompletion

      gtk_entry_set_completion (entry, completion);
    }
}
]]></programlisting></informalexample>
<para></para>
<refsect3 id="GtkCellRenderer-editing-started.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>renderer</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>editable</para></entry>
<entry role="parameter_description"><para>the <link linkend="GtkCellEditable"><type>GtkCellEditable</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>path</para></entry>
<entry role="parameter_description"><para>the path identifying the edited cell</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-FIRST:CAPS">Run First</link></para>
</refsect2>
</refsect1>
<refsect1 id="GtkCellRenderer.see-also">
<title>See Also</title>
<para><link linkend="GtkCellEditable"><type>GtkCellEditable</type></link></para>

</refsect1>

</refentry>
