[gimp] plug-ins: port remaining plug-ins using old gimp_scale_entry_new().



commit e0854b62b60f378f8ede3177e00071ae8b2251d8
Author: Jehan <jehan girinstud io>
Date:   Sat Oct 31 05:25:51 2020 +0100

    plug-ins: port remaining plug-ins using old gimp_scale_entry_new().

 plug-ins/common/jigsaw.c                           |   2 +-
 plug-ins/map-object/map-object-ui.c                | 264 +++++++-------
 .../selection-to-path/selection-to-path-dialog.c   | 386 ++++++++++-----------
 3 files changed, 325 insertions(+), 327 deletions(-)
---
diff --git a/plug-ins/common/jigsaw.c b/plug-ins/common/jigsaw.c
index 305b0ab53a..e3e239d7cb 100644
--- a/plug-ins/common/jigsaw.c
+++ b/plug-ins/common/jigsaw.c
@@ -2513,7 +2513,7 @@ jigsaw_dialog (GimpDrawable *drawable)
   gtk_grid_attach (GTK_GRID (grid), scale, 0, 0, 3, 1);
   gtk_widget_show (scale);
 
-  gtk_size_group_add_widget (group, GIMP_SCALE_ENTRY_LABEL (scale));
+  gtk_size_group_add_widget (group, gimp_scale_entry_get_label (GIMP_SCALE_ENTRY (scale)));
   g_object_unref (group);
 
   g_signal_connect (scale, "value-changed",
diff --git a/plug-ins/map-object/map-object-ui.c b/plug-ins/map-object/map-object-ui.c
index f476711bcb..7ecb101791 100644
--- a/plug-ins/map-object/map-object-ui.c
+++ b/plug-ins/map-object/map-object-ui.c
@@ -73,6 +73,18 @@ static GtkWidget * create_cylinder_page    (void);
 /* Update angle & position (redraw grid if necessary) */
 /******************************************************/
 
+static void
+scale_entry_update_double (GimpScaleEntry *entry,
+                           gdouble        *value)
+{
+  *value = gimp_scale_entry_get_value (entry);
+
+  if (mapvals.livepreview)
+    compute_preview_image ();
+
+  gtk_widget_queue_draw (previewarea);
+}
+
 static void
 double_adjustment_update (GtkAdjustment *adjustment,
                           gpointer       data)
@@ -423,6 +435,7 @@ create_options_page (void)
   GtkWidget     *toggle;
   GtkWidget     *grid;
   GtkWidget     *spinbutton;
+  GtkWidget     *scale;
   GtkAdjustment *adj;
 
   page = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
@@ -544,15 +557,14 @@ create_options_page (void)
                           grid,   "sensitive",
                           G_BINDING_SYNC_CREATE);
 
