![]() |
![]() |
![]() |
GTK+ Reference Manual | ![]() |
---|---|---|---|---|
#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, GtkIconView 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
.
Note that reusing the same cell renderer is not supported.
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
.
Note that reusing the same cell renderer is not supported.
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