gtk2/docs/reference/gtk/tmpl/gtkcelllayout.sgml
Matthias Clasen e5ce8697ea Document GtkBuilder UI definitions
svn path=/trunk/; revision=18332
2007-07-01 23:38:07 +00:00

184 lines
3.6 KiB
Plaintext

<!-- ##### SECTION Title ##### -->
GtkCellLayout
<!-- ##### SECTION Short_Description ##### -->
An interface for packing cells
<!-- ##### SECTION Long_Description ##### -->
<para>
#GtkCellLayout is an interface to be implemented by all objects which
want to provide a #GtkTreeViewColumn-like API for packing cells, setting
attributes and data funcs.
</para>
<para>
One of the notable features provided by implementations of GtkCellLayout
are <emphasis>attributes</emphasis>. Attributes let you set the properties
in flexible ways. They can just be set to constant values like regular
properties. But they can also be mapped to a column of the underlying
tree model with gtk_cell_layout_set_attributes(), which means that the value
of the attribute can change from cell to cell as they are rendered by the
cell renderer. Finally, it is possible to specify a function with
gtk_cell_layout_set_cell_data_func() that is called to determine the value
of the attribute for each cell that is rendered.
</para>
<refsect2 id="GtkCellLayout-BUILDER-UI">
<title>GtkCellLayouts as GtkBuildable</title>
<para>
Implementations of GtkCellLayout which also implement the GtkBuildable
interface (#GtkCellView, #GtkIconView, #GtkComboBox, #GtkComboBoxEntry,
#GtkEntryCompletion, #GtkTreeViewColumn) accept GtkCellRenderer objects
as &lt;child&gt; elements in UI definitons. They support a custom
&lt;attributes&gt; element for their children, which can contain
multiple &lt;attribute&gt; elements. Each &lt;attribute&gt; element has
a name attribute which specifies a property of the cell renderer; the
content of the element is the attribute value.
</para>
<example>
<title>A UI definition fragment specifying attributes</title>
<programlisting><![CDATA[
<object class="GtkCellView">
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">0</attribute>
</attributes>
</child>"
</object>
]]></programlisting>
</example>
</refsect2>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GtkCellLayout ##### -->
<para>
</para>
<!-- ##### STRUCT GtkCellLayoutIface ##### -->
<para>
</para>
@g_iface:
@pack_start:
@pack_end:
@clear:
@add_attribute:
@set_cell_data_func:
@clear_attributes:
@reorder:
@get_cells:
<!-- ##### USER_FUNCTION GtkCellLayoutDataFunc ##### -->
<para>
A function which should set the value of @cell_layout's cell renderer(s)
as appropriate.
</para>
@cell_layout: a #GtkCellLayout
@cell: the cell renderer whose value is to be set
@tree_model: the model
@iter: a #GtkTreeIter indicating the row to set the value for
@data: user data passed to gtk_cell_layout_set_cell_data_func()
<!-- ##### FUNCTION gtk_cell_layout_pack_start ##### -->
<para>
</para>
@cell_layout:
@cell:
@expand:
<!-- ##### FUNCTION gtk_cell_layout_pack_end ##### -->
<para>
</para>
@cell_layout:
@cell:
@expand:
<!-- ##### FUNCTION gtk_cell_layout_get_cells ##### -->
<para>
</para>
@cell_layout:
@Returns:
<!-- ##### FUNCTION gtk_cell_layout_reorder ##### -->
<para>
</para>
@cell_layout:
@cell:
@position:
<!-- ##### FUNCTION gtk_cell_layout_clear ##### -->
<para>
</para>
@cell_layout:
<!-- ##### FUNCTION gtk_cell_layout_set_attributes ##### -->
<para>
</para>
@cell_layout:
@cell:
@Varargs:
<!-- ##### FUNCTION gtk_cell_layout_add_attribute ##### -->
<para>
</para>
@cell_layout:
@cell:
@attribute:
@column:
<!-- ##### FUNCTION gtk_cell_layout_set_cell_data_func ##### -->
<para>
</para>
@cell_layout:
@cell:
@func:
@func_data:
@destroy:
<!-- ##### FUNCTION gtk_cell_layout_clear_attributes ##### -->
<para>
</para>
@cell_layout:
@cell: