<?xml version="1.0" standalone="no"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
    "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">

<refentry id="class-gtkcellrenderer">
  <refnamediv>
    <refname>gtk.CellRenderer</refname>
    <refpurpose>a base class for objects that render on a <link linkend="class-gdkdrawable"><classname>gtk.gdk.Drawable</classname></link></refpurpose>
  </refnamediv>

  <refsect1>
    <title>Synopsis</title>

    <classsynopsis language="python">
      <ooclass><classname>gtk.CellRenderer</classname></ooclass>
      <ooclass><classname><link linkend="class-gtkobject">gtk.Object</link></classname></ooclass>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkcellrenderer--get-size">get_size</link></methodname>
        <methodparam><parameter role="keyword">widget</parameter></methodparam>
        <methodparam><parameter role="keyword">cell_area</parameter><initializer>None</initializer></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkcellrenderer--render">render</link></methodname>
        <methodparam><parameter role="keyword">window</parameter></methodparam>
        <methodparam><parameter role="keyword">widget</parameter></methodparam>
        <methodparam><parameter role="keyword">background_area</parameter></methodparam>
        <methodparam><parameter role="keyword">cell_area</parameter></methodparam>
        <methodparam><parameter role="keyword">expose_area</parameter></methodparam>
        <methodparam><parameter role="keyword">flags</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkcellrenderer--activate">activate</link></methodname>
        <methodparam><parameter role="keyword">event</parameter></methodparam>
        <methodparam><parameter role="keyword">widget</parameter></methodparam>
        <methodparam><parameter role="keyword">path</parameter></methodparam>
        <methodparam><parameter role="keyword">background_area</parameter></methodparam>
        <methodparam><parameter role="keyword">cell_area</parameter></methodparam>
        <methodparam><parameter role="keyword">flags</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkcellrenderer--start-editing">start_editing</link></methodname>
        <methodparam><parameter role="keyword">event</parameter></methodparam>
        <methodparam><parameter role="keyword">widget</parameter></methodparam>
        <methodparam><parameter role="keyword">path</parameter></methodparam>
        <methodparam><parameter role="keyword">background_area</parameter></methodparam>
        <methodparam><parameter role="keyword">cell_area</parameter></methodparam>
        <methodparam><parameter role="keyword">flags</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
      <methodname><link linkend="method-gtkcellrenderer--editing-canceled">editing_canceled</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkcellrenderer--stop-editing">stop_editing</link></methodname>
        <methodparam><parameter role="keyword">canceled</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkcellrenderer--set-fixed-size">set_fixed_size</link></methodname>
        <methodparam><parameter role="keyword">width</parameter></methodparam>
        <methodparam><parameter role="keyword">height</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkcellrenderer--get-fixed-size">get_fixed_size</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkcellrenderer--set-visible">set_visible</link></methodname>
        <methodparam><parameter role="keyword">visible</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkcellrenderer--get-visible">get_visible</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkcellrenderer--set-sensitive">set_sensitive</link></methodname>
        <methodparam><parameter role="keyword">sensitive</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkcellrenderer--get-sensitive">get_sensitive</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkcellrenderer--set-alignment">set_alignment</link></methodname>
        <methodparam><parameter role="keyword">xalign</parameter></methodparam>
        <methodparam><parameter role="keyword">yalign</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkcellrenderer--get-alignment">get_alignment</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkcellrenderer--set-padding">set_padding</link></methodname>
        <methodparam><parameter role="keyword">xpad</parameter></methodparam>
        <methodparam><parameter role="keyword">ypad</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkcellrenderer--get-padding">get_padding</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
    </classsynopsis>

  </refsect1>

  <refsect1>
    <title>Ancestry</title>

<synopsis>+-- <link linkend="class-gobject">gobject.GObject</link>
  +-- <link linkend="class-gtkobject">gtk.Object</link>
    +-- <link linkend="class-gtkcellrenderer">gtk.CellRenderer</link>
</synopsis>

  </refsect1>

  <refsect1 id="properties-gtkcellrenderer">
    <title>gtk.CellRenderer Properties</title>

    <para><link linkend="properties-gtkobject">gtk.Object Properties</link></para>

    <blockquote role="properties">
      <informaltable pgwide="1" frame="none">
        <tgroup cols="3">
          <colspec column="1" colwidth="1in"/>
          <colspec column="2" colwidth="1in"/>
          <colspec column="3" colwidth="3.5in"/>
          <tbody>
            <row valign="top">
              <entry>"cell-background"</entry>
              <entry>Write</entry>
              <entry>The background color of the cell as a string. Default: None.</entry>
            </row>

            <row valign="top">
              <entry>"cell-background-gdk"</entry>
              <entry>Read/Write</entry>
              <entry>The background color of the cell as a <link linkend="class-gdkcolor">
              <classname>gtk.gdk.Color</classname></link>.</entry>
            </row>

            <row valign="top">
              <entry>"cell-background-set"</entry>
              <entry>Read/Write</entry>
              <entry>If <literal>True</literal> the cell background color is set by this cellrenderer. Default: <literal>False</literal>.</entry>
            </row>

            <row valign="top">
              <entry>"editing"</entry>
              <entry>Read</entry>
              <entry>If <literal>True</literal> the cell renderer is currently in editing mode.</entry>
            </row>

            <row valign="top">
              <entry>"height"</entry>
              <entry>Read/Write</entry>
              <entry>The fixed height of the cell. Allowed values >= -1. Default: -1.</entry>
            </row>

            <row valign="top">
              <entry>"is-expanded"</entry>
              <entry>Read/Write</entry>
              <entry>If <literal>True</literal> the row has children and it is expanded to show the children. Default: <literal>False</literal>.</entry>
            </row>

            <row valign="top">
              <entry>"is-expander"</entry>
              <entry>Read/Write</entry>
              <entry>If <literal>True</literal> the row has children. Default: <literal>False</literal>.</entry>
            </row>

            <row valign="top">
              <entry>"mode"</entry>
              <entry>Read/Write</entry>
              <entry>The editable mode of the cellrenderer. One of the
              <xref linkend="gtk-cellrenderer-mode-constants" endterm="gtk-cellrenderer-mode-constants-title"></xref>.
              Default: <literal>gtk.CELL_RENDERER_MODE_INERT</literal>,</entry>
            </row>

            <row valign="top">
              <entry>"sensitive"</entry>
              <entry>Read/Write</entry>
              <entry>If <literal>True</literal> the cell is displayed as sensitive. Available in PyGTK 2.6 and above.
              Default: <literal>True</literal>.</entry>
            </row>

            <row valign="top">
              <entry>"visible"</entry>
              <entry>Read/Write</entry>
              <entry>If <literal>True</literal> the cell is displayed. Default: <literal>True</literal>.</entry>
            </row>

            <row valign="top">
              <entry>"width"</entry>
              <entry>Read/Write</entry>
              <entry>The fixed width of the cell. Allowed values >= -1. Default: -1.</entry>
            </row>

            <row valign="top">
              <entry>"xalign"</entry>
              <entry>Read/Write</entry>
              <entry>The fraction of <emphasis>free</emphasis> space to the left
              of the cell in the range 0.0 to 1.0. Allowed values between 0 and
              1.  Default: 0.5.</entry>
            </row>

            <row valign="top">
              <entry>"xpad"</entry>
              <entry>Read/Write</entry>
              <entry>The amount of padding to the left and right of the
              cell. Default: 0.</entry>
            </row>

            <row valign="top">
              <entry>"yalign"</entry>
              <entry>Read/Write</entry>
              <entry>The fraction of <emphasis>free</emphasis> space above the
              cell in the range 0.0 to 1.0. Allowed values between 0 and 1.
              Default: 0.5.</entry>
            </row>

            <row valign="top">
              <entry>"ypad"</entry>
              <entry>Read/Write</entry>
              <entry>The amount of padding above and below cell.  Default:
              0.</entry>
            </row>

            </tbody>
      </tgroup>
      </informaltable>
    </blockquote>

  </refsect1>

  <refsect1 id="signal-prototypes-gtkcellrenderer">
    <title>gtk.CellRenderer Signal Prototypes</title>

    <para><link linkend="signal-prototypes-gobject">gobject.GObject Signal Prototypes</link></para>
    <para><link linkend="signal-prototypes-gtkobject">gtk.Object Signal Prototypes</link></para>

    <variablelist>
      <varlistentry>
        <term>"<link linkend="signal-gtkcellrenderer--editing-canceled">editing-canceled</link>"</term>
        <listitem>
          <methodsynopsis language="python">
            <methodname>callback</methodname>
            <methodparam><parameter>cellrenderer</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>"<link linkend="signal-gtkcellrenderer--editing-started">editing-started</link>"</term>
        <listitem>
          <methodsynopsis language="python">
            <methodname>callback</methodname>
            <methodparam><parameter>cellrenderer</parameter></methodparam>
            <methodparam><parameter>editable</parameter></methodparam>
            <methodparam><parameter>path</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
    </variablelist>

  </refsect1>

  <refsect1>
    <title>Description</title>

    <para>The <link
    linkend="class-gtkcellrenderer"><classname>gtk.CellRenderer</classname></link>
    is a base class for a set of objects used for rendering a cell to a <link
    linkend="class-gdkdrawable"><classname>gtk.gdk.Drawable</classname></link>. The
    <link linkend="class-gtkcellrenderer"><classname>gtk.CellRenderer</classname></link>
    provides the common attributes and methods for its subclasses (<link
    linkend="class-gtkcellrendererpixbuf"><classname>gtk.CellRendererPixbuf</classname></link>,
    <link linkend="class-gtkcellrenderertext"><classname>gtk.CellRendererText</classname></link>
    and <link linkend="class-gtkcellrenderertoggle"><classname>gtk.CellRendererToggle</classname></link>).</para>

    <para>The primary use of a <link
    linkend="class-gtkcellrenderer"><classname>gtk.CellRenderer</classname></link>
    is for drawing a certain graphical elements on a <link
    linkend="class-gdkdrawable"><classname>gtk.gdk.Drawable</classname></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 the GObjects
    property system. Then, the cell is measured using the <link
    linkend="method-gtkcellrenderer--get-size"><methodname>get_size</methodname>()</link>
    method. Finally, the cell is rendered in the correct location using the
    <link
    linkend="method-gtkcellrenderer--render"><methodname>render</methodname>()</link>
    method.</para>

  </refsect1>

  <refsect1>
    <title>Methods</title>

    <refsect2 id="method-gtkcellrenderer--get-size">
      <title>gtk.CellRenderer.get_size</title>

      <programlisting><methodsynopsis language="python">
        <methodname>get_size</methodname>
        <methodparam><parameter role="keyword">widget</parameter></methodparam>
        <methodparam><parameter role="keyword">cell_area</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">widget</parameter>&nbsp;:</term>
          <listitem><simpara>the widget the renderer is rendering to</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter role="keyword">cell_area</parameter>&nbsp;:</term>
          <listitem><simpara>The area a cell will be allocated, or <literal>None</literal></simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>a tuple containing the xoffset, yoffset, width and height</simpara></listitem>
        </varlistentry>
      </variablelist>

      <para>The <methodname>get_size</methodname>() method obtains the width
      and height needed to render the cell. These values are returned as part of a
      tuple containing the x_offset, y_offset, width and height.
      <methodname>get_size</methodname>() is used by view widgets to determine the
      appropriate size for the <parameter>cell_area</parameter> to be passed to the <link
      linkend="method-gtkcellrenderer--render"><function>gtk.CellRenderer.render()</function></link> 
      method. If <parameter>cell_area</parameter> is not <literal>None</literal>,
      the x and y offsets of the cell relative to this location are returned.
      Please note that the values set in the returned width and height, as well as
      those in x_offset and y_offset are inclusive of the xpad and ypad
      properties.</para>

    </refsect2>

    <refsect2 id="method-gtkcellrenderer--render">
      <title>gtk.CellRenderer.render</title>

      <programlisting><methodsynopsis language="python">
        <methodname>render</methodname>
        <methodparam><parameter role="keyword">window</parameter></methodparam>
        <methodparam><parameter role="keyword">widget</parameter></methodparam>
        <methodparam><parameter role="keyword">background_area</parameter></methodparam>
        <methodparam><parameter role="keyword">cell_area</parameter></methodparam>
        <methodparam><parameter role="keyword">expose_area</parameter></methodparam>
        <methodparam><parameter role="keyword">flags</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">window</parameter>&nbsp;:</term>
          <listitem><simpara>a <link linkend="class-gdkdrawable"><classname>gtk.gdk.Drawable</classname></link> to draw to</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter role="keyword">widget</parameter>&nbsp;:</term>
          <listitem><simpara>the widget owning <parameter>window</parameter></simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter role="keyword">background_area</parameter>&nbsp;:</term>
          <listitem><simpara>entire cell area (including tree expanders and maybe padding on the sides)</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter role="keyword">cell_area</parameter>&nbsp;:</term>
          <listitem><simpara>area normally rendered by a cell renderer</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter role="keyword">expose_area</parameter>&nbsp;:</term>
          <listitem><simpara>area that actually needs updating</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter role="keyword">flags</parameter>&nbsp;:</term>
          <listitem><simpara>flags that affect rendering</simpara></listitem>
        </varlistentry>
      </variablelist>

      <para>The <methodname>render</methodname>() method invokes the virtual
      render function of the <link
      linkend="class-gtkcellrenderer"><classname>gtk.CellRenderer</classname></link>. 
      The three passed-in rectangles are areas of <parameter>window</parameter>.
      Most renderers will draw within <parameter>cell_area</parameter>; the
      xalign, yalign, xpad, and ypad properties of the <link
      linkend="class-gtkcellrenderer"><classname>gtk.CellRenderer</classname></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>.
      <parameter>expose_area</parameter> is a clip rectangle.</para>

      <para>The <parameter>flags</parameter> value is one of:
