cellrenderer: Add accessors for {get,set}_is_expande{r,d}
This commit is contained in:
@@ -1212,13 +1212,13 @@ apply_cell_attributes (GtkCellRenderer *renderer,
|
||||
* provided by the view (as these states can vary across views
|
||||
* accessing the same model).
|
||||
*/
|
||||
g_object_get (renderer, "is-expander", &is_expander, NULL);
|
||||
is_expander = gtk_cell_renderer_get_is_expander (renderer);
|
||||
if (is_expander != data->is_expander)
|
||||
g_object_set (renderer, "is-expander", data->is_expander, NULL);
|
||||
gtk_cell_renderer_set_is_expander (renderer, data->is_expander);
|
||||
|
||||
g_object_get (renderer, "is-expanded", &is_expanded, NULL);
|
||||
is_expanded = gtk_cell_renderer_get_is_expanded (renderer);
|
||||
if (is_expanded != data->is_expanded)
|
||||
g_object_set (renderer, "is-expanded", data->is_expanded, NULL);
|
||||
gtk_cell_renderer_set_is_expanded (renderer, data->is_expanded);
|
||||
|
||||
/* Apply the attributes directly to the renderer */
|
||||
for (list = info->attributes; list; list = list->next)
|
||||
|
||||
@@ -1722,6 +1722,62 @@ gtk_cell_renderer_get_state (GtkCellRenderer *cell,
|
||||
return state;
|
||||
}
|
||||
|
||||
void
|
||||
gtk_cell_renderer_set_is_expander (GtkCellRenderer *cell,
|
||||
gboolean is_expander)
|
||||
{
|
||||
GtkCellRendererPrivate *priv = gtk_cell_renderer_get_instance_private (cell);
|
||||
|
||||
g_return_if_fail (GTK_IS_CELL_RENDERER (cell));
|
||||
|
||||
is_expander = !!is_expander;
|
||||
|
||||
if (is_expander != priv->is_expander)
|
||||
{
|
||||
priv->is_expander = is_expander;
|
||||
|
||||
g_object_notify (G_OBJECT (cell), "is-expander");
|
||||
}
|
||||
}
|
||||
|
||||
gboolean
|
||||
gtk_cell_renderer_get_is_expander (GtkCellRenderer *cell)
|
||||
{
|
||||
GtkCellRendererPrivate *priv = gtk_cell_renderer_get_instance_private (cell);
|
||||
|
||||
g_return_val_if_fail (GTK_IS_CELL_RENDERER (cell), FALSE);
|
||||
|
||||
return priv->is_expander;
|
||||
}
|
||||
|
||||
void
|
||||
gtk_cell_renderer_set_is_expanded (GtkCellRenderer *cell,
|
||||
gboolean is_expanded)
|
||||
{
|
||||
GtkCellRendererPrivate *priv = gtk_cell_renderer_get_instance_private (cell);
|
||||
|
||||
g_return_if_fail (GTK_IS_CELL_RENDERER (cell));
|
||||
|
||||
is_expanded = !!is_expanded;
|
||||
|
||||
if (is_expanded != priv->is_expanded)
|
||||
{
|
||||
priv->is_expanded = is_expanded;
|
||||
|
||||
g_object_notify (G_OBJECT (cell), "is-expanded");
|
||||
}
|
||||
}
|
||||
|
||||
gboolean
|
||||
gtk_cell_renderer_get_is_expanded (GtkCellRenderer *cell)
|
||||
{
|
||||
GtkCellRendererPrivate *priv = gtk_cell_renderer_get_instance_private (cell);
|
||||
|
||||
g_return_val_if_fail (GTK_IS_CELL_RENDERER (cell), FALSE);
|
||||
|
||||
return priv->is_expanded;
|
||||
}
|
||||
|
||||
/**
|
||||
* gtk_cell_renderer_class_set_accessible_type:
|
||||
* @renderer_class: class to set the accessible type for
|
||||
|
||||
@@ -283,6 +283,21 @@ gboolean gtk_cell_renderer_get_sensitive (GtkCellRenderer *cell);
|
||||
GDK_AVAILABLE_IN_ALL
|
||||
gboolean gtk_cell_renderer_is_activatable (GtkCellRenderer *cell);
|
||||
|
||||
GDK_AVAILABLE_IN_ALL
|
||||
void gtk_cell_renderer_set_is_expander (GtkCellRenderer *cell,
|
||||
gboolean is_expander);
|
||||
GDK_AVAILABLE_IN_ALL
|
||||
gboolean gtk_cell_renderer_get_is_expander (GtkCellRenderer *cell);
|
||||
|
||||
GDK_AVAILABLE_IN_ALL
|
||||
void gtk_cell_renderer_set_is_expanded (GtkCellRenderer *cell,
|
||||
gboolean is_expander);
|
||||
GDK_AVAILABLE_IN_ALL
|
||||
gboolean gtk_cell_renderer_get_is_expanded (GtkCellRenderer *cell);
|
||||
|
||||
|
||||
|
||||
|
||||
/* For use by cell renderer implementations only */
|
||||
GDK_AVAILABLE_IN_ALL
|
||||
void gtk_cell_renderer_stop_editing (GtkCellRenderer *cell,
|
||||
|
||||
@@ -533,12 +533,10 @@ gtk_cell_renderer_pixbuf_snapshot (GtkCellRenderer *cell,
|
||||
gtk_style_context_add_class (context, GTK_STYLE_CLASS_IMAGE);
|
||||
gtk_icon_size_set_style_classes (gtk_style_context_get_node (context), priv->icon_size);
|
||||
|
||||
g_object_get (cell, "is-expander", &is_expander, NULL);
|
||||
is_expander = gtk_cell_renderer_get_is_expander (cell);
|
||||
if (is_expander)
|
||||
{
|
||||
gboolean is_expanded;
|
||||
|
||||
g_object_get (cell, "is-expanded", &is_expanded, NULL);
|
||||
gboolean is_expanded = gtk_cell_renderer_get_is_expanded (cell);;
|
||||
|
||||
if (is_expanded && priv->pixbuf_expander_open != NULL)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user