summaryrefslogtreecommitdiff
path: root/gtk/gtkcellview.c
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/gtkcellview.c')
-rw-r--r--gtk/gtkcellview.c21
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:
{