+static void
+gtk_tool_palette_set_hadjustment (GtkToolPalette *palette,
+ GtkAdjustment *adjustment)
+{
+ GtkToolPalettePrivate *priv = palette->priv;
+
+ if (adjustment && priv->hadjustment == adjustment)
+ return;
+
+ if (priv->hadjustment != NULL)
+ {
+ g_signal_handlers_disconnect_by_func (priv->hadjustment,
+ gtk_tool_palette_adjustment_value_changed,
+ palette);
+ g_object_unref (priv->hadjustment);
+ }
+
+ if (adjustment == NULL)
+ adjustment = gtk_adjustment_new (0.0, 0.0, 0.0,
+ 0.0, 0.0, 0.0);
+
+ g_signal_connect (adjustment, "value-changed",
+ G_CALLBACK (gtk_tool_palette_adjustment_value_changed),
+ palette);
+ priv->hadjustment = g_object_ref_sink (adjustment);
+ /* FIXME: Adjustment should probably have its values updated now */
+ g_object_notify (G_OBJECT (palette), "hadjustment");
+}
+