add static function gtk_scale_button_set_orientation_private() and use it

2009-03-18  Michael Natterer  <mitch@gimp.org>

	* gtk/gtkscalebutton.c: add static function
	gtk_scale_button_set_orientation_private() and use it instead of
	the public but deprecated gtk_scale_button_set_orientation().


svn path=/trunk/; revision=22574
This commit is contained in:
Michael Natterer 2009-03-18 21:19:07 +00:00 committed by Michael Natterer
parent 6a14ed9b64
commit 576ef4d6ea
2 changed files with 60 additions and 47 deletions

View File

@ -1,3 +1,9 @@
2009-03-18 Michael Natterer <mitch@gimp.org>
* gtk/gtkscalebutton.c: add static function
gtk_scale_button_set_orientation_private() and use it instead of
the public but deprecated gtk_scale_button_set_orientation().
2009-03-17 Tor Lillqvist <tml@novell.com>
Bug 575700 - Crash when moving a GtkWindow

View File

@ -119,6 +119,8 @@ static void gtk_scale_button_get_property (GObject *object,
guint prop_id,
GValue *value,
GParamSpec *pspec);
static void gtk_scale_button_set_orientation_private (GtkScaleButton *button,
GtkOrientation orientation);
static gboolean gtk_scale_button_scroll (GtkWidget *widget,
GdkEventScroll *event);
static void gtk_scale_button_screen_changed (GtkWidget *widget,
@ -434,7 +436,7 @@ gtk_scale_button_set_property (GObject *object,
switch (prop_id)
{
case PROP_ORIENTATION:
gtk_scale_button_set_orientation (button, g_value_get_enum (value));
gtk_scale_button_set_orientation_private (button, g_value_get_enum (value));
break;
case PROP_VALUE:
gtk_scale_button_set_value (button, g_value_get_double (value));
@ -739,54 +741,9 @@ void
gtk_scale_button_set_orientation (GtkScaleButton *button,
GtkOrientation orientation)
{
GtkScaleButtonPrivate *priv;
g_return_if_fail (GTK_IS_SCALE_BUTTON (button));
priv = button->priv;
if (orientation != priv->orientation)
{
priv->orientation = orientation;
gtk_orientable_set_orientation (GTK_ORIENTABLE (priv->box),
orientation);
gtk_container_child_set (GTK_CONTAINER (priv->box),
button->plus_button,
"pack-type",
orientation == GTK_ORIENTATION_VERTICAL ?
GTK_PACK_START : GTK_PACK_END,
NULL);
gtk_container_child_set (GTK_CONTAINER (priv->box),
button->minus_button,
"pack-type",
orientation == GTK_ORIENTATION_VERTICAL ?
GTK_PACK_END : GTK_PACK_START,
NULL);
gtk_orientable_set_orientation (GTK_ORIENTABLE (priv->scale),
orientation);
if (orientation == GTK_ORIENTATION_VERTICAL)
{
gtk_widget_set_size_request (GTK_WIDGET (priv->scale),
-1, SCALE_SIZE);
gtk_range_set_inverted (GTK_RANGE (priv->scale), TRUE);
}
else
{
gtk_widget_set_size_request (GTK_WIDGET (priv->scale),
SCALE_SIZE, -1);
gtk_range_set_inverted (GTK_RANGE (priv->scale), FALSE);
}
/* FIXME: without this, the popup window appears as a square
* after changing the orientation
*/
gtk_window_resize (GTK_WINDOW (priv->dock), 1, 1);
g_object_notify (G_OBJECT (button), "orientation");
}
gtk_scale_button_set_orientation_private (button, orientation);
}
/**
@ -843,6 +800,56 @@ gtk_scale_button_get_popup (GtkScaleButton *button)
return button->priv->dock;
}
static void
gtk_scale_button_set_orientation_private (GtkScaleButton *button,
GtkOrientation orientation)
{
GtkScaleButtonPrivate *priv = button->priv;
if (orientation != priv->orientation)
{
priv->orientation = orientation;
gtk_orientable_set_orientation (GTK_ORIENTABLE (priv->box),
orientation);
gtk_container_child_set (GTK_CONTAINER (priv->box),
button->plus_button,
"pack-type",
orientation == GTK_ORIENTATION_VERTICAL ?
GTK_PACK_START : GTK_PACK_END,
NULL);
gtk_container_child_set (GTK_CONTAINER (priv->box),
button->minus_button,
"pack-type",
orientation == GTK_ORIENTATION_VERTICAL ?
GTK_PACK_END : GTK_PACK_START,
NULL);
gtk_orientable_set_orientation (GTK_ORIENTABLE (priv->scale),
orientation);
if (orientation == GTK_ORIENTATION_VERTICAL)
{
gtk_widget_set_size_request (GTK_WIDGET (priv->scale),
-1, SCALE_SIZE);
gtk_range_set_inverted (GTK_RANGE (priv->scale), TRUE);
}
else
{
gtk_widget_set_size_request (GTK_WIDGET (priv->scale),
SCALE_SIZE, -1);
gtk_range_set_inverted (GTK_RANGE (priv->scale), FALSE);
}
/* FIXME: without this, the popup window appears as a square
* after changing the orientation
*/
gtk_window_resize (GTK_WINDOW (priv->dock), 1, 1);
g_object_notify (G_OBJECT (button), "orientation");
}
}
/*
* button callbacks.
*/