diff options
Diffstat (limited to 'gtk/gtkcellview.c')
-rw-r--r-- | gtk/gtkcellview.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/gtk/gtkcellview.c b/gtk/gtkcellview.c index 168bf04eae..87c56ed8bc 100644 --- a/gtk/gtkcellview.c +++ b/gtk/gtkcellview.c @@ -415,6 +415,25 @@ gtk_cell_view_get_property (GObject *object, } static void +reset_orientation_style (GtkCellView *view) +{ + GtkStyleContext *context; + + context = gtk_widget_get_style_context (GTK_WIDGET (view)); + + if (view->priv->orientation == GTK_ORIENTATION_VERTICAL) + { + gtk_style_context_add_class (context, GTK_STYLE_CLASS_VERTICAL); + gtk_style_context_remove_class (context, GTK_STYLE_CLASS_HORIZONTAL); + } + else + { + gtk_style_context_add_class (context, GTK_STYLE_CLASS_HORIZONTAL); + gtk_style_context_remove_class (context, GTK_STYLE_CLASS_VERTICAL); + } +} + +static void gtk_cell_view_set_property (GObject *object, guint param_id, const GValue *value, @@ -430,6 +449,8 @@ gtk_cell_view_set_property (GObject *object, view->priv->orientation = g_value_get_enum (value); if (view->priv->context) gtk_cell_area_context_reset (view->priv->context); + + reset_orientation_style (view); break; case PROP_BACKGROUND: { |