| GTK+ Reference Manual |
|---|
GtkCellLayoutGtkCellLayout — An interface for packing cells |
#include <gtk/gtk.h>
GtkCellLayout;
GtkCellLayoutIface;
void (*GtkCellLayoutDataFunc) (GtkCellLayout *cell_layout,
GtkCellRenderer *cell,
GtkTreeModel *tree_model,
GtkTreeIter *iter,
gpointer data);
void gtk_cell_layout_pack_start (GtkCellLayout *cell_layout,
GtkCellRenderer *cell,
gboolean expand);
void gtk_cell_layout_pack_end (GtkCellLayout *cell_layout,
GtkCellRenderer *cell,
gboolean expand);
void gtk_cell_layout_reorder (GtkCellLayout *cell_layout,
GtkCellRenderer *cell,
gint position);
void gtk_cell_layout_clear (GtkCellLayout *cell_layout);
void gtk_cell_layout_set_attributes (GtkCellLayout *cell_layout,
GtkCellRenderer *cell,
...);
void gtk_cell_layout_add_attribute (GtkCellLayout *cell_layout,
GtkCellRenderer *cell,
const gchar *attribute,
gint column);
void gtk_cell_layout_set_cell_data_func
(GtkCellLayout *cell_layout,
GtkCellRenderer *cell,
GtkCellLayoutDataFunc func,
gpointer func_data,
GDestroyNotify destroy);
void gtk_cell_layout_clear_attributes
(GtkCellLayout *cell_layout,
GtkCellRenderer *cell);
GtkCellLayout is implemented by GtkCellView, GtkEntryCompletion, GtkTreeViewColumn, GtkComboBox and GtkComboBoxEntry.
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.
typedef struct {
GTypeInterface g_iface;
/* Virtual Table */
void (* pack_start) (GtkCellLayout *cell_layout,
GtkCellRenderer *cell,
gboolean expand);
void (* pack_end) (GtkCellLayout *cell_layout,
GtkCellRenderer *cell,
gboolean expand);
void (* clear) (GtkCellLayout *cell_layout);
void (* add_attribute) (GtkCellLayout *cell_layout,
GtkCellRenderer *cell,
const gchar *attribute,
gint column);
void (* set_cell_data_func) (GtkCellLayout *cell_layout,
GtkCellRenderer *cell,
GtkCellLayoutDataFunc func,
gpointer func_data,
GDestroyNotify destroy);
void (* clear_attributes) (GtkCellLayout *cell_layout,
GtkCellRenderer *cell);
void (* reorder) (GtkCellLayout *cell_layout,
GtkCellRenderer *cell,
gint position);
} GtkCellLayoutIface;
void (*GtkCellLayoutDataFunc) (GtkCellLayout *cell_layout, GtkCellRenderer *cell, GtkTreeModel *tree_model, GtkTreeIter *iter, gpointer data);
A function which should set the value of cell_layout's cell renderer(s) as appropriate.
| 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() |
void gtk_cell_layout_pack_start (GtkCellLayout *cell_layout, GtkCellRenderer *cell, gboolean expand);
Packs the cell into the beginning of cell_layout. If expand is FALSE, then the cell is allocated no more space than it needs. Any unused space is divided evenly between cells for which expand is TRUE.
| cell_layout : | A GtkCellLayout. |
| cell : | A GtkCellRenderer. |
| expand : | TRUE if cell is to be given extra space allocated to cell_layout. |
Since 2.4
void gtk_cell_layout_pack_end (GtkCellLayout *cell_layout, GtkCellRenderer *cell, gboolean expand);
Adds the cell to the end of cell_layout. If expand is FALSE, then the cell is allocated no more space than it needs. Any unused space is divided evenly between cells for which expand is TRUE.
| cell_layout : | A GtkCellLayout. |
| cell : | A GtkCellRenderer. |
| expand : | TRUE if cell is to be given extra space allocated to cell_layout. |
Since 2.4
void gtk_cell_layout_reorder (GtkCellLayout *cell_layout, GtkCellRenderer *cell, gint position);
Re-inserts cell at position. Note that cell has already to be packed into cell_layout for this to function properly.
| cell_layout : | A GtkCellLayout. |
| cell : | A GtkCellRenderer to reorder. |
| position : | New position to insert cell at. |
Since 2.4
void gtk_cell_layout_clear (GtkCellLayout *cell_layout);
Unsets all the mappings on all renderers on cell_layout and removes all renderers from cell_layout.
| cell_layout : | A GtkCellLayout. |
Since 2.4
void gtk_cell_layout_set_attributes (GtkCellLayout *cell_layout, GtkCellRenderer *cell, ...);
Sets the attributes in list as the attributes of cell_layout. The attributes should be in attribute/column order, as in gtk_cell_layout_add_attribute(). All existing attributes are removed, and replaced with the new attributes.
| cell_layout : | A GtkCellLayout. |
| cell : | A GtkCellRenderer. |
| ... : | A NULL-terminated list of attributes. |
Since 2.4
void gtk_cell_layout_add_attribute (GtkCellLayout *cell_layout, GtkCellRenderer *cell, const gchar *attribute, gint column);
Adds an attribute mapping to the list in cell_layout. The column is the column of the model to get a value from, and the attribute is the parameter on cell to be set from the value. So for example if column 2 of the model contains strings, you could have the "text" attribute of a GtkCellRendererText get its values from column 2.
| cell_layout : | A GtkCellLayout. |
| cell : | A GtkCellRenderer. |
| attribute : | An attribute on the renderer. |
| column : | The column position on the model to get the attribute from. |
Since 2.4
void gtk_cell_layout_set_cell_data_func
(GtkCellLayout *cell_layout,
GtkCellRenderer *cell,
GtkCellLayoutDataFunc func,
gpointer func_data,
GDestroyNotify destroy);
Sets the GtkCellLayoutDataFunc to use for cell_layout. This function is used instead of the standard attributes mapping for setting the column value, and should set the value of cell_layout's cell renderer(s) as appropriate. func may be NULL to remove and older one.
| cell_layout : | A GtkCellLayout. |
| cell : | A GtkCellRenderer. |
| func : | The GtkCellLayoutDataFunc to use. |
| func_data : | The user data for func. |
| destroy : | The destroy notification for func_data. |
Since 2.4
void gtk_cell_layout_clear_attributes
(GtkCellLayout *cell_layout,
GtkCellRenderer *cell);
Clears all existing attributes previously set with gtk_cell_layout_set_attributes().
| cell_layout : | A GtkCellLayout. |
| cell : | A GtkCellRenderer to clear the attribute mapping on. |
Since 2.4
| << GtkTreeModelFilter | GtkCellRenderer >> |