-  adj = gimp_scale_entry_new (GTK_GRID (grid), 0, 0,
-                              _("_Depth:"), 0, 0,
-                              mapvals.maxdepth, 1.0, 5.0, 0.1, 1.0,
-                              1, TRUE, 0, 0,
-                              _("Antialiasing quality. Higher is better, "
-                               "but slower"), NULL);
-  g_signal_connect (adj, "value-changed",
-                    G_CALLBACK (gimp_double_adjustment_update),
+  scale = gimp_scale_entry_new2 (_("_Depth:"), mapvals.maxdepth, 1.0, 5.0, 1);
+  gimp_help_set_help_data (scale, _("Antialiasing quality. Higher is better, "
+                                    "but slower"), NULL);
+  g_signal_connect (scale, "value-changed",
+                    G_CALLBACK (scale_entry_update_double),
                     &mapvals.maxdepth);
+  gtk_grid_attach (GTK_GRID (grid), scale, 0, 0, 3, 1);
+  gtk_widget_show (scale);
 
   spinbutton = spin_button_new (&adj, mapvals.pixelthreshold,
                                 0.001, 1000, 0.1, 1, 0, 0, 3);
@@ -942,11 +954,12 @@ create_material_page (void)
 static GtkWidget *
 create_orientation_page (void)
 {
-  GtkSizeGroup  *group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
-  GtkWidget     *page;
-  GtkWidget     *frame;
-  GtkWidget     *grid;
-  GtkAdjustment *adj;
+  GtkSizeGroup *group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
+  GtkWidget    *page;
+  GtkWidget    *frame;
+  GtkWidget    *grid;
+  GtkWidget    *scale;
+  GtkWidget    *spinbutton;
 
   page = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
   gtk_container_set_border_width (GTK_CONTAINER (page), 12);
@@ -961,44 +974,41 @@ create_orientation_page (void)
   gtk_container_add (GTK_CONTAINER (frame), grid);
   gtk_widget_show (grid);
 
-  adj = gimp_scale_entry_new (GTK_GRID (grid), 0, 0,
-                              _("X:"), 0, 0,
-                              mapvals.position.x, -1.0, 2.0, 0.01, 0.1, 5,
-                              TRUE, 0, 0,
-                              _("Object X position in XYZ space"), NULL);
-  gtk_size_group_add_widget (group, GIMP_SCALE_ENTRY_SPINBUTTON (adj));
-  gtk_spin_button_configure (GIMP_SCALE_ENTRY_SPINBUTTON (adj),
-                             GIMP_SCALE_ENTRY_SPINBUTTON_ADJ (adj), 0.01, 5);
+  scale = gimp_scale_entry_new2 (_("X:"), mapvals.position.x, -1.0, 2.0, 5);
+  gimp_help_set_help_data (scale, _("Object X position in XYZ space"), NULL);
+  spinbutton = gimp_scale_entry_get_spin_button (GIMP_SCALE_ENTRY (scale));
+  gtk_size_group_add_widget (group, spinbutton);
+  gtk_spin_button_configure (GTK_SPIN_BUTTON (spinbutton), NULL, 0.01, 5);
 
-  g_signal_connect (adj, "value-changed",
-                    G_CALLBACK (double_adjustment_update),
+  g_signal_connect (scale, "value-changed",
+                    G_CALLBACK (scale_entry_update_double),
                     &mapvals.position.x);
+  gtk_grid_attach (GTK_GRID (grid), scale, 0, 0, 3, 1);
+  gtk_widget_show (scale);
 
-  adj = gimp_scale_entry_new (GTK_GRID (grid), 0, 1,
-                              _("Y:"), 0, 0,
-                              mapvals.position.y, -1.0, 2.0, 0.01, 0.1, 5,
-                              TRUE, 0, 0,
-                              _("Object Y position in XYZ space"), NULL);
-  gtk_size_group_add_widget (group, GIMP_SCALE_ENTRY_SPINBUTTON (adj));
-  gtk_spin_button_configure (GIMP_SCALE_ENTRY_SPINBUTTON (adj),
-                             GIMP_SCALE_ENTRY_SPINBUTTON_ADJ (adj), 0.01, 5);
+  scale = gimp_scale_entry_new2 (_("Y:"), mapvals.position.y, -1.0, 2.0, 5);
+  gimp_help_set_help_data (scale, _("Object Y position in XYZ space"), NULL);
+  spinbutton = gimp_scale_entry_get_spin_button (GIMP_SCALE_ENTRY (scale));
+  gtk_size_group_add_widget (group, spinbutton);
+  gtk_spin_button_configure (GTK_SPIN_BUTTON (spinbutton), NULL, 0.01, 5);
 
-  g_signal_connect (adj, "value-changed",
-                    G_CALLBACK (double_adjustment_update),
+  g_signal_connect (scale, "value-changed",
+                    G_CALLBACK (scale_entry_update_double),
                     &mapvals.position.y);
+  gtk_grid_attach (GTK_GRID (grid), scale, 0, 1, 3, 1);
+  gtk_widget_show (scale);
 
-  adj = gimp_scale_entry_new (GTK_GRID (grid), 0, 2,
-                              _("Z:"), 0, 0,
-                              mapvals.position.z, -1.0, 2.0, 0.01, 0.1, 5,
-                              TRUE, 0, 0,
-                              _("Object Z position in XYZ space"), NULL);
-  gtk_size_group_add_widget (group, GIMP_SCALE_ENTRY_SPINBUTTON (adj));
-  gtk_spin_button_configure (GIMP_SCALE_ENTRY_SPINBUTTON (adj),
-                             GIMP_SCALE_ENTRY_SPINBUTTON_ADJ (adj), 0.01, 5);
+  scale = gimp_scale_entry_new2 (_("Z:"), mapvals.position.z, -1.0, 2.0, 5);
+  gimp_help_set_help_data (scale, _("Object Z position in XYZ space"), NULL);
+  spinbutton = gimp_scale_entry_get_spin_button (GIMP_SCALE_ENTRY (scale));
+  gtk_size_group_add_widget (group, spinbutton);
+  gtk_spin_button_configure (GTK_SPIN_BUTTON (spinbutton), NULL, 0.01, 5);
 
-  g_signal_connect (adj, "value-changed",
-                    G_CALLBACK (double_adjustment_update),
+  g_signal_connect (scale, "value-changed",
+                    G_CALLBACK (scale_entry_update_double),
                     &mapvals.position.z);
+  gtk_grid_attach (GTK_GRID (grid), scale, 0, 2, 3, 1);
+  gtk_widget_show (scale);
 
   frame = gimp_frame_new (_("Rotation"));
   gtk_box_pack_start (GTK_BOX (page), frame, FALSE, FALSE, 0);
@@ -1010,38 +1020,38 @@ create_orientation_page (void)
   gtk_container_add (GTK_CONTAINER (frame), grid);
   gtk_widget_show (grid);
 
-  adj = gimp_scale_entry_new (GTK_GRID (grid), 0, 0,
-                              _("X:"), 0, 0,
-                              mapvals.alpha, -180.0, 180.0, 1.0, 15.0, 1,
-                              TRUE, 0, 0,
-                              _("Rotation angle about X axis"), NULL);
-  gtk_size_group_add_widget (group, GIMP_SCALE_ENTRY_SPINBUTTON (adj));
+  scale = gimp_scale_entry_new2 (_("X:"), mapvals.alpha, -180.0, 180.0, 1);
+  gimp_scale_entry_set_increments (GIMP_SCALE_ENTRY (scale), 1.0, 15.0);
+  gimp_help_set_help_data (scale, _("Rotation angle about X axis"), NULL);
+  gtk_size_group_add_widget (group, gimp_scale_entry_get_spin_button (GIMP_SCALE_ENTRY (scale)));
 
-  g_signal_connect (adj, "value-changed",
-                    G_CALLBACK (double_adjustment_update),
+  g_signal_connect (scale, "value-changed",
+                    G_CALLBACK (scale_entry_update_double),
                     &mapvals.alpha);
+  gtk_grid_attach (GTK_GRID (grid), scale, 0, 0, 3, 1);
+  gtk_widget_show (scale);
 
-  adj = gimp_scale_entry_new (GTK_GRID (grid), 0, 1,
-                              _("Y:"), 0, 0,
-                              mapvals.beta, -180.0, 180.0, 1.0, 15.0, 1,
-                              TRUE, 0, 0,
-                              _("Rotation angle about Y axis"), NULL);
-  gtk_size_group_add_widget (group, GIMP_SCALE_ENTRY_SPINBUTTON (adj));
+  scale = gimp_scale_entry_new2 (_("Y:"), mapvals.beta, -180.0, 180.0, 1);
+  gimp_scale_entry_set_increments (GIMP_SCALE_ENTRY (scale), 1.0, 15.0);
+  gimp_help_set_help_data (scale, _("Rotation angle about Y axis"), NULL);
+  gtk_size_group_add_widget (group, gimp_scale_entry_get_spin_button (GIMP_SCALE_ENTRY (scale)));
 
-  g_signal_connect (adj, "value-changed",
-                    G_CALLBACK (double_adjustment_update),
+  g_signal_connect (scale, "value-changed",
+                    G_CALLBACK (scale_entry_update_double),
                     &mapvals.beta);
+  gtk_grid_attach (GTK_GRID (grid), scale, 0, 1, 3, 1);
+  gtk_widget_show (scale);
 
-  adj = gimp_scale_entry_new (GTK_GRID (grid), 0, 2,
-                              _("Z:"), 0, 0,
-                              mapvals.gamma, -180.0, 180.0, 1.0, 15.0, 1,
-                              TRUE, 0, 0,
-                              _("Rotation angle about Z axis"), NULL);
-  gtk_size_group_add_widget (group, GIMP_SCALE_ENTRY_SPINBUTTON (adj));
+  scale = gimp_scale_entry_new2 (_("Z:"), mapvals.gamma, -180.0, 180.0, 1);
+  gimp_scale_entry_set_increments (GIMP_SCALE_ENTRY (scale), 1.0, 15.0);
+  gimp_help_set_help_data (scale, _("Rotation angle about Z axis"), NULL);
+  gtk_size_group_add_widget (group, gimp_scale_entry_get_spin_button (GIMP_SCALE_ENTRY (scale)));
 
-  g_signal_connect (adj, "value-changed",
-                    G_CALLBACK (double_adjustment_update),
+  g_signal_connect (scale, "value-changed",
+                    G_CALLBACK (scale_entry_update_double),
                     &mapvals.gamma);
+  gtk_grid_attach (GTK_GRID (grid), scale, 0, 2, 3, 1);
+  gtk_widget_show (scale);
 
   gtk_widget_show (page);
 
@@ -1053,12 +1063,13 @@ create_orientation_page (void)
 static GtkWidget *
 create_box_page (void)
 {
-  GtkWidget     *page;
-  GtkWidget     *frame;
-  GtkWidget     *vbox;
-  GtkWidget     *grid;
-  GtkAdjustment *adj;
-  gint           i;
+  GtkWidget *page;
+  GtkWidget *frame;
+  GtkWidget *vbox;
+  GtkWidget *grid;
+  GtkWidget *scale;
+  GtkWidget *spinbutton;
+  gint       i;
 
   static gchar *labels[] =
   {
@@ -1107,41 +1118,41 @@ create_box_page (void)
   gtk_box_pack_start (GTK_BOX (vbox), grid, FALSE, FALSE, 0);
   gtk_widget_show (grid);
 
-  adj = gimp_scale_entry_new (GTK_GRID (grid), 0, 0,
-                              _("Scale X:"), 0, 0,
-                              mapvals.scale.x, 0.0, 5.0, 0.01, 0.1, 2,
-                              TRUE, 0, 0,
-                              _("X scale (size)"), NULL);
-  gtk_spin_button_configure (GIMP_SCALE_ENTRY_SPINBUTTON (adj),
-                             GIMP_SCALE_ENTRY_SPINBUTTON_ADJ (adj), 0.1, 2);
+  scale = gimp_scale_entry_new2 (_("Scale X:"), mapvals.scale.x, 0.0, 5.0, 2);
+  gimp_scale_entry_set_increments (GIMP_SCALE_ENTRY (scale), 0.01, 0.1);
+  gimp_help_set_help_data (scale, _("X scale (size)"), NULL);
+  spinbutton = gimp_scale_entry_get_spin_button (GIMP_SCALE_ENTRY (scale));
+  gtk_spin_button_configure (GTK_SPIN_BUTTON (spinbutton), NULL, 0.1, 2);
 
-  g_signal_connect (adj, "value-changed",
-                    G_CALLBACK (double_adjustment_update),
+  g_signal_connect (scale, "value-changed",
+                    G_CALLBACK (scale_entry_update_double),
                     &mapvals.scale.x);
+  gtk_grid_attach (GTK_GRID (grid), scale, 0, 0, 3, 1);
+  gtk_widget_show (scale);
 
-  adj = gimp_scale_entry_new (GTK_GRID (grid), 0, 1,
-                              _("Y:"), 0, 0,
-                              mapvals.scale.y, 0.0, 5.0, 0.01, 0.1, 2,
-                              TRUE, 0, 0,
-                              _("Y scale (size)"), NULL);
-  gtk_spin_button_configure (GIMP_SCALE_ENTRY_SPINBUTTON (adj),
-                             GIMP_SCALE_ENTRY_SPINBUTTON_ADJ (adj), 0.1, 2);
+  scale = gimp_scale_entry_new2 (_("Y:"), mapvals.scale.y, 0.0, 5.0, 2);
+  gimp_scale_entry_set_increments (GIMP_SCALE_ENTRY (scale), 0.01, 0.1);
+  gimp_help_set_help_data (scale, _("Y scale (size)"), NULL);
+  spinbutton = gimp_scale_entry_get_spin_button (GIMP_SCALE_ENTRY (scale));
+  gtk_spin_button_configure (GTK_SPIN_BUTTON (spinbutton), NULL, 0.1, 2);
 
-  g_signal_connect (adj, "value-changed",
-                    G_CALLBACK (double_adjustment_update),
+  g_signal_connect (scale, "value-changed",
+                    G_CALLBACK (scale_entry_update_double),
                     &mapvals.scale.y);
+  gtk_grid_attach (GTK_GRID (grid), scale, 0, 1, 3, 1);
+  gtk_widget_show (scale);
 
-  adj = gimp_scale_entry_new (GTK_GRID (grid), 0, 2,
-                              _("Z:"), 0, 0,
-                              mapvals.scale.z, 0.0, 5.0, 0.01, 0.1, 2,
-                              TRUE, 0, 0,
-                              _("Z scale (size)"), NULL);
-  gtk_spin_button_configure (GIMP_SCALE_ENTRY_SPINBUTTON (adj),
-                             GIMP_SCALE_ENTRY_SPINBUTTON_ADJ (adj), 0.1, 2);
+  scale = gimp_scale_entry_new2 (_("Z:"), mapvals.scale.z, 0.0, 5.0, 2);
+  gimp_scale_entry_set_increments (GIMP_SCALE_ENTRY (scale), 0.01, 0.1);
+  gimp_help_set_help_data (scale, _("Z scale (size)"), NULL);
+  spinbutton = gimp_scale_entry_get_spin_button (GIMP_SCALE_ENTRY (scale));
+  gtk_spin_button_configure (GTK_SPIN_BUTTON (spinbutton), NULL, 0.1, 2);
 
-  g_signal_connect (adj, "value-changed",
-                    G_CALLBACK (double_adjustment_update),
+  g_signal_connect (scale, "value-changed",
+                    G_CALLBACK (scale_entry_update_double),
                     &mapvals.scale.z);
+  gtk_grid_attach (GTK_GRID (grid), scale, 0, 2, 3, 1);
+  gtk_widget_show (scale);
 
   gtk_widget_show (page);
 
@@ -1151,12 +1162,13 @@ create_box_page (void)
 static GtkWidget *
 create_cylinder_page (void)
 {
-  GtkSizeGroup  *group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
-  GtkWidget     *page;
-  GtkWidget     *frame;
-  GtkWidget     *grid;
-  GtkAdjustment *adj;
-  gint           i;
+  GtkSizeGroup *group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
+  GtkWidget    *page;
+  GtkWidget    *frame;
+  GtkWidget    *grid;
+  GtkWidget    *scale;
+  GtkWidget    *spinbutton;
+  gint          i;
 
   static const gchar *labels[] = { N_("_Top:"), N_("_Bottom:") };
 
@@ -1202,33 +1214,29 @@ create_cylinder_page (void)
   gtk_container_add (GTK_CONTAINER (frame), grid);
   gtk_widget_show (grid);
 
-  adj = gimp_scale_entry_new (GTK_GRID (grid), 0, 0,
-                              _("R_adius:"), 0, 0,
-                              mapvals.cylinder_radius,
-                              0.0, 2.0, 0.01, 0.1, 2,
-                              TRUE, 0, 0,
-                              _("Cylinder radius"), NULL);
-  gtk_size_group_add_widget (group, GIMP_SCALE_ENTRY_LABEL (adj));
-  gtk_spin_button_configure (GIMP_SCALE_ENTRY_SPINBUTTON (adj),
-                             GIMP_SCALE_ENTRY_SPINBUTTON_ADJ (adj), 0.1, 2);
+  scale = gimp_scale_entry_new2 (_("R_adius:"), mapvals.cylinder_radius, 0.0, 2.0, 2);
+  gimp_help_set_help_data (scale, _("Cylinder radius"), NULL);
+  gtk_size_group_add_widget (group, gimp_scale_entry_get_label (GIMP_SCALE_ENTRY (scale)));
+  spinbutton = gimp_scale_entry_get_spin_button (GIMP_SCALE_ENTRY (scale));
+  gtk_spin_button_configure (GTK_SPIN_BUTTON (spinbutton), NULL, 0.1, 2);
 
-  g_signal_connect (adj, "value-changed",
-                    G_CALLBACK (double_adjustment_update),
+  g_signal_connect (scale, "value-changed",
+                    G_CALLBACK (scale_entry_update_double),
                     &mapvals.cylinder_radius);
+  gtk_grid_attach (GTK_GRID (grid), scale, 0, 0, 3, 1);
+  gtk_widget_show (scale);
 
-  adj = gimp_scale_entry_new (GTK_GRID (grid), 0, 1,
-                              _("L_ength:"), 0, 0,
-                              mapvals.cylinder_length,
-                              0.0, 2.0, 0.01, 0.1, 2,
-                              TRUE, 0, 0,
-                              _("Cylinder length"), NULL);
-  gtk_size_group_add_widget (group, GIMP_SCALE_ENTRY_LABEL (adj));
-  gtk_spin_button_configure (GIMP_SCALE_ENTRY_SPINBUTTON (adj),
-                             GIMP_SCALE_ENTRY_SPINBUTTON_ADJ (adj), 0.1, 2);
+  scale = gimp_scale_entry_new2 (_("L_ength:"), mapvals.cylinder_length, 0.0, 2.0, 2);
+  gimp_help_set_help_data (scale, _("Cylinder length"), NULL);
+  gtk_size_group_add_widget (group, gimp_scale_entry_get_label (GIMP_SCALE_ENTRY (scale)));
+  spinbutton = gimp_scale_entry_get_spin_button (GIMP_SCALE_ENTRY (scale));
+  gtk_spin_button_configure (GTK_SPIN_BUTTON (spinbutton), NULL, 0.1, 2);
 
-  g_signal_connect (adj, "value-changed",
-                    G_CALLBACK (double_adjustment_update),
+  g_signal_connect (scale, "value-changed",
+                    G_CALLBACK (scale_entry_update_double),
                     &mapvals.cylinder_length);
+  gtk_grid_attach (GTK_GRID (grid), scale, 0, 1, 3, 1);
+  gtk_widget_show (scale);
 
   gtk_widget_show (page);
 
diff --git a/plug-ins/selection-to-path/selection-to-path-dialog.c 
b/plug-ins/selection-to-path/selection-to-path-dialog.c
index 56fbe3e967..f6363a87da 100644
--- a/plug-ins/selection-to-path/selection-to-path-dialog.c
+++ b/plug-ins/selection-to-path/selection-to-path-dialog.c
@@ -37,12 +37,11 @@
 
 #include "libgimp/stdplugins-intl.h"
 
-#define SCALE_WIDTH  100
-#define SCALE_DIGITS 8
-
 
 static GSList * adjust_widgets = NULL;
 
+void scale_entry_update_double (GimpScaleEntry *entry,
+                                gdouble        *value);
 
 /* Reset to recommended defaults */
 void
@@ -68,6 +67,11 @@ reset_adv_dialog (void)
           gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget),
                                         (gboolean)(*value));
         }
+      else if (GIMP_IS_SCALE_ENTRY (widget))
+        {
+          gimp_scale_entry_set_value (GIMP_SCALE_ENTRY (widget),
+                                      *value);
+        }
       else
         g_warning ("Internal widget list error");
     }
@@ -84,11 +88,11 @@ def_val (gdouble default_value)
 GtkWidget *
 dialog_create_selection_area (SELVALS *sels)
 {
-  GtkWidget     *scrolled_win;
-  GtkWidget     *grid;
-  GtkWidget     *check;
-  GtkAdjustment *adj;
-  gint           row;
+  GtkWidget *scrolled_win;
+  GtkWidget *grid;
+  GtkWidget *check;
+  GtkWidget *scale;
+  gint       row;
 
   scrolled_win = gtk_scrolled_window_new (NULL, NULL);
   gtk_widget_set_size_request (scrolled_win, -1, 400);
@@ -107,161 +111,148 @@ dialog_create_selection_area (SELVALS *sels)
   gtk_widget_show (grid);
   row = 0;
 
-  adj = gimp_scale_entry_new (GTK_GRID (grid), 0, row++,
-                              _("Align Threshold:"), SCALE_WIDTH, SCALE_DIGITS,
-                              sels->align_threshold,
-                              0.2, 2.0, 0.1, 0.1, 2,
-                              TRUE, 0, 0,
-                              _("If two endpoints are closer than this, "
-                                "they are made to be equal."), NULL);
-  g_signal_connect (adj, "value-changed",
-                    G_CALLBACK (gimp_double_adjustment_update),
+  scale = gimp_scale_entry_new2 (_("Align Threshold:"), sels->align_threshold, 0.2, 2.0, 2);
+  gimp_help_set_help_data (scale,
+                           _("If two endpoints are closer than this, "
+                             "they are made to be equal."), NULL);
+  g_signal_connect (scale, "value-changed",
+                    G_CALLBACK (scale_entry_update_double),
                     &sels->align_threshold);
-  adjust_widgets = g_slist_append (adjust_widgets, adj);
-  g_object_set_data (G_OBJECT (adj), "default_value", def_val (0.5));
-
-  adj = gimp_scale_entry_new (GTK_GRID (grid), 0, row++,
-                              _("Corner Always Threshold:"), SCALE_WIDTH, SCALE_DIGITS,
-                              sels->corner_always_threshold,
-                              30, 180, 1, 1, 2,
-                              TRUE, 0, 0,
+  adjust_widgets = g_slist_append (adjust_widgets, scale);
+  g_object_set_data (G_OBJECT (scale), "default_value", def_val (0.5));
+  gtk_grid_attach (GTK_GRID (grid), scale, 0, row++, 3, 1);
+  gtk_widget_show (scale);
+
+  scale = gimp_scale_entry_new2 (_("Corner Always Threshold:"), sels->corner_always_threshold, 30, 180, 2);
+  gimp_help_set_help_data (scale,
                               _("If the angle defined by a point and its predecessors "
                                 "and successors is smaller than this, it's a corner, "
                                 "even if it's within 'corner_surround' pixels of a "
                                 "point with a smaller angle."), NULL);
-  g_signal_connect (adj, "value-changed",
-                    G_CALLBACK (gimp_double_adjustment_update),
+  g_signal_connect (scale, "value-changed",
+                    G_CALLBACK (scale_entry_update_double),
                     &sels->corner_always_threshold);
-  adjust_widgets = g_slist_append (adjust_widgets, adj);
-  g_object_set_data (G_OBJECT (adj), "default_value", def_val (60.0));
-
-  adj = gimp_scale_entry_new (GTK_GRID (grid), 0, row++,
-                              _("Corner Surround:"), SCALE_WIDTH, SCALE_DIGITS,
-                              sels->corner_surround,
-                              3, 8, 1, 1, 0,
-                              TRUE, 0, 0,
+  adjust_widgets = g_slist_append (adjust_widgets, scale);
+  g_object_set_data (G_OBJECT (scale), "default_value", def_val (60.0));
+  gtk_grid_attach (GTK_GRID (grid), scale, 0, row++, 3, 1);
+  gtk_widget_show (scale);
+
+  scale = gimp_scale_entry_new2 (_("Corner Surround:"), sels->corner_surround, 3, 8, 0);
+  gimp_help_set_help_data (scale,
                               _("Number of points to consider when determining if a "
                                 "point is a corner or not."), NULL);
-  g_signal_connect (adj, "value-changed",
-                    G_CALLBACK (gimp_double_adjustment_update),
+  g_signal_connect (scale, "value-changed",
+                    G_CALLBACK (scale_entry_update_double),
                     &sels->corner_surround);
-  adjust_widgets = g_slist_append (adjust_widgets, adj);
-  g_object_set_data (G_OBJECT (adj), "default_value", def_val (4.0));
-
-  adj = gimp_scale_entry_new (GTK_GRID (grid), 0, row++,
-                              _("Corner Threshold:"), SCALE_WIDTH, SCALE_DIGITS,
-                              sels->corner_threshold,
-                              0, 180, 1, 1, 2,
-                              TRUE, 0, 0,
+  adjust_widgets = g_slist_append (adjust_widgets, scale);
+  g_object_set_data (G_OBJECT (scale), "default_value", def_val (4.0));
+  gtk_grid_attach (GTK_GRID (grid), scale, 0, row++, 3, 1);
+  gtk_widget_show (scale);
+
+  scale = gimp_scale_entry_new2 (_("Corner Threshold:"), sels->corner_threshold, 0, 180, 2);
+  gimp_help_set_help_data (scale,
                               _("If a point, its predecessors, and its successors "
                                 "define an angle smaller than this, it's a corner."),
                               NULL);
-  g_signal_connect (adj, "value-changed",
-                    G_CALLBACK (gimp_double_adjustment_update),
+  g_signal_connect (scale, "value-changed",
+                    G_CALLBACK (scale_entry_update_double),
                     &sels->corner_threshold);
-  adjust_widgets = g_slist_append (adjust_widgets, adj);
-  g_object_set_data (G_OBJECT (adj), "default_value", def_val (100.0));
+  adjust_widgets = g_slist_append (adjust_widgets, scale);
+  g_object_set_data (G_OBJECT (scale), "default_value", def_val (100.0));
+  gtk_grid_attach (GTK_GRID (grid), scale, 0, row++, 3, 1);
+  gtk_widget_show (scale);
 
-
-  adj = gimp_scale_entry_new (GTK_GRID (grid), 0, row++,
-                              _("Error Threshold:"), SCALE_WIDTH, SCALE_DIGITS,
-                              sels->error_threshold,
-                              0.2, 10, 0.1, 0.1, 2,
-                              TRUE, 0, 0,
+  scale = gimp_scale_entry_new2 (_("Error Threshold:"), sels->error_threshold, 0.2, 10, 2);
+  gimp_help_set_help_data (scale,
                               _("Amount of error at which a fitted spline is "
                                 "unacceptable. If any pixel is further away "
                                 "than this from the fitted curve, we try again."),
                               NULL);
-  g_signal_connect (adj, "value-changed",
-                    G_CALLBACK (gimp_double_adjustment_update),
+  g_signal_connect (scale, "value-changed",
+                    G_CALLBACK (scale_entry_update_double),
                     &sels->error_threshold);
-  adjust_widgets = g_slist_append (adjust_widgets, adj);
-  g_object_set_data (G_OBJECT (adj), "default_value", def_val (0.40));
-
-  adj = gimp_scale_entry_new (GTK_GRID (grid), 0, row++,
-                              _("Filter Alternative Surround:"), SCALE_WIDTH, SCALE_DIGITS,
-                              sels->filter_alternative_surround,
-                              1, 10, 1, 1, 0,
-                              TRUE, 0, 0,
+  adjust_widgets = g_slist_append (adjust_widgets, scale);
+  g_object_set_data (G_OBJECT (scale), "default_value", def_val (0.40));
+  gtk_grid_attach (GTK_GRID (grid), scale, 0, row++, 3, 1);
+  gtk_widget_show (scale);
+
+  scale = gimp_scale_entry_new2 (_("Filter Alternative Surround:"), sels->filter_alternative_surround, 1, 
10, 0);
+  gimp_help_set_help_data (scale,
                               _("A second number of adjacent points to consider "
                                 "when filtering."), NULL);
-  g_signal_connect (adj, "value-changed",
-                    G_CALLBACK (gimp_double_adjustment_update),
+  g_signal_connect (scale, "value-changed",
+                    G_CALLBACK (scale_entry_update_double),
                     &sels->filter_alternative_surround);
-  adjust_widgets = g_slist_append (adjust_widgets, adj);
-  g_object_set_data (G_OBJECT (adj), "default_value", def_val (1.0));
-
+  adjust_widgets = g_slist_append (adjust_widgets, scale);
+  g_object_set_data (G_OBJECT (scale), "default_value", def_val (1.0));
+  gtk_grid_attach (GTK_GRID (grid), scale, 0, row++, 3, 1);
+  gtk_widget_show (scale);
 
-  adj = gimp_scale_entry_new (GTK_GRID (grid), 0, row++,
-                              _("Filter Epsilon:"), SCALE_WIDTH, SCALE_DIGITS,
-                              sels->filter_epsilon,
-                              5, 40, 1, 1, 2,
-                              TRUE, 0, 0,
+  scale = gimp_scale_entry_new2 (_("Filter Epsilon:"), sels->filter_epsilon, 5, 40, 2);
+  gimp_help_set_help_data (scale,
                               _("If the angles between the vectors produced by "
                                 "filter_surround and filter_alternative_surround "
                                 "points differ by more than this, use the one from "
                                 "filter_alternative_surround."), NULL);
-  g_signal_connect (adj, "value-changed",
-                    G_CALLBACK (gimp_double_adjustment_update),
+  g_signal_connect (scale, "value-changed",
+                    G_CALLBACK (scale_entry_update_double),
                     &sels->filter_epsilon);
-  adjust_widgets = g_slist_append (adjust_widgets, adj);
-  g_object_set_data (G_OBJECT (adj), "default_value", def_val (10.0));
-
-  adj = gimp_scale_entry_new (GTK_GRID (grid), 0, row++,
-                              _("Filter Iteration Count:"), SCALE_WIDTH, SCALE_DIGITS,
-                              sels->filter_iteration_count,
-                              4, 70, 1, 1, 0,
-                              TRUE, 0, 0,
+  adjust_widgets = g_slist_append (adjust_widgets, scale);
+  g_object_set_data (G_OBJECT (scale), "default_value", def_val (10.0));
+  gtk_grid_attach (GTK_GRID (grid), scale, 0, row++, 3, 1);
+  gtk_widget_show (scale);
+
+  scale = gimp_scale_entry_new2 (_("Filter Iteration Count:"), sels->filter_iteration_count, 4, 70, 0);
+  gimp_help_set_help_data (scale,
                               _("Number of times to smooth original data points.  "
                                 "Increasing this number dramatically --- to 50 or "
                                 "so --- can produce vastly better results. But if "
                                 "any points that 'should' be corners aren't found, "
                                 "the curve goes to hell around that point."), NULL);
-  g_signal_connect (adj, "value-changed",
-                    G_CALLBACK (gimp_double_adjustment_update),
+  g_signal_connect (scale, "value-changed",
+                    G_CALLBACK (scale_entry_update_double),
                     &sels->filter_iteration_count);
-  adjust_widgets = g_slist_append (adjust_widgets, adj);
-  g_object_set_data (G_OBJECT (adj), "default_value", def_val (4.0));
-
-  adj = gimp_scale_entry_new (GTK_GRID (grid), 0, row++,
-                              _("Filter Percent:"), SCALE_WIDTH, SCALE_DIGITS,
-                              sels->filter_percent,
-                              0, 1, 0.05, 0.01, 2,
-                              TRUE, 0, 0,
+  adjust_widgets = g_slist_append (adjust_widgets, scale);
+  g_object_set_data (G_OBJECT (scale), "default_value", def_val (4.0));
+  gtk_grid_attach (GTK_GRID (grid), scale, 0, row++, 3, 1);
+  gtk_widget_show (scale);
+
+  scale = gimp_scale_entry_new2 (_("Filter Percent:"), sels->filter_percent, 0, 1, 2);
+  gimp_help_set_help_data (scale,
                               _("To produce the new point, use the old point plus "
                                 "this times the neighbors."), NULL);
-  g_signal_connect (adj, "value-changed",
-                    G_CALLBACK (gimp_double_adjustment_update),
+  g_signal_connect (scale, "value-changed",
+                    G_CALLBACK (scale_entry_update_double),
                     &sels->filter_percent);
-  adjust_widgets = g_slist_append (adjust_widgets, adj);
-  g_object_set_data (G_OBJECT (adj), "default_value", def_val (0.33));
-
-  adj = gimp_scale_entry_new (GTK_GRID (grid), 0, row++,
-                              _("Filter Secondary Surround:"), SCALE_WIDTH, SCALE_DIGITS,
-                              sels->filter_secondary_surround,
-                              3, 10, 1, 1, 0,
-                              TRUE, 0, 0,
+  adjust_widgets = g_slist_append (adjust_widgets, scale);
+  g_object_set_data (G_OBJECT (scale), "default_value", def_val (0.33));
+  gtk_grid_attach (GTK_GRID (grid), scale, 0, row++, 3, 1);
+  gtk_widget_show (scale);
+
+  scale = gimp_scale_entry_new2 (_("Filter Secondary Surround:"), sels->filter_secondary_surround, 3, 10, 0);
+  gimp_help_set_help_data (scale,
                               _("Number of adjacent points to consider if "
                                 "'filter_surround' points defines a straight line."),
                               NULL);
-  g_signal_connect (adj, "value-changed",
-                    G_CALLBACK (gimp_double_adjustment_update),
+  g_signal_connect (scale, "value-changed",
+                    G_CALLBACK (scale_entry_update_double),
                     &sels->filter_secondary_surround);
-  adjust_widgets = g_slist_append (adjust_widgets, adj);
-  g_object_set_data (G_OBJECT (adj), "default_value", def_val (3.0));
-
-  adj = gimp_scale_entry_new (GTK_GRID (grid), 0, row++,
-                              _("Filter Surround:"), SCALE_WIDTH, SCALE_DIGITS,
-                              sels->filter_surround,
-                              2, 10, 1, 1, 0,
-                              TRUE, 0, 0,
+  adjust_widgets = g_slist_append (adjust_widgets, scale);
+  g_object_set_data (G_OBJECT (scale), "default_value", def_val (3.0));
+  gtk_grid_attach (GTK_GRID (grid), scale, 0, row++, 3, 1);
+  gtk_widget_show (scale);
+
+  scale = gimp_scale_entry_new2 (_("Filter Surround:"), sels->filter_surround, 2, 10, 0);
+  gimp_help_set_help_data (scale,
                               _("Number of adjacent points to consider when filtering."),
                               NULL);
-  g_signal_connect (adj, "value-changed",
-                    G_CALLBACK (gimp_double_adjustment_update),
+  g_signal_connect (scale, "value-changed",
+                    G_CALLBACK (scale_entry_update_double),
                     &sels->filter_surround);
-  adjust_widgets = g_slist_append (adjust_widgets, adj);
-  g_object_set_data (G_OBJECT (adj), "default_value", def_val (2.0));
+  adjust_widgets = g_slist_append (adjust_widgets, scale);
+  g_object_set_data (G_OBJECT (scale), "default_value", def_val (2.0));
+  gtk_grid_attach (GTK_GRID (grid), scale, 0, row++, 3, 1);
+  gtk_widget_show (scale);
 
   check = gtk_check_button_new_with_label (_("Keep Knees"));
   gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check), sels->keep_knees);
@@ -277,121 +268,120 @@ dialog_create_selection_area (SELVALS *sels)
   g_object_set_data (G_OBJECT (check), "default_value", def_val ((gdouble)FALSE));
   row++;
 
-  adj = gimp_scale_entry_new (GTK_GRID (grid), 0, row++,
-                              _("Line Reversion Threshold:"), SCALE_WIDTH, SCALE_DIGITS,
-                              sels->line_reversion_threshold,
-                              0.01, 0.2, 0.01, 0.01, 3,
-                              TRUE, 0, 0,
+  scale = gimp_scale_entry_new2 (_("Line Reversion Threshold:"), sels->line_reversion_threshold, 0.01, 0.2, 
3);
+  gimp_help_set_help_data (scale,
                               _("If a spline is closer to a straight line than this, "
                                 "it remains a straight line, even if it would otherwise "
                                 "be changed back to a curve. This is weighted by the "
                                 "square of the curve length, to make shorter curves "
                                 "more likely to be reverted."), NULL);
-  g_signal_connect (adj, "value-changed",
-                    G_CALLBACK (gimp_double_adjustment_update),
+  g_signal_connect (scale, "value-changed",
+                    G_CALLBACK (scale_entry_update_double),
                     &sels->line_reversion_threshold);
-  adjust_widgets = g_slist_append (adjust_widgets, adj);
-  g_object_set_data (G_OBJECT (adj), "default_value", def_val (0.01));
-
-  adj = gimp_scale_entry_new (GTK_GRID (grid), 0, row++,
-                              _("Line Threshold:"), SCALE_WIDTH, SCALE_DIGITS,
-                              sels->line_threshold,
-                              0.2, 4, 0.1, 0.01, 2,
-                              TRUE, 0, 0,
+  adjust_widgets = g_slist_append (adjust_widgets, scale);
+  g_object_set_data (G_OBJECT (scale), "default_value", def_val (0.01));
+  gtk_grid_attach (GTK_GRID (grid), scale, 0, row++, 3, 1);
+  gtk_widget_show (scale);
+
+  scale = gimp_scale_entry_new2 (_("Line Threshold:"), sels->line_threshold, 0.2, 4, 2);
+  gimp_help_set_help_data (scale,
                               _("How many pixels (on the average) a spline can "
                                 "diverge from the line determined by its endpoints "
                                 "before it is changed to a straight line."), NULL);
-  g_signal_connect (adj, "value-changed",
-                    G_CALLBACK (gimp_double_adjustment_update),
+  g_signal_connect (scale, "value-changed",
+                    G_CALLBACK (scale_entry_update_double),
                     &sels->line_threshold);
-  adjust_widgets = g_slist_append (adjust_widgets, adj);
-  g_object_set_data (G_OBJECT (adj), "default_value", def_val (0.5));
-
-  adj = gimp_scale_entry_new (GTK_GRID (grid), 0, row++,
-                              _("Reparametrize Improvement:"), SCALE_WIDTH, SCALE_DIGITS,
-                              sels->reparameterize_improvement,
-                              0, 1, 0.05, 0.01, 2,
-                              TRUE, 0, 0,
+  adjust_widgets = g_slist_append (adjust_widgets, scale);
+  g_object_set_data (G_OBJECT (scale), "default_value", def_val (0.5));
+  gtk_grid_attach (GTK_GRID (grid), scale, 0, row++, 3, 1);
+  gtk_widget_show (scale);
+
+  scale = gimp_scale_entry_new2 (_("Reparametrize Improvement:"), sels->reparameterize_improvement, 0, 1, 2);
+  gimp_help_set_help_data (scale,
                               _("If reparameterization doesn't improve the fit by this "
                                 "much percent, stop doing it. ""Amount of error at which "
                                 "it is pointless to reparameterize."), NULL);
-  g_signal_connect (adj, "value-changed",
-                    G_CALLBACK (gimp_double_adjustment_update),
+  g_signal_connect (scale, "value-changed",
+                    G_CALLBACK (scale_entry_update_double),
                     &sels->reparameterize_improvement);
-  adjust_widgets = g_slist_append (adjust_widgets, adj);
-  g_object_set_data (G_OBJECT (adj), "default_value", def_val (0.01));
-
-  adj = gimp_scale_entry_new (GTK_GRID (grid), 0, row++,
-                              _("Reparametrize Threshold:"), SCALE_WIDTH, SCALE_DIGITS,
-                              sels->reparameterize_threshold,
-                              1, 50, 0.5, 0.5, 2,
-                              TRUE, 0, 0,
+  adjust_widgets = g_slist_append (adjust_widgets, scale);
+  g_object_set_data (G_OBJECT (scale), "default_value", def_val (0.01));
+  gtk_grid_attach (GTK_GRID (grid), scale, 0, row++, 3, 1);
+  gtk_widget_show (scale);
+
+  scale = gimp_scale_entry_new2 (_("Reparametrize Threshold:"), sels->reparameterize_threshold, 1, 50, 2);
+  gimp_help_set_help_data (scale,
                               _("Amount of error at which it is pointless to reparameterize.  "
                                 "This happens, for example, when we are trying to fit the "
                                 "outline of the outside of an 'O' with a single spline. "
                                 "The initial fit is not good enough for the Newton-Raphson "
                                 "iteration to improve it.  It may be that it would be better "
                                 "to detect the cases where we didn't find any corners."), NULL);
-  g_signal_connect (adj, "value-changed",
-                    G_CALLBACK (gimp_double_adjustment_update),
+  g_signal_connect (scale, "value-changed",
+                    G_CALLBACK (scale_entry_update_double),
                     &sels->reparameterize_threshold);
-  adjust_widgets = g_slist_append (adjust_widgets, adj);
-  g_object_set_data (G_OBJECT (adj), "default_value", def_val (1.0));
-
-  adj = gimp_scale_entry_new (GTK_GRID (grid), 0, row++,
-                              _("Subdivide Search:"), SCALE_WIDTH, SCALE_DIGITS,
-                              sels->subdivide_search,
-                              0.05, 1, 0.05, 0.01, 2,
-                              TRUE, 0, 0,
+  adjust_widgets = g_slist_append (adjust_widgets, scale);
+  g_object_set_data (G_OBJECT (scale), "default_value", def_val (1.0));
+  gtk_grid_attach (GTK_GRID (grid), scale, 0, row++, 3, 1);
+  gtk_widget_show (scale);
+
+  scale = gimp_scale_entry_new2 (_("Subdivide Search:"), sels->subdivide_search, 0.05, 1, 2);
+  gimp_help_set_help_data (scale,
                               _("Percentage of the curve away from the worst point "
                                 "to look for a better place to subdivide."), NULL);
-  g_signal_connect (adj, "value-changed",
-                    G_CALLBACK (gimp_double_adjustment_update),
+  g_signal_connect (scale, "value-changed",
+                    G_CALLBACK (scale_entry_update_double),
                     &sels->subdivide_search);
-  adjust_widgets = g_slist_append (adjust_widgets, adj);
-  g_object_set_data (G_OBJECT (adj), "default_value", def_val (0.1));
-
-  adj = gimp_scale_entry_new (GTK_GRID (grid), 0, row++,
-                              _("Subdivide Surround:"), SCALE_WIDTH, SCALE_DIGITS,
-                              sels->subdivide_surround,
-                              2, 10, 1, 1, 0,
-                              TRUE, 0, 0,
+  adjust_widgets = g_slist_append (adjust_widgets, scale);
+  g_object_set_data (G_OBJECT (scale), "default_value", def_val (0.1));
+  gtk_grid_attach (GTK_GRID (grid), scale, 0, row++, 3, 1);
+  gtk_widget_show (scale);
+
+  scale = gimp_scale_entry_new2 (_("Subdivide Surround:"), sels->subdivide_surround, 2, 10, 0);
+  gimp_help_set_help_data (scale,
                               _("Number of points to consider when deciding whether "
                                 "a given point is a better place to subdivide."),
                               NULL);
-  g_signal_connect (adj, "value-changed",
-                    G_CALLBACK (gimp_double_adjustment_update),
+  g_signal_connect (scale, "value-changed",
+                    G_CALLBACK (scale_entry_update_double),
                     &sels->subdivide_surround);
-  adjust_widgets = g_slist_append (adjust_widgets, adj);
-  g_object_set_data (G_OBJECT (adj), "default_value", def_val (4.0));
-
-  adj = gimp_scale_entry_new (GTK_GRID (grid), 0, row++,
-                              _("Subdivide Threshold:"), SCALE_WIDTH, SCALE_DIGITS,
-                              sels->subdivide_threshold,
-                              0.01, 1, 0.01, 0.01, 2,
-                              TRUE, 0, 0,
+  adjust_widgets = g_slist_append (adjust_widgets, scale);
+  g_object_set_data (G_OBJECT (scale), "default_value", def_val (4.0));
+  gtk_grid_attach (GTK_GRID (grid), scale, 0, row++, 3, 1);
+  gtk_widget_show (scale);
+
+  scale = gimp_scale_entry_new2 (_("Subdivide Threshold:"), sels->subdivide_threshold, 0.01, 1, 2);
+  gimp_help_set_help_data (scale,
                               _("How many pixels a point can diverge from a straight "
                                 "line and still be considered a better place to "
                                 "subdivide."), NULL);
-  g_signal_connect (adj, "value-changed",
-                    G_CALLBACK (gimp_double_adjustment_update),
+  g_signal_connect (scale, "value-changed",
+                    G_CALLBACK (scale_entry_update_double),
                     &sels->subdivide_threshold);
-  adjust_widgets = g_slist_append (adjust_widgets, adj);
-  g_object_set_data (G_OBJECT (adj), "default_value", def_val (0.03));
-
-  adj = gimp_scale_entry_new (GTK_GRID (grid), 0, row++,
-                              _("Tangent Surround:"), SCALE_WIDTH, SCALE_DIGITS,
-                              sels->tangent_surround,
-                              2, 10, 1, 1, 0,
-                              TRUE, 0, 0,
+  adjust_widgets = g_slist_append (adjust_widgets, scale);
+  g_object_set_data (G_OBJECT (scale), "default_value", def_val (0.03));
+  gtk_grid_attach (GTK_GRID (grid), scale, 0, row++, 3, 1);
+  gtk_widget_show (scale);
+
+  scale = gimp_scale_entry_new2 (_("Tangent Surround:"), sels->tangent_surround, 2, 10, 0);
+  gimp_help_set_help_data (scale,
                               _("Number of points to look at on either side of a "
                                 "point when computing the approximation to the "
                                 "tangent at that point."), NULL);
-  g_signal_connect (adj, "value-changed",
-                    G_CALLBACK (gimp_double_adjustment_update),
+  g_signal_connect (scale, "value-changed",
+                    G_CALLBACK (scale_entry_update_double),
                     &sels->tangent_surround);
-  adjust_widgets = g_slist_append (adjust_widgets, adj);
-  g_object_set_data (G_OBJECT (adj), "default_value", def_val (3.0));
+  adjust_widgets = g_slist_append (adjust_widgets, scale);
+  g_object_set_data (G_OBJECT (scale), "default_value", def_val (3.0));
+  gtk_grid_attach (GTK_GRID (grid), scale, 0, row++, 3, 1);
+  gtk_widget_show (scale);
 
   return scrolled_win;
 }
+
+void
+scale_entry_update_double (GimpScaleEntry *entry,
+                           gdouble        *value)
+{
+  *value = gimp_scale_entry_get_value (entry);
+}



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]