diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2011-01-12 22:55:55 +0100 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2011-01-12 22:58:41 +0100 |
commit | e2e7075533b003f54ed0852af8595d3ef4f23b01 (patch) | |
tree | ce65645fa59ed53ee5b8d52010e3ef6a8f466980 /gtk | |
parent | b6464b6c0a467226057e21d7f35e8afa50321422 (diff) | |
download | gtk+-e2e7075533b003f54ed0852af8595d3ef4f23b01.tar.gz |
Redo patch in efae64b (Set vertical/horizontal class...)
Add a _gtk_orientable_set_style_classes() function so all
orientation changes to style happen in a single place.
Diffstat (limited to 'gtk')
-rw-r--r-- | gtk/gtkcellareabox.c | 20 | ||||
-rw-r--r-- | gtk/gtkcellview.c | 21 | ||||
-rw-r--r-- | gtk/gtkgrid.c | 14 | ||||
-rw-r--r-- | gtk/gtkorientable.c | 41 | ||||
-rw-r--r-- | gtk/gtkorientable.h | 3 | ||||
-rw-r--r-- | gtk/gtkprogressbar.c | 14 | ||||
-rw-r--r-- | gtk/gtkseparator.c | 21 | ||||
-rw-r--r-- | gtk/gtktoolpalette.c | 21 |
8 files changed, 33 insertions, 122 deletions
diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index ea3a3c8a8d..3779fba923 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -1050,25 +1050,6 @@ gtk_cell_area_box_dispose (GObject *object) } static void -reset_orientation_style (GtkCellAreaBox *box) -{ - GtkStyleContext *context; - - context = gtk_widget_get_style_context (GTK_WIDGET (box)); - - if (box->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_area_box_set_property (GObject *object, guint prop_id, const GValue *value, @@ -1083,7 +1064,6 @@ gtk_cell_area_box_set_property (GObject *object, /* Notify that size needs to be requested again */ reset_contexts (box); - reset_orientation_style (box); break; case PROP_SPACING: diff --git a/gtk/gtkcellview.c b/gtk/gtkcellview.c index 87c56ed8bc..e47d5eac71 100644 --- a/gtk/gtkcellview.c +++ b/gtk/gtkcellview.c @@ -415,25 +415,6 @@ 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, @@ -450,7 +431,7 @@ gtk_cell_view_set_property (GObject *object, if (view->priv->context) gtk_cell_area_context_reset (view->priv->context); - reset_orientation_style (view); + _gtk_orientable_set_style_classes (GTK_ORIENTABLE (object)); break; case PROP_BACKGROUND: { diff --git a/gtk/gtkgrid.c b/gtk/gtkgrid.c index 525f970df6..9e1498d3e2 100644 --- a/gtk/gtkgrid.c +++ b/gtk/gtkgrid.c @@ -187,23 +187,11 @@ gtk_grid_set_orientation (GtkGrid *grid, GtkOrientation orientation) { GtkGridPrivate *priv = grid->priv; - GtkStyleContext *context; if (priv->orientation != orientation) { priv->orientation = orientation; - context = gtk_widget_get_style_context (GTK_WIDGET (grid)); - - if (grid->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); - } + _gtk_orientable_set_style_classes (GTK_ORIENTABLE (grid)); g_object_notify (G_OBJECT (grid), "orientation"); } diff --git a/gtk/gtkorientable.c b/gtk/gtkorientable.c index d3627252fb..81fcf6c384 100644 --- a/gtk/gtkorientable.c +++ b/gtk/gtkorientable.c @@ -80,8 +80,6 @@ void gtk_orientable_set_orientation (GtkOrientable *orientable, GtkOrientation orientation) { - GtkStyleContext *context; - g_return_if_fail (GTK_IS_ORIENTABLE (orientable)); g_object_set (orientable, @@ -89,20 +87,7 @@ gtk_orientable_set_orientation (GtkOrientable *orientable, NULL); if (GTK_IS_WIDGET (orientable)) - { - context = gtk_widget_get_style_context (GTK_WIDGET (orientable)); - - if (orientation == GTK_ORIENTATION_HORIZONTAL) - { - gtk_style_context_add_class (context, GTK_STYLE_CLASS_HORIZONTAL); - gtk_style_context_remove_class (context, GTK_STYLE_CLASS_VERTICAL); - } - else - { - gtk_style_context_add_class (context, GTK_STYLE_CLASS_VERTICAL); - gtk_style_context_remove_class (context, GTK_STYLE_CLASS_HORIZONTAL); - } - } + _gtk_orientable_set_style_classes (orientable); } /** @@ -129,3 +114,27 @@ gtk_orientable_get_orientation (GtkOrientable *orientable) return orientation; } + +void +_gtk_orientable_set_style_classes (GtkOrientable *orientable) +{ + GtkStyleContext *context; + GtkOrientation orientation; + + g_return_if_fail (GTK_IS_ORIENTABLE (orientable)); + g_return_if_fail (GTK_IS_WIDGET (orientable)); + + context = gtk_widget_get_style_context (GTK_WIDGET (orientable)); + orientation = gtk_orientable_get_orientation (orientable); + + if (orientation == GTK_ORIENTATION_HORIZONTAL) + { + gtk_style_context_add_class (context, GTK_STYLE_CLASS_HORIZONTAL); + gtk_style_context_remove_class (context, GTK_STYLE_CLASS_VERTICAL); + } + else + { + gtk_style_context_add_class (context, GTK_STYLE_CLASS_VERTICAL); + gtk_style_context_remove_class (context, GTK_STYLE_CLASS_HORIZONTAL); + } +} diff --git a/gtk/gtkorientable.h b/gtk/gtkorientable.h index fa2c85bf08..63ca6e5cd5 100644 --- a/gtk/gtkorientable.h +++ b/gtk/gtkorientable.h @@ -55,6 +55,9 @@ void gtk_orientable_set_orientation (GtkOrientable *orientable, GtkOrientation orientation); GtkOrientation gtk_orientable_get_orientation (GtkOrientable *orientable); +/* Private */ +void _gtk_orientable_set_style_classes (GtkOrientable *orientable); + G_END_DECLS #endif /* __GTK_ORIENTABLE_H__ */ diff --git a/gtk/gtkprogressbar.c b/gtk/gtkprogressbar.c index 9c8fd92e70..821cd8c648 100644 --- a/gtk/gtkprogressbar.c +++ b/gtk/gtkprogressbar.c @@ -1204,23 +1204,11 @@ gtk_progress_bar_set_orientation (GtkProgressBar *pbar, GtkOrientation orientation) { GtkProgressBarPrivate *priv = pbar->priv; - GtkStyleContext *context; if (priv->orientation != orientation) { priv->orientation = orientation; - context = gtk_widget_get_style_context (GTK_WIDGET (pbar)); - - if (pbar->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); - } + _gtk_orientable_set_style_classes (GTK_ORIENTABLE (pbar)); if (gtk_widget_is_drawable (GTK_WIDGET (pbar))) gtk_widget_queue_resize (GTK_WIDGET (pbar)); diff --git a/gtk/gtkseparator.c b/gtk/gtkseparator.c index b30292fc50..b48535f7ac 100644 --- a/gtk/gtkseparator.c +++ b/gtk/gtkseparator.c @@ -113,25 +113,6 @@ gtk_separator_init (GtkSeparator *separator) } static void -reset_orientation_style (GtkSeparator *separator) -{ - GtkStyleContext *context; - - context = gtk_widget_get_style_context (GTK_WIDGET (separator)); - - if (separator->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_separator_set_property (GObject *object, guint prop_id, const GValue *value, @@ -144,7 +125,7 @@ gtk_separator_set_property (GObject *object, { case PROP_ORIENTATION: private->orientation = g_value_get_enum (value); - reset_orientation_style (separator); + _gtk_orientable_set_style_classes (GTK_ORIENTABLE (object)); gtk_widget_queue_resize (GTK_WIDGET (object)); break; default: diff --git a/gtk/gtktoolpalette.c b/gtk/gtktoolpalette.c index 491cf9e9af..ed3aed282d 100644 --- a/gtk/gtktoolpalette.c +++ b/gtk/gtktoolpalette.c @@ -234,25 +234,6 @@ gtk_tool_palette_reconfigured (GtkToolPalette *palette) } static void -reset_orientation_style (GtkToolPalette *palette) -{ - GtkStyleContext *context; - - context = gtk_widget_get_style_context (GTK_WIDGET (palette)); - - if (palette->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_tool_palette_set_property (GObject *object, guint prop_id, const GValue *value, @@ -282,7 +263,7 @@ gtk_tool_palette_set_property (GObject *object, if ((guint) g_value_get_enum (value) != palette->priv->orientation) { palette->priv->orientation = g_value_get_enum (value); - reset_orientation_style (palette); + _gtk_orientable_set_style_classes (GTK_ORIENTABLE (palette)); gtk_tool_palette_reconfigured (palette); } break; |