<literal>gtk.CELL_RENDERER_SELECTED</literal>,
<literal>gtk.CELL_RENDERER_PRELIT</literal>,
<literal>gtk.CELL_RENDERER_INSENSITIVE</literal> or
<literal>gtk.CELL_RENDERER_SORTED</literal></para>

    </refsect2>

    <refsect2 id="method-gtkcellrenderer--activate">
      <title>gtk.CellRenderer.activate</title>

      <programlisting><methodsynopsis language="python">
        <methodname>activate</methodname>
        <methodparam><parameter role="keyword">event</parameter></methodparam>
        <methodparam><parameter role="keyword">widget</parameter></methodparam>
        <methodparam><parameter role="keyword">path</parameter></methodparam>
        <methodparam><parameter role="keyword">background_area</parameter></methodparam>
        <methodparam><parameter role="keyword">cell_area</parameter></methodparam>
        <methodparam><parameter role="keyword">flags</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">event</parameter>&nbsp;:</term>
          <listitem><simpara>a <link linkend="class-gdkevent"><classname>gtk.gdk.Event</classname></link></simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter role="keyword">widget</parameter>&nbsp;:</term>
          <listitem><simpara>widget that received the event</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter role="keyword">path</parameter>&nbsp;:</term>
          <listitem><simpara>widget-dependent string representation of the event location; e.g. for <link linkend="class-gtktreeview"><classname>gtk.TreeView</classname></link>, a string representation of <literal>gtk.TreePath</literal></simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter role="keyword">background_area</parameter>&nbsp;:</term>
          <listitem><simpara>background area as passed to <link linkend="method-gtkcellrenderer--render"><methodname>render</methodname>()</link></simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter role="keyword">cell_area</parameter>&nbsp;:</term>
          <listitem><simpara>cell area as passed to <link linkend="method-gtkcellrenderer--render"><methodname>render</methodname>()</link></simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter role="keyword">flags</parameter>&nbsp;:</term>
          <listitem><simpara>render flags</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara><literal>True</literal> if the event was consumed/handled</simpara></listitem>
        </varlistentry>
      </variablelist>

      <para>The <methodname>activate</methodname>() method passes an
      activate event to the cell renderer for possible processing.  Some cell
      renderers may use events; for example, <link
      linkend="class-gtkcellrenderertoggle"><classname>gtk.CellRendererToggle</classname></link> 
      toggles when it gets a mouse click.</para>

      <para>The <parameter>flags</parameter> value is one of:
<literal>gtk.CELL_RENDERER_SELECTED</literal>,
<literal>gtk.CELL_RENDERER_PRELIT</literal>,
<literal>gtk.CELL_RENDERER_INSENSITIVE</literal> or
<literal>gtk.CELL_RENDERER_SORTED</literal></para>

    </refsect2>

    <refsect2 id="method-gtkcellrenderer--start-editing">
      <title>gtk.CellRenderer.start_editing</title>

      <programlisting><methodsynopsis language="python">
        <methodname>start_editing</methodname>
        <methodparam><parameter role="keyword">event</parameter></methodparam>
        <methodparam><parameter role="keyword">widget</parameter></methodparam>
        <methodparam><parameter role="keyword">path</parameter></methodparam>
        <methodparam><parameter role="keyword">background_area</parameter></methodparam>
        <methodparam><parameter role="keyword">cell_area</parameter></methodparam>
        <methodparam><parameter role="keyword">flags</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">event</parameter>&nbsp;:</term>
          <listitem><simpara>a <link linkend="class-gdkevent"><classname>gtk.gdk.Event</classname></link></simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter role="keyword">widget</parameter>&nbsp;:</term>
          <listitem><simpara>the widget that received the event</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter role="keyword">path</parameter>&nbsp;:</term>
          <listitem><simpara>a widget-dependent string representation of the event location; e.g. for <link linkend="class-gtktreeview"><classname>gtk.TreeView</classname></link>, a string representation of <literal>gtk.TreePath</literal></simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter role="keyword">background_area</parameter>&nbsp;:</term>
          <listitem><simpara>background area as passed to <link linkend="method-gtkcellrenderer--render"><methodname>render</methodname>()</link>.</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter role="keyword">cell_area</parameter>&nbsp;:</term>
          <listitem><simpara>cell area as passed to <link linkend="method-gtkcellrenderer--render"><methodname>render</methodname>()</link></simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter role="keyword">flags</parameter>&nbsp;:</term>
          <listitem><simpara>render flags</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>A new <link linkend="class-gtkcelleditable"><classname>gtk.CellEditable</classname></link>, or <literal>None</literal></simpara></listitem>
        </varlistentry>
      </variablelist>

      <para>The <methodname>start_editing</methodname>() method initiates
      the editing of a cell.</para>

    </refsect2>

    <refsect2 id="method-gtkcellrenderer--editing-canceled">
      <title>gtk.CellRenderer.editing_canceled</title>

      <programlisting><methodsynopsis language="python">
        <methodname>editing_canceled</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <note>
        <para>This method is available in PyGTK 2.4 and above.</para>
      </note>

      <warning>
        <para>This method is deprecated in PyGTK 2.6 and above and should not be used in newly-written code. Use the
        <link linkend="method-gtkcellrenderer--stop-editing"><methodname>stop_editing</methodname>()</link>
        method instead.</para>
      </warning>

      <para>The <methodname>editing_canceled</methodname>() method causes
      the cell renderer to emit the "editing-canceled" signal. This method is for
      use only by implementations of cell renderers that need to notify the client
      program that an editing process was canceled and the changes were not
      committed.</para>

    </refsect2>

    <refsect2 id="method-gtkcellrenderer--stop-editing">
      <title>gtk.CellRenderer.stop_editing</title>

      <programlisting><methodsynopsis language="python">
        <methodname>stop_editing</methodname>
        <methodparam><parameter role="keyword">canceled</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">canceled</parameter>&nbsp;:</term>
          <listitem><simpara>if <literal>True</literal> the editing has been canceled</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.6 and above.</para>
      </note>

      <para>The <methodname>stop_editing</methodname>() method informs the
      cell renderer that the editing is stopped. If
      <parameter>canceled</parameter> is <literal>True</literal>, the cell
      renderer will emit the "editing-canceled" signal. This method should be
      called by cell renderer implementations in response to the "editing-done"
      signal of <link linkend="class-gtkcelleditable"><classname>gtk.CellEditable</classname></link>.</para>

    </refsect2>

    <refsect2 id="method-gtkcellrenderer--set-fixed-size">
      <title>gtk.CellRenderer.set_fixed_size</title>

      <programlisting><methodsynopsis language="python">
        <methodname>set_fixed_size</methodname>
        <methodparam><parameter role="keyword">width</parameter></methodparam>
        <methodparam><parameter role="keyword">height</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">width</parameter>&nbsp;:</term>
          <listitem><simpara>the width of the cell renderer, or -1</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter role="keyword">height</parameter>&nbsp;:</term>
          <listitem><simpara>the height of the cell renderer, or -1</simpara></listitem>
        </varlistentry>
      </variablelist>

      <para>The <methodname>set_fixed_size</methodname>() method sets the
      renderer size to the specified <parameter>width</parameter> and
      <parameter>height</parameter>, independent of the properties set.</para>

    </refsect2>

    <refsect2 id="method-gtkcellrenderer--get-fixed-size">
      <title>gtk.CellRenderer.get_fixed_size</title>

      <programlisting><methodsynopsis language="python">
        <methodname>get_fixed_size</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>a tuple containing the width and height of the cell</simpara></listitem>
        </varlistentry>
      </variablelist>

      <para>The <methodname>get_fixed_size</methodname>() method retrieves a
      tuple containing the fixed <parameter>width</parameter> and
      <parameter>height</parameter> of the cell.</para>

    </refsect2>

    <refsect2 id="method-gtkcellrenderer--set-visible">
      <title>gtk.CellRenderer.set_visible</title>

      <programlisting><methodsynopsis language="python">
        <methodname>set_visible</methodname>
        <methodparam><parameter role="keyword">visible</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">visible</parameter>&nbsp;:</term>
          <listitem><simpara>the cell renderer's visibility.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.22 and above.</para>
      </note>

      <para>The <methodname>set_visible</methodname>() method sets the cell
      renderer's visibility.</para>

    </refsect2>

    <refsect2 id="method-gtkcellrenderer--get-visible">
      <title>gtk.CellRenderer.get_visible</title>

      <programlisting><methodsynopsis language="python">
        <methodname>get_visible</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>the cell renderer's visibility.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.22 and above.</para>
      </note>

      <para>The <methodname>get_visible</methodname>() method gets the cell
      renderer's visibility.</para>

    </refsect2>

    <refsect2 id="method-gtkcellrenderer--set-sensitive">
      <title>gtk.CellRenderer.set_sensitive</title>

      <programlisting><methodsynopsis language="python">
        <methodname>set_sensitive</methodname>
        <methodparam><parameter role="keyword">sensitive</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">sensitive</parameter>&nbsp;:</term>
          <listitem><simpara>the cell renderer's sensitivity.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.22 and above.</para>
      </note>

      <para>The <methodname>set_sensitive</methodname>() method sets the cell
      renderer's sensitivity.</para>

    </refsect2>

    <refsect2 id="method-gtkcellrenderer--get-sensitive">
      <title>gtk.CellRenderer.get_sensitive</title>

      <programlisting><methodsynopsis language="python">
        <methodname>get_sensitive</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>the cell renderer's sensitivity.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.22 and above.</para>
      </note>

      <para>The <methodname>get_sensitive</methodname>() method gets the cell
      renderer's sensitivity.</para>

    </refsect2>

    <refsect2 id="method-gtkcellrenderer--set-alignment">
      <title>gtk.CellRenderer.set_alignment</title>

      <programlisting><methodsynopsis language="python">
        <methodname>set_alignment</methodname>
        <methodparam><parameter role="keyword">xalign</parameter></methodparam>
        <methodparam><parameter role="keyword">yalign</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">xalign</parameter>&nbsp;:</term>
          <listitem><simpara>the x alignment of the cell renderer.</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter role="keyword">yalign</parameter>&nbsp;:</term>
          <listitem><simpara>the y alignment of the cell renderer.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.22 and above.</para>
      </note>

      <para>The <methodname>set_alignment</methodname>() method sets the renderer's
      alignment within its available space.</para>

    </refsect2>

    <refsect2 id="method-gtkcellrenderer--get-alignment">
      <title>gtk.CellRenderer.get_alignment</title>

      <programlisting><methodsynopsis language="python">
        <methodname>get_alignment</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>a 2-tuple containing the cell renderer's alignment within its available space.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.22 and above.</para>
      </note>

      <para>The <methodname>get_alignment</methodname>() gets the the renderer's
      alignment within its available space.</para>

    </refsect2>

    <refsect2 id="method-gtkcellrenderer--set-padding">
      <title>gtk.CellRenderer.set_padding</title>

      <programlisting><methodsynopsis language="python">
        <methodname>set_padding</methodname>
        <methodparam><parameter role="keyword">xpad</parameter></methodparam>
        <methodparam><parameter role="keyword">ypad</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">xpad</parameter>&nbsp;:</term>
          <listitem><simpara>the x padding of the cell renderer.</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter role="keyword">ypad</parameter>&nbsp;:</term>
          <listitem><simpara>the y padding of the cell renderer.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.22 and above.</para>
      </note>

      <para>The <methodname>set_padding</methodname>() method sets the renderer's
      padding.</para>

    </refsect2>

    <refsect2 id="method-gtkcellrenderer--get-padding">
      <title>gtk.CellRenderer.get_padding</title>

      <programlisting><methodsynopsis language="python">
        <methodname>get_padding</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>a 2-tuple containing the cell renderer's padding.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.22 and above.</para>
      </note>

      <para>The <methodname>get_padding</methodname>() gets the the renderer's
      padding.</para>

    </refsect2>

  </refsect1>

  <refsect1>
    <title>Signals</title>

    <refsect2 id="signal-gtkcellrenderer--editing-canceled">
      <title>The "editing-canceled" gtk.CellRenderer Signal</title>

      <programlisting><methodsynopsis language="python">
        <methodname>callback</methodname>
        <methodparam><parameter>cellrenderer</parameter></methodparam>
        <methodparam><parameter>user_param1</parameter></methodparam>
        <methodparam><parameter>...</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter>cellrenderer</parameter>&nbsp;:</term>
          <listitem><simpara>the cellrenderer that received the signal</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified with the <link linkend="method-gobject--connect"><methodname>connect</methodname>()</link> method</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter>...</parameter>&nbsp;:</term>
          <listitem><simpara>additional user parameters (if any)</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This signal is available in GTK+ 2.4 and above.</para>
      </note>

      <para>The "editing-canceled" signal is 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. Also
      see the <link
      linkend="method-gtkcellrenderer--editing-canceled"><methodname>editing_canceled</methodname>()</link>
      method.</para>

    </refsect2>

    <refsect2 id="signal-gtkcellrenderer--editing-started">
      <title>The "editing-started" gtk.CellRenderer Signal</title>

      <programlisting><methodsynopsis language="python">
        <methodname>callback</methodname>
        <methodparam><parameter>cellrenderer</parameter></methodparam>
        <methodparam><parameter>editable</parameter></methodparam>
        <methodparam><parameter>path</parameter></methodparam>
        <methodparam><parameter>user_param1</parameter></methodparam>
        <methodparam><parameter>...</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter>cellrenderer</parameter>&nbsp;:</term>
          <listitem><simpara>the cellrenderer that received the signal</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter>editable</parameter>&nbsp;:</term>
          <listitem><simpara>the <link linkend="class-gtkcelleditable"><classname>gtk.CellEditable</classname></link></simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter>path</parameter>&nbsp;:</term>
          <listitem><simpara>he path identifying the edited cell</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified with the <link linkend="method-gobject--connect"><methodname>connect</methodname>()</link> method</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter>...</parameter>&nbsp;:</term>
          <listitem><simpara>additional user parameters (if any)</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This signal is available in GTK+ 2.6 and above.</para>
      </note>

      <para>The "editing-started" signal is 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="class-gtkentrycompletion"><classname>gtk.EntryCompletion</classname></link>
      or setting up additional columns in a <link
      linkend="class-gtkcombobox"><classname>gtk.ComboBox</classname></link>.</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 editable before doing any specific
      setup, as in the following example:</para>

      <programlisting>
def text_editing_started(cell, editable, path, data):
  if isinstance(editable, gtk.Entry):
      # ... create a GtkEntryCompletion
      completion = gtk.EntryCompletion()
      editable.set_completion(completion)
      ...
  ...
</programlisting>

    </refsect2>

  </refsect1>

</refentry>
