summaryrefslogtreecommitdiff
path: root/gtk
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2011-01-12 22:55:55 +0100
committerCarlos Garnacho <carlosg@gnome.org>2011-01-12 22:58:41 +0100
commite2e7075533b003f54ed0852af8595d3ef4f23b01 (patch)
treece65645fa59ed53ee5b8d52010e3ef6a8f466980 /gtk
parentb6464b6c0a467226057e21d7f35e8afa50321422 (diff)
downloadgtk+-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.c20
-rw-r--r--gtk/gtkcellview.c21
-rw-r--r--gtk/gtkgrid.c14
-rw-r--r--gtk/gtkorientable.c41
-rw-r--r--gtk/gtkorientable.h3
-rw-r--r--gtk/gtkprogressbar.c14
-rw-r--r--gtk/gtkseparator.c21
-rw-r--r--gtk/gtktoolpalette.c21
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;