set color buttons to continuous update. Minor code cleanup.

2003-11-11  Sven Neumann  <sven@gimp.org>

	* plug-ins/script-fu/script-fu-scripts.c: set color buttons to
	continuous update. Minor code cleanup.
This commit is contained in:
Sven Neumann
2003-11-11 19:22:35 +00:00
committed by Sven Neumann
parent 8b2fba9e42
commit b41bbb60de
3 changed files with 397 additions and 392 deletions

View File

@ -1,3 +1,8 @@
2003-11-11 Sven Neumann <sven@gimp.org>
* plug-ins/script-fu/script-fu-scripts.c: set color buttons to
continuous update. Minor code cleanup.
2003-11-11 Dave Neary <bolsh@gimp.org>
* app/widgets/gimpdataeditor.c: Save data before disposing of

View File

@ -1195,6 +1195,7 @@ script_fu_interface (SFScript *script)
for (i = start_args; i < script->num_args; i++)
{
GtkWidget *widget = NULL;
gchar *label_text;
gfloat label_yalign = 0.5;
gboolean widget_leftalign = TRUE;
@ -1210,7 +1211,7 @@ script_fu_interface (SFScript *script)
case SF_DRAWABLE:
case SF_LAYER:
case SF_CHANNEL:
sf_interface->args_widgets[i] = gtk_option_menu_new ();
widget = gtk_option_menu_new ();
switch (script->arg_types[i])
{
case SF_IMAGE:
@ -1241,19 +1242,18 @@ script_fu_interface (SFScript *script)
menu = NULL;
break;
}
gtk_option_menu_set_menu (GTK_OPTION_MENU (sf_interface->args_widgets[i]),
menu);
gtk_option_menu_set_menu (GTK_OPTION_MENU (widget), menu);
break;
case SF_COLOR:
sf_interface->args_widgets[i] =
gimp_color_button_new (_("Script-Fu Color Selection"),
COLOR_SAMPLE_WIDTH, COLOR_SAMPLE_HEIGHT,
widget = gimp_color_button_new (_("Script-Fu Color Selection"),
COLOR_SAMPLE_WIDTH,
COLOR_SAMPLE_HEIGHT,
&script->arg_values[i].sfa_color,
GIMP_COLOR_AREA_FLAT);
g_signal_connect (sf_interface->args_widgets[i],
"color_changed",
gimp_color_button_set_update (GIMP_COLOR_BUTTON (widget), TRUE);
g_signal_connect (widget, "color_changed",
G_CALLBACK (gimp_color_button_get_color),
&script->arg_values[i].sfa_color);
break;
@ -1261,13 +1261,11 @@ script_fu_interface (SFScript *script)
case SF_TOGGLE:
g_free (label_text);
label_text = NULL;
sf_interface->args_widgets[i] =
gtk_check_button_new_with_mnemonic (gettext (script->arg_labels[i]));
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sf_interface->args_widgets[i]),
widget = gtk_check_button_new_with_mnemonic (gettext (script->arg_labels[i]));
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget),
script->arg_values[i].sfa_toggle);
g_signal_connect (sf_interface->args_widgets[i],
"toggled",
g_signal_connect (widget, "toggled",
G_CALLBACK (gimp_toggle_button_update),
&script->arg_values[i].sfa_toggle);
break;
@ -1276,10 +1274,9 @@ script_fu_interface (SFScript *script)
case SF_STRING:
widget_leftalign = FALSE;
sf_interface->args_widgets[i] = gtk_entry_new ();
gtk_widget_set_size_request (sf_interface->args_widgets[i],
TEXT_WIDTH, -1);
gtk_entry_set_text (GTK_ENTRY (sf_interface->args_widgets[i]),
widget = gtk_entry_new ();
gtk_widget_set_size_request (widget, TEXT_WIDTH, -1);
gtk_entry_set_text (GTK_ENTRY (widget),
script->arg_values[i].sfa_value);
break;
@ -1307,14 +1304,12 @@ script_fu_interface (SFScript *script)
script->arg_defaults[i].sfa_adjustment.upper,
script->arg_defaults[i].sfa_adjustment.step,
script->arg_defaults[i].sfa_adjustment.page, 0);
sf_interface->args_widgets[i] =
gtk_spin_button_new (script->arg_values[i].sfa_adjustment.adj,
widget = gtk_spin_button_new (script->arg_values[i].sfa_adjustment.adj,
0,
script->arg_defaults[i].sfa_adjustment.digits);
break;
default: /* this shouldn't happen */
sf_interface->args_widgets[i] = NULL;
default:
break;
}
break;
@ -1324,21 +1319,17 @@ script_fu_interface (SFScript *script)
widget_leftalign = FALSE;
if (script->arg_types[i] == SF_FILENAME)
sf_interface->args_widgets[i] =
gimp_file_selection_new (_("Script-Fu File Selection"),
widget = gimp_file_selection_new (_("Script-Fu File Selection"),
script->arg_values[i].sfa_file.filename,
FALSE, TRUE);
else
sf_interface->args_widgets[i] =
gimp_file_selection_new (_("Script-Fu Folder Selection"),
widget = gimp_file_selection_new (_("Script-Fu Folder Selection"),
script->arg_values[i].sfa_file.filename,
TRUE, TRUE);
script->arg_values[i].sfa_file.fileselection =
sf_interface->args_widgets[i];
script->arg_values[i].sfa_file.fileselection = widget;
g_signal_connect (sf_interface->args_widgets[i],
"filename_changed",
g_signal_connect (widget, "filename_changed",
G_CALLBACK (script_fu_file_selection_callback),
&script->arg_values[i].sfa_file);
break;
@ -1346,31 +1337,27 @@ script_fu_interface (SFScript *script)
case SF_FONT:
widget_leftalign = FALSE;
sf_interface->args_widgets[i] =
gimp_font_select_widget_new (_("Script-Fu Font Selection"),
widget = gimp_font_select_widget_new (_("Script-Fu Font Selection"),
script->arg_values[i].sfa_font,
script_fu_font_preview,
&script->arg_values[i].sfa_font);
break;
case SF_PATTERN:
sf_interface->args_widgets[i] =
gimp_pattern_select_widget_new (_("Script-fu Pattern Selection"),
widget = gimp_pattern_select_widget_new (_("Script-fu Pattern Selection"),
script->arg_values[i].sfa_pattern,
script_fu_pattern_preview,
&script->arg_values[i].sfa_pattern);
break;
case SF_GRADIENT:
sf_interface->args_widgets[i] =
gimp_gradient_select_widget_new (_("Script-Fu Gradient Selection"),
widget = gimp_gradient_select_widget_new (_("Script-Fu Gradient Selection"),
script->arg_values[i].sfa_gradient,
script_fu_gradient_preview,
&script->arg_values[i].sfa_gradient);
break;
case SF_BRUSH:
sf_interface->args_widgets[i] =
gimp_brush_select_widget_new (_("Script-Fu Brush Selection"),
widget = gimp_brush_select_widget_new (_("Script-Fu Brush Selection"),
script->arg_values[i].sfa_brush.name,
script->arg_values[i].sfa_brush.opacity,
script->arg_values[i].sfa_brush.spacing,
@ -1380,7 +1367,7 @@ script_fu_interface (SFScript *script)
break;
case SF_OPTION:
sf_interface->args_widgets[i] = gtk_option_menu_new ();
widget = gtk_option_menu_new ();
menu = gtk_menu_new ();
for (list = script->arg_defaults[i].sfa_option.list, j = 0;
list;
@ -1393,9 +1380,8 @@ script_fu_interface (SFScript *script)
gtk_widget_show (menu_item);
}
gtk_option_menu_set_menu (GTK_OPTION_MENU (sf_interface->args_widgets[i]),
menu);
gtk_option_menu_set_history (GTK_OPTION_MENU (sf_interface->args_widgets[i]),
gtk_option_menu_set_menu (GTK_OPTION_MENU (widget), menu);
gtk_option_menu_set_history (GTK_OPTION_MENU (widget),
script->arg_values[i].sfa_option.history);
break;
@ -1403,12 +1389,14 @@ script_fu_interface (SFScript *script)
break;
}
if (sf_interface->args_widgets[i])
if (widget)
gimp_table_attach_aligned (GTK_TABLE (table), 0, i,
label_text, 1.0, label_yalign,
sf_interface->args_widgets[i], 2,
widget_leftalign);
widget, 2, widget_leftalign);
g_free (label_text);
sf_interface->args_widgets[i] = widget;
}
gtk_widget_show (table);
@ -1578,6 +1566,9 @@ script_fu_ok (SFScript *script)
length = strlen (script->script_name) + 3;
for (i = 0; i < script->num_args; i++)
{
GtkWidget *widget = sf_interface->args_widgets[i];
switch (script->arg_types[i])
{
case SF_IMAGE:
@ -1596,11 +1587,12 @@ script_fu_ok (SFScript *script)
break;
case SF_VALUE:
length += strlen (gtk_entry_get_text (GTK_ENTRY (sf_interface->args_widgets[i]))) + 1;
length += strlen (gtk_entry_get_text (GTK_ENTRY (widget))) + 1;
break;
case SF_STRING:
escaped = g_strescape (gtk_entry_get_text (GTK_ENTRY (sf_interface->args_widgets[i])), NULL);
escaped = g_strescape (gtk_entry_get_text (GTK_ENTRY (widget)),
NULL);
length += strlen (escaped) + 3;
g_free (escaped);
break;
@ -1611,7 +1603,8 @@ script_fu_ok (SFScript *script)
case SF_FILENAME:
case SF_DIRNAME:
escaped = g_strescape (script->arg_values[i].sfa_file.filename, NULL);
escaped = g_strescape (script->arg_values[i].sfa_file.filename,
NULL);
length += strlen (escaped) + 3;
g_free (escaped);
break;
@ -1641,6 +1634,7 @@ script_fu_ok (SFScript *script)
default:
break;
}
}
c = command = g_new (gchar, length);
@ -1648,6 +1642,8 @@ script_fu_ok (SFScript *script)
c += strlen (script->script_name) + 2;
for (i = 0; i < script->num_args; i++)
{
GtkWidget *widget = sf_interface->args_widgets[i];
switch (script->arg_types[i])
{
case SF_IMAGE:
@ -1673,13 +1669,13 @@ script_fu_ok (SFScript *script)
break;
case SF_VALUE:
text = (gchar *) gtk_entry_get_text (GTK_ENTRY (sf_interface->args_widgets[i]));
text = (gchar *) gtk_entry_get_text (GTK_ENTRY (widget));
g_free (script->arg_values[i].sfa_value);
script->arg_values[i].sfa_value = g_strdup (text);
break;
case SF_STRING:
text = (gchar *) gtk_entry_get_text (GTK_ENTRY (sf_interface->args_widgets[i]));
text = (gchar *) gtk_entry_get_text (GTK_ENTRY (widget));
g_free (script->arg_values[i].sfa_value);
script->arg_values[i].sfa_value = g_strdup (text);
escaped = g_strescape (text, NULL);
@ -1698,7 +1694,7 @@ script_fu_ok (SFScript *script)
case SF_SPINNER:
script->arg_values[i].sfa_adjustment.value =
gtk_spin_button_get_value (GTK_SPIN_BUTTON (sf_interface->args_widgets[i]));
gtk_spin_button_get_value (GTK_SPIN_BUTTON (widget));
break;
default:
@ -1752,8 +1748,8 @@ script_fu_ok (SFScript *script)
break;
case SF_OPTION:
menu_item =
gtk_menu_get_active (GTK_MENU (gtk_option_menu_get_menu (GTK_OPTION_MENU (sf_interface->args_widgets[i]))));
widget = gtk_option_menu_get_menu (GTK_OPTION_MENU (widget));
menu_item = gtk_menu_get_active (GTK_MENU (widget));
script->arg_values[i].sfa_option.history =
GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (menu_item),
"gimp-item-data"));
@ -1786,6 +1782,9 @@ script_fu_reset (SFScript *script)
gint i;
for (i = 0; i < script->num_args; i++)
{
GtkWidget *widget = sf_interface->args_widgets[i];
switch (script->arg_types[i])
{
case SF_IMAGE:
@ -1796,13 +1795,13 @@ script_fu_reset (SFScript *script)
case SF_COLOR:
script->arg_values[i].sfa_color = script->arg_defaults[i].sfa_color;
gimp_color_button_set_color (GIMP_COLOR_BUTTON (sf_interface->args_widgets[i]),
gimp_color_button_set_color (GIMP_COLOR_BUTTON (widget),
&script->arg_values[i].sfa_color);
break;
case SF_TOGGLE:
script->arg_values[i].sfa_toggle = script->arg_defaults[i].sfa_toggle;
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sf_interface->args_widgets[i]),
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget),
script->arg_values[i].sfa_toggle);
break;
@ -1811,7 +1810,7 @@ script_fu_reset (SFScript *script)
g_free (script->arg_values[i].sfa_value);
script->arg_values[i].sfa_value =
g_strdup (script->arg_defaults[i].sfa_value);
gtk_entry_set_text (GTK_ENTRY (sf_interface->args_widgets[i]),
gtk_entry_set_text (GTK_ENTRY (widget),
script->arg_values[i].sfa_value);
break;
@ -1833,22 +1832,22 @@ script_fu_reset (SFScript *script)
break;
case SF_FONT:
gimp_font_select_widget_set (sf_interface->args_widgets[i],
gimp_font_select_widget_set (widget,
script->arg_defaults[i].sfa_font);
break;
case SF_PATTERN:
gimp_pattern_select_widget_set (sf_interface->args_widgets[i],
gimp_pattern_select_widget_set (widget,
script->arg_defaults[i].sfa_pattern);
break;
case SF_GRADIENT:
gimp_gradient_select_widget_set (sf_interface->args_widgets[i],
gimp_gradient_select_widget_set (widget,
script->arg_defaults[i].sfa_gradient);
break;
case SF_BRUSH:
gimp_brush_select_widget_set (sf_interface->args_widgets[i],
gimp_brush_select_widget_set (widget,
script->arg_defaults[i].sfa_brush.name,
script->arg_defaults[i].sfa_brush.opacity,
script->arg_defaults[i].sfa_brush.spacing,
@ -1858,13 +1857,14 @@ script_fu_reset (SFScript *script)
case SF_OPTION:
script->arg_values[i].sfa_option.history =
script->arg_defaults[i].sfa_option.history;
gtk_option_menu_set_history (GTK_OPTION_MENU (sf_interface->args_widgets[i]),
gtk_option_menu_set_history (GTK_OPTION_MENU (widget),
script->arg_values[i].sfa_option.history);
default:
break;
}
}
}
static void
script_fu_about_callback (GtkWidget *widget,

View File

@ -1195,6 +1195,7 @@ script_fu_interface (SFScript *script)
for (i = start_args; i < script->num_args; i++)
{
GtkWidget *widget = NULL;
gchar *label_text;
gfloat label_yalign = 0.5;
gboolean widget_leftalign = TRUE;
@ -1210,7 +1211,7 @@ script_fu_interface (SFScript *script)
case SF_DRAWABLE:
case SF_LAYER:
case SF_CHANNEL:
sf_interface->args_widgets[i] = gtk_option_menu_new ();
widget = gtk_option_menu_new ();
switch (script->arg_types[i])
{
case SF_IMAGE:
@ -1241,19 +1242,18 @@ script_fu_interface (SFScript *script)
menu = NULL;
break;
}
gtk_option_menu_set_menu (GTK_OPTION_MENU (sf_interface->args_widgets[i]),
menu);
gtk_option_menu_set_menu (GTK_OPTION_MENU (widget), menu);
break;
case SF_COLOR:
sf_interface->args_widgets[i] =
gimp_color_button_new (_("Script-Fu Color Selection"),
COLOR_SAMPLE_WIDTH, COLOR_SAMPLE_HEIGHT,
widget = gimp_color_button_new (_("Script-Fu Color Selection"),
COLOR_SAMPLE_WIDTH,
COLOR_SAMPLE_HEIGHT,
&script->arg_values[i].sfa_color,
GIMP_COLOR_AREA_FLAT);
g_signal_connect (sf_interface->args_widgets[i],
"color_changed",
gimp_color_button_set_update (GIMP_COLOR_BUTTON (widget), TRUE);
g_signal_connect (widget, "color_changed",
G_CALLBACK (gimp_color_button_get_color),
&script->arg_values[i].sfa_color);
break;
@ -1261,13 +1261,11 @@ script_fu_interface (SFScript *script)
case SF_TOGGLE:
g_free (label_text);
label_text = NULL;
sf_interface->args_widgets[i] =
gtk_check_button_new_with_mnemonic (gettext (script->arg_labels[i]));
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sf_interface->args_widgets[i]),
widget = gtk_check_button_new_with_mnemonic (gettext (script->arg_labels[i]));
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget),
script->arg_values[i].sfa_toggle);
g_signal_connect (sf_interface->args_widgets[i],
"toggled",
g_signal_connect (widget, "toggled",
G_CALLBACK (gimp_toggle_button_update),
&script->arg_values[i].sfa_toggle);
break;
@ -1276,10 +1274,9 @@ script_fu_interface (SFScript *script)
case SF_STRING:
widget_leftalign = FALSE;
sf_interface->args_widgets[i] = gtk_entry_new ();
gtk_widget_set_size_request (sf_interface->args_widgets[i],
TEXT_WIDTH, -1);
gtk_entry_set_text (GTK_ENTRY (sf_interface->args_widgets[i]),
widget = gtk_entry_new ();
gtk_widget_set_size_request (widget, TEXT_WIDTH, -1);
gtk_entry_set_text (GTK_ENTRY (widget),
script->arg_values[i].sfa_value);
break;
@ -1307,14 +1304,12 @@ script_fu_interface (SFScript *script)
script->arg_defaults[i].sfa_adjustment.upper,
script->arg_defaults[i].sfa_adjustment.step,
script->arg_defaults[i].sfa_adjustment.page, 0);
sf_interface->args_widgets[i] =
gtk_spin_button_new (script->arg_values[i].sfa_adjustment.adj,
widget = gtk_spin_button_new (script->arg_values[i].sfa_adjustment.adj,
0,
script->arg_defaults[i].sfa_adjustment.digits);
break;
default: /* this shouldn't happen */
sf_interface->args_widgets[i] = NULL;
default:
break;
}
break;
@ -1324,21 +1319,17 @@ script_fu_interface (SFScript *script)
widget_leftalign = FALSE;
if (script->arg_types[i] == SF_FILENAME)
sf_interface->args_widgets[i] =
gimp_file_selection_new (_("Script-Fu File Selection"),
widget = gimp_file_selection_new (_("Script-Fu File Selection"),
script->arg_values[i].sfa_file.filename,
FALSE, TRUE);
else
sf_interface->args_widgets[i] =
gimp_file_selection_new (_("Script-Fu Folder Selection"),
widget = gimp_file_selection_new (_("Script-Fu Folder Selection"),
script->arg_values[i].sfa_file.filename,
TRUE, TRUE);
script->arg_values[i].sfa_file.fileselection =
sf_interface->args_widgets[i];
script->arg_values[i].sfa_file.fileselection = widget;
g_signal_connect (sf_interface->args_widgets[i],
"filename_changed",
g_signal_connect (widget, "filename_changed",
G_CALLBACK (script_fu_file_selection_callback),
&script->arg_values[i].sfa_file);
break;
@ -1346,31 +1337,27 @@ script_fu_interface (SFScript *script)
case SF_FONT:
widget_leftalign = FALSE;
sf_interface->args_widgets[i] =
gimp_font_select_widget_new (_("Script-Fu Font Selection"),
widget = gimp_font_select_widget_new (_("Script-Fu Font Selection"),
script->arg_values[i].sfa_font,
script_fu_font_preview,
&script->arg_values[i].sfa_font);
break;
case SF_PATTERN:
sf_interface->args_widgets[i] =
gimp_pattern_select_widget_new (_("Script-fu Pattern Selection"),
widget = gimp_pattern_select_widget_new (_("Script-fu Pattern Selection"),
script->arg_values[i].sfa_pattern,
script_fu_pattern_preview,
&script->arg_values[i].sfa_pattern);
break;
case SF_GRADIENT:
sf_interface->args_widgets[i] =
gimp_gradient_select_widget_new (_("Script-Fu Gradient Selection"),
widget = gimp_gradient_select_widget_new (_("Script-Fu Gradient Selection"),
script->arg_values[i].sfa_gradient,
script_fu_gradient_preview,
&script->arg_values[i].sfa_gradient);
break;
case SF_BRUSH:
sf_interface->args_widgets[i] =
gimp_brush_select_widget_new (_("Script-Fu Brush Selection"),
widget = gimp_brush_select_widget_new (_("Script-Fu Brush Selection"),
script->arg_values[i].sfa_brush.name,
script->arg_values[i].sfa_brush.opacity,
script->arg_values[i].sfa_brush.spacing,
@ -1380,7 +1367,7 @@ script_fu_interface (SFScript *script)
break;
case SF_OPTION:
sf_interface->args_widgets[i] = gtk_option_menu_new ();
widget = gtk_option_menu_new ();
menu = gtk_menu_new ();
for (list = script->arg_defaults[i].sfa_option.list, j = 0;
list;
@ -1393,9 +1380,8 @@ script_fu_interface (SFScript *script)
gtk_widget_show (menu_item);
}
gtk_option_menu_set_menu (GTK_OPTION_MENU (sf_interface->args_widgets[i]),
menu);
gtk_option_menu_set_history (GTK_OPTION_MENU (sf_interface->args_widgets[i]),
gtk_option_menu_set_menu (GTK_OPTION_MENU (widget), menu);
gtk_option_menu_set_history (GTK_OPTION_MENU (widget),
script->arg_values[i].sfa_option.history);
break;
@ -1403,12 +1389,14 @@ script_fu_interface (SFScript *script)
break;
}
if (sf_interface->args_widgets[i])
if (widget)
gimp_table_attach_aligned (GTK_TABLE (table), 0, i,
label_text, 1.0, label_yalign,
sf_interface->args_widgets[i], 2,
widget_leftalign);
widget, 2, widget_leftalign);
g_free (label_text);
sf_interface->args_widgets[i] = widget;
}
gtk_widget_show (table);
@ -1578,6 +1566,9 @@ script_fu_ok (SFScript *script)
length = strlen (script->script_name) + 3;
for (i = 0; i < script->num_args; i++)
{
GtkWidget *widget = sf_interface->args_widgets[i];
switch (script->arg_types[i])
{
case SF_IMAGE:
@ -1596,11 +1587,12 @@ script_fu_ok (SFScript *script)
break;
case SF_VALUE:
length += strlen (gtk_entry_get_text (GTK_ENTRY (sf_interface->args_widgets[i]))) + 1;
length += strlen (gtk_entry_get_text (GTK_ENTRY (widget))) + 1;
break;
case SF_STRING:
escaped = g_strescape (gtk_entry_get_text (GTK_ENTRY (sf_interface->args_widgets[i])), NULL);
escaped = g_strescape (gtk_entry_get_text (GTK_ENTRY (widget)),
NULL);
length += strlen (escaped) + 3;
g_free (escaped);
break;
@ -1611,7 +1603,8 @@ script_fu_ok (SFScript *script)
case SF_FILENAME:
case SF_DIRNAME:
escaped = g_strescape (script->arg_values[i].sfa_file.filename, NULL);
escaped = g_strescape (script->arg_values[i].sfa_file.filename,
NULL);
length += strlen (escaped) + 3;
g_free (escaped);
break;
@ -1641,6 +1634,7 @@ script_fu_ok (SFScript *script)
default:
break;
}
}
c = command = g_new (gchar, length);
@ -1648,6 +1642,8 @@ script_fu_ok (SFScript *script)
c += strlen (script->script_name) + 2;
for (i = 0; i < script->num_args; i++)
{
GtkWidget *widget = sf_interface->args_widgets[i];
switch (script->arg_types[i])
{
case SF_IMAGE:
@ -1673,13 +1669,13 @@ script_fu_ok (SFScript *script)
break;
case SF_VALUE:
text = (gchar *) gtk_entry_get_text (GTK_ENTRY (sf_interface->args_widgets[i]));
text = (gchar *) gtk_entry_get_text (GTK_ENTRY (widget));
g_free (script->arg_values[i].sfa_value);
script->arg_values[i].sfa_value = g_strdup (text);
break;
case SF_STRING:
text = (gchar *) gtk_entry_get_text (GTK_ENTRY (sf_interface->args_widgets[i]));
text = (gchar *) gtk_entry_get_text (GTK_ENTRY (widget));
g_free (script->arg_values[i].sfa_value);
script->arg_values[i].sfa_value = g_strdup (text);
escaped = g_strescape (text, NULL);
@ -1698,7 +1694,7 @@ script_fu_ok (SFScript *script)
case SF_SPINNER:
script->arg_values[i].sfa_adjustment.value =
gtk_spin_button_get_value (GTK_SPIN_BUTTON (sf_interface->args_widgets[i]));
gtk_spin_button_get_value (GTK_SPIN_BUTTON (widget));
break;
default:
@ -1752,8 +1748,8 @@ script_fu_ok (SFScript *script)
break;
case SF_OPTION:
menu_item =
gtk_menu_get_active (GTK_MENU (gtk_option_menu_get_menu (GTK_OPTION_MENU (sf_interface->args_widgets[i]))));
widget = gtk_option_menu_get_menu (GTK_OPTION_MENU (widget));
menu_item = gtk_menu_get_active (GTK_MENU (widget));
script->arg_values[i].sfa_option.history =
GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (menu_item),
"gimp-item-data"));
@ -1786,6 +1782,9 @@ script_fu_reset (SFScript *script)
gint i;
for (i = 0; i < script->num_args; i++)
{
GtkWidget *widget = sf_interface->args_widgets[i];
switch (script->arg_types[i])
{
case SF_IMAGE:
@ -1796,13 +1795,13 @@ script_fu_reset (SFScript *script)
case SF_COLOR:
script->arg_values[i].sfa_color = script->arg_defaults[i].sfa_color;
gimp_color_button_set_color (GIMP_COLOR_BUTTON (sf_interface->args_widgets[i]),
gimp_color_button_set_color (GIMP_COLOR_BUTTON (widget),
&script->arg_values[i].sfa_color);
break;
case SF_TOGGLE:
script->arg_values[i].sfa_toggle = script->arg_defaults[i].sfa_toggle;
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sf_interface->args_widgets[i]),
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget),
script->arg_values[i].sfa_toggle);
break;
@ -1811,7 +1810,7 @@ script_fu_reset (SFScript *script)
g_free (script->arg_values[i].sfa_value);
script->arg_values[i].sfa_value =
g_strdup (script->arg_defaults[i].sfa_value);
gtk_entry_set_text (GTK_ENTRY (sf_interface->args_widgets[i]),
gtk_entry_set_text (GTK_ENTRY (widget),
script->arg_values[i].sfa_value);
break;
@ -1833,22 +1832,22 @@ script_fu_reset (SFScript *script)
break;
case SF_FONT:
gimp_font_select_widget_set (sf_interface->args_widgets[i],
gimp_font_select_widget_set (widget,
script->arg_defaults[i].sfa_font);
break;
case SF_PATTERN:
gimp_pattern_select_widget_set (sf_interface->args_widgets[i],
gimp_pattern_select_widget_set (widget,
script->arg_defaults[i].sfa_pattern);
break;
case SF_GRADIENT:
gimp_gradient_select_widget_set (sf_interface->args_widgets[i],
gimp_gradient_select_widget_set (widget,
script->arg_defaults[i].sfa_gradient);
break;
case SF_BRUSH:
gimp_brush_select_widget_set (sf_interface->args_widgets[i],
gimp_brush_select_widget_set (widget,
script->arg_defaults[i].sfa_brush.name,
script->arg_defaults[i].sfa_brush.opacity,
script->arg_defaults[i].sfa_brush.spacing,
@ -1858,13 +1857,14 @@ script_fu_reset (SFScript *script)
case SF_OPTION:
script->arg_values[i].sfa_option.history =
script->arg_defaults[i].sfa_option.history;
gtk_option_menu_set_history (GTK_OPTION_MENU (sf_interface->args_widgets[i]),
gtk_option_menu_set_history (GTK_OPTION_MENU (widget),
script->arg_values[i].sfa_option.history);
default:
break;
}
}
}
static void
script_fu_about_callback (GtkWidget *widget,