[gimp] plug-ins: port remaining plug-ins using old gimp_scale_entry_new().
- From: Jehan <jehanp src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] plug-ins: port remaining plug-ins using old gimp_scale_entry_new().
- Date: Sat, 31 Oct 2020 23:08:49 +0000 (UTC)
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]