added one more option menu constructor and made the namespace more

2000-01-28  Michael Natterer  <mitch@gimp.org>

	* libgimp/gimpwidgets.[ch]: added one more option menu constructor
	and made the namespace more consistent, minor fixes.

	* libgimp/gimpdialog.c
	* libgimp/gimpunitmenu.c: minor fixes.

	* app/preferences_dialog.c
	* plug-ins/borderaverage/borderaverage.c
	* plug-ins/common/gif.c
	* plug-ins/common/randomize.c: changed according to the above
	namespace cleanups.
This commit is contained in:
Michael Natterer 2000-01-27 01:22:27 +00:00 committed by Michael Natterer
parent ea27590213
commit 38c66a651c
16 changed files with 553 additions and 322 deletions

View File

@ -1,3 +1,17 @@
2000-01-28 Michael Natterer <mitch@gimp.org>
* libgimp/gimpwidgets.[ch]: added one more option menu constructor
and made the namespace more consistent, minor fixes.
* libgimp/gimpdialog.c
* libgimp/gimpunitmenu.c: minor fixes.
* app/preferences_dialog.c
* plug-ins/borderaverage/borderaverage.c
* plug-ins/common/gif.c
* plug-ins/common/randomize.c: changed according to the above
namespace cleanups.
Thu Jan 27 23:54:05 CET 2000 Sven Neumann <sven@gimp.org> Thu Jan 27 23:54:05 CET 2000 Sven Neumann <sven@gimp.org>
* plug-ins/common/newsprint.c * plug-ins/common/newsprint.c

View File

@ -1628,7 +1628,7 @@ file_pref_cmd_callback (GtkWidget *widget,
gtk_widget_show (table); gtk_widget_show (table);
optionmenu = optionmenu =
gimp_option_menu_new (file_prefs_toggle_callback, gimp_option_menu_new2 (FALSE, file_prefs_toggle_callback,
&default_type, (gpointer) default_type, &default_type, (gpointer) default_type,
_("RGB"), (gpointer) RGB, NULL, _("RGB"), (gpointer) RGB, NULL,
@ -1669,7 +1669,7 @@ file_pref_cmd_callback (GtkWidget *widget,
(gpointer) mem_size_unit); (gpointer) mem_size_unit);
optionmenu = optionmenu =
gimp_option_menu_new (file_prefs_mem_size_unit_callback, gimp_option_menu_new2 (FALSE, file_prefs_mem_size_unit_callback,
adjustment, (gpointer) mem_size_unit, adjustment, (gpointer) mem_size_unit,
_("Bytes"), (gpointer) 1, NULL, _("Bytes"), (gpointer) 1, NULL,
@ -1711,7 +1711,7 @@ file_pref_cmd_callback (GtkWidget *widget,
gtk_widget_show (table); gtk_widget_show (table);
optionmenu = optionmenu =
gimp_option_menu_new (file_prefs_toggle_callback, gimp_option_menu_new2 (FALSE, file_prefs_toggle_callback,
&transparency_type, (gpointer) transparency_type, &transparency_type, (gpointer) transparency_type,
_("Light Checks"), (gpointer) LIGHT_CHECKS, NULL, _("Light Checks"), (gpointer) LIGHT_CHECKS, NULL,
@ -1727,7 +1727,7 @@ file_pref_cmd_callback (GtkWidget *widget,
optionmenu, TRUE); optionmenu, TRUE);
optionmenu = optionmenu =
gimp_option_menu_new (file_prefs_toggle_callback, gimp_option_menu_new2 (FALSE, file_prefs_toggle_callback,
&transparency_size, (gpointer) transparency_size, &transparency_size, (gpointer) transparency_size,
_("Small"), (gpointer) SMALL_CHECKS, NULL, _("Small"), (gpointer) SMALL_CHECKS, NULL,
@ -1797,7 +1797,7 @@ file_pref_cmd_callback (GtkWidget *widget,
*/ */
optionmenu = optionmenu =
gimp_option_menu_new (file_prefs_preview_size_callback, gimp_option_menu_new2 (FALSE, file_prefs_preview_size_callback,
&preview_size, (gpointer) preview_size, &preview_size, (gpointer) preview_size,
_("None"), (gpointer) 0, NULL, _("None"), (gpointer) 0, NULL,
@ -1812,7 +1812,7 @@ file_pref_cmd_callback (GtkWidget *widget,
_("Preview Size:"), 1.0, 0.5, optionmenu, TRUE); _("Preview Size:"), 1.0, 0.5, optionmenu, TRUE);
optionmenu = optionmenu =
gimp_option_menu_new (file_prefs_nav_preview_size_callback, gimp_option_menu_new2 (FALSE, file_prefs_nav_preview_size_callback,
&nav_preview_size, (gpointer) nav_preview_size, &nav_preview_size, (gpointer) nav_preview_size,
_("Small"), (gpointer) 48, NULL, _("Small"), (gpointer) 48, NULL,
@ -1908,7 +1908,7 @@ file_pref_cmd_callback (GtkWidget *widget,
gtk_widget_show (table); gtk_widget_show (table);
optionmenu = optionmenu =
gimp_option_menu_new (file_prefs_toggle_callback, gimp_option_menu_new2 (FALSE, file_prefs_toggle_callback,
&help_browser, (gpointer) help_browser, &help_browser, (gpointer) help_browser,
_("Internal"), (gpointer) HELP_BROWSER_GIMP, NULL, _("Internal"), (gpointer) HELP_BROWSER_GIMP, NULL,
@ -2151,7 +2151,7 @@ file_pref_cmd_callback (GtkWidget *widget,
(gpointer) mem_size_unit); (gpointer) mem_size_unit);
optionmenu = optionmenu =
gimp_option_menu_new (file_prefs_mem_size_unit_callback, gimp_option_menu_new2 (FALSE, file_prefs_mem_size_unit_callback,
adjustment, (gpointer) mem_size_unit, adjustment, (gpointer) mem_size_unit,
_("Bytes"), (gpointer) 1, NULL, _("Bytes"), (gpointer) 1, NULL,
@ -2191,7 +2191,7 @@ file_pref_cmd_callback (GtkWidget *widget,
gtk_widget_show (table); gtk_widget_show (table);
optionmenu = optionmenu =
gimp_option_menu_new (file_prefs_toggle_callback, gimp_option_menu_new2 (FALSE, file_prefs_toggle_callback,
&interpolation_type, (gpointer) interpolation_type, &interpolation_type, (gpointer) interpolation_type,
_("Nearest Neighbor (Fast)"), _("Nearest Neighbor (Fast)"),
@ -2220,7 +2220,7 @@ file_pref_cmd_callback (GtkWidget *widget,
gtk_widget_show (table); gtk_widget_show (table);
optionmenu = optionmenu =
gimp_option_menu_new (file_prefs_toggle_callback, gimp_option_menu_new2 (FALSE, file_prefs_toggle_callback,
&thumbnail_mode, (gpointer) thumbnail_mode, &thumbnail_mode, (gpointer) thumbnail_mode,
_("Always"), (gpointer) 1, NULL, _("Always"), (gpointer) 1, NULL,
@ -2232,7 +2232,7 @@ file_pref_cmd_callback (GtkWidget *widget,
optionmenu, TRUE); optionmenu, TRUE);
optionmenu = optionmenu =
gimp_option_menu_new (file_prefs_toggle_callback, gimp_option_menu_new2 (FALSE, file_prefs_toggle_callback,
&trust_dirty_flag, (gpointer) trust_dirty_flag, &trust_dirty_flag, (gpointer) trust_dirty_flag,
_("Only when Modified"), (gpointer) 1, NULL, _("Only when Modified"), (gpointer) 1, NULL,

View File

@ -1628,7 +1628,7 @@ file_pref_cmd_callback (GtkWidget *widget,
gtk_widget_show (table); gtk_widget_show (table);
optionmenu = optionmenu =
gimp_option_menu_new (file_prefs_toggle_callback, gimp_option_menu_new2 (FALSE, file_prefs_toggle_callback,
&default_type, (gpointer) default_type, &default_type, (gpointer) default_type,
_("RGB"), (gpointer) RGB, NULL, _("RGB"), (gpointer) RGB, NULL,
@ -1669,7 +1669,7 @@ file_pref_cmd_callback (GtkWidget *widget,
(gpointer) mem_size_unit); (gpointer) mem_size_unit);
optionmenu = optionmenu =
gimp_option_menu_new (file_prefs_mem_size_unit_callback, gimp_option_menu_new2 (FALSE, file_prefs_mem_size_unit_callback,
adjustment, (gpointer) mem_size_unit, adjustment, (gpointer) mem_size_unit,
_("Bytes"), (gpointer) 1, NULL, _("Bytes"), (gpointer) 1, NULL,
@ -1711,7 +1711,7 @@ file_pref_cmd_callback (GtkWidget *widget,
gtk_widget_show (table); gtk_widget_show (table);
optionmenu = optionmenu =
gimp_option_menu_new (file_prefs_toggle_callback, gimp_option_menu_new2 (FALSE, file_prefs_toggle_callback,
&transparency_type, (gpointer) transparency_type, &transparency_type, (gpointer) transparency_type,
_("Light Checks"), (gpointer) LIGHT_CHECKS, NULL, _("Light Checks"), (gpointer) LIGHT_CHECKS, NULL,
@ -1727,7 +1727,7 @@ file_pref_cmd_callback (GtkWidget *widget,
optionmenu, TRUE); optionmenu, TRUE);
optionmenu = optionmenu =
gimp_option_menu_new (file_prefs_toggle_callback, gimp_option_menu_new2 (FALSE, file_prefs_toggle_callback,
&transparency_size, (gpointer) transparency_size, &transparency_size, (gpointer) transparency_size,
_("Small"), (gpointer) SMALL_CHECKS, NULL, _("Small"), (gpointer) SMALL_CHECKS, NULL,
@ -1797,7 +1797,7 @@ file_pref_cmd_callback (GtkWidget *widget,
*/ */
optionmenu = optionmenu =
gimp_option_menu_new (file_prefs_preview_size_callback, gimp_option_menu_new2 (FALSE, file_prefs_preview_size_callback,
&preview_size, (gpointer) preview_size, &preview_size, (gpointer) preview_size,
_("None"), (gpointer) 0, NULL, _("None"), (gpointer) 0, NULL,
@ -1812,7 +1812,7 @@ file_pref_cmd_callback (GtkWidget *widget,
_("Preview Size:"), 1.0, 0.5, optionmenu, TRUE); _("Preview Size:"), 1.0, 0.5, optionmenu, TRUE);
optionmenu = optionmenu =
gimp_option_menu_new (file_prefs_nav_preview_size_callback, gimp_option_menu_new2 (FALSE, file_prefs_nav_preview_size_callback,
&nav_preview_size, (gpointer) nav_preview_size, &nav_preview_size, (gpointer) nav_preview_size,
_("Small"), (gpointer) 48, NULL, _("Small"), (gpointer) 48, NULL,
@ -1908,7 +1908,7 @@ file_pref_cmd_callback (GtkWidget *widget,
gtk_widget_show (table); gtk_widget_show (table);
optionmenu = optionmenu =
gimp_option_menu_new (file_prefs_toggle_callback, gimp_option_menu_new2 (FALSE, file_prefs_toggle_callback,
&help_browser, (gpointer) help_browser, &help_browser, (gpointer) help_browser,
_("Internal"), (gpointer) HELP_BROWSER_GIMP, NULL, _("Internal"), (gpointer) HELP_BROWSER_GIMP, NULL,
@ -2151,7 +2151,7 @@ file_pref_cmd_callback (GtkWidget *widget,
(gpointer) mem_size_unit); (gpointer) mem_size_unit);
optionmenu = optionmenu =
gimp_option_menu_new (file_prefs_mem_size_unit_callback, gimp_option_menu_new2 (FALSE, file_prefs_mem_size_unit_callback,
adjustment, (gpointer) mem_size_unit, adjustment, (gpointer) mem_size_unit,
_("Bytes"), (gpointer) 1, NULL, _("Bytes"), (gpointer) 1, NULL,
@ -2191,7 +2191,7 @@ file_pref_cmd_callback (GtkWidget *widget,
gtk_widget_show (table); gtk_widget_show (table);
optionmenu = optionmenu =
gimp_option_menu_new (file_prefs_toggle_callback, gimp_option_menu_new2 (FALSE, file_prefs_toggle_callback,
&interpolation_type, (gpointer) interpolation_type, &interpolation_type, (gpointer) interpolation_type,
_("Nearest Neighbor (Fast)"), _("Nearest Neighbor (Fast)"),
@ -2220,7 +2220,7 @@ file_pref_cmd_callback (GtkWidget *widget,
gtk_widget_show (table); gtk_widget_show (table);
optionmenu = optionmenu =
gimp_option_menu_new (file_prefs_toggle_callback, gimp_option_menu_new2 (FALSE, file_prefs_toggle_callback,
&thumbnail_mode, (gpointer) thumbnail_mode, &thumbnail_mode, (gpointer) thumbnail_mode,
_("Always"), (gpointer) 1, NULL, _("Always"), (gpointer) 1, NULL,
@ -2232,7 +2232,7 @@ file_pref_cmd_callback (GtkWidget *widget,
optionmenu, TRUE); optionmenu, TRUE);
optionmenu = optionmenu =
gimp_option_menu_new (file_prefs_toggle_callback, gimp_option_menu_new2 (FALSE, file_prefs_toggle_callback,
&trust_dirty_flag, (gpointer) trust_dirty_flag, &trust_dirty_flag, (gpointer) trust_dirty_flag,
_("Only when Modified"), (gpointer) 1, NULL, _("Only when Modified"), (gpointer) 1, NULL,

View File

@ -1628,7 +1628,7 @@ file_pref_cmd_callback (GtkWidget *widget,
gtk_widget_show (table); gtk_widget_show (table);
optionmenu = optionmenu =
gimp_option_menu_new (file_prefs_toggle_callback, gimp_option_menu_new2 (FALSE, file_prefs_toggle_callback,
&default_type, (gpointer) default_type, &default_type, (gpointer) default_type,
_("RGB"), (gpointer) RGB, NULL, _("RGB"), (gpointer) RGB, NULL,
@ -1669,7 +1669,7 @@ file_pref_cmd_callback (GtkWidget *widget,
(gpointer) mem_size_unit); (gpointer) mem_size_unit);
optionmenu = optionmenu =
gimp_option_menu_new (file_prefs_mem_size_unit_callback, gimp_option_menu_new2 (FALSE, file_prefs_mem_size_unit_callback,
adjustment, (gpointer) mem_size_unit, adjustment, (gpointer) mem_size_unit,
_("Bytes"), (gpointer) 1, NULL, _("Bytes"), (gpointer) 1, NULL,
@ -1711,7 +1711,7 @@ file_pref_cmd_callback (GtkWidget *widget,
gtk_widget_show (table); gtk_widget_show (table);
optionmenu = optionmenu =
gimp_option_menu_new (file_prefs_toggle_callback, gimp_option_menu_new2 (FALSE, file_prefs_toggle_callback,
&transparency_type, (gpointer) transparency_type, &transparency_type, (gpointer) transparency_type,
_("Light Checks"), (gpointer) LIGHT_CHECKS, NULL, _("Light Checks"), (gpointer) LIGHT_CHECKS, NULL,
@ -1727,7 +1727,7 @@ file_pref_cmd_callback (GtkWidget *widget,
optionmenu, TRUE); optionmenu, TRUE);
optionmenu = optionmenu =
gimp_option_menu_new (file_prefs_toggle_callback, gimp_option_menu_new2 (FALSE, file_prefs_toggle_callback,
&transparency_size, (gpointer) transparency_size, &transparency_size, (gpointer) transparency_size,
_("Small"), (gpointer) SMALL_CHECKS, NULL, _("Small"), (gpointer) SMALL_CHECKS, NULL,
@ -1797,7 +1797,7 @@ file_pref_cmd_callback (GtkWidget *widget,
*/ */
optionmenu = optionmenu =
gimp_option_menu_new (file_prefs_preview_size_callback, gimp_option_menu_new2 (FALSE, file_prefs_preview_size_callback,
&preview_size, (gpointer) preview_size, &preview_size, (gpointer) preview_size,
_("None"), (gpointer) 0, NULL, _("None"), (gpointer) 0, NULL,
@ -1812,7 +1812,7 @@ file_pref_cmd_callback (GtkWidget *widget,
_("Preview Size:"), 1.0, 0.5, optionmenu, TRUE); _("Preview Size:"), 1.0, 0.5, optionmenu, TRUE);
optionmenu = optionmenu =
gimp_option_menu_new (file_prefs_nav_preview_size_callback, gimp_option_menu_new2 (FALSE, file_prefs_nav_preview_size_callback,
&nav_preview_size, (gpointer) nav_preview_size, &nav_preview_size, (gpointer) nav_preview_size,
_("Small"), (gpointer) 48, NULL, _("Small"), (gpointer) 48, NULL,
@ -1908,7 +1908,7 @@ file_pref_cmd_callback (GtkWidget *widget,
gtk_widget_show (table); gtk_widget_show (table);
optionmenu = optionmenu =
gimp_option_menu_new (file_prefs_toggle_callback, gimp_option_menu_new2 (FALSE, file_prefs_toggle_callback,
&help_browser, (gpointer) help_browser, &help_browser, (gpointer) help_browser,
_("Internal"), (gpointer) HELP_BROWSER_GIMP, NULL, _("Internal"), (gpointer) HELP_BROWSER_GIMP, NULL,
@ -2151,7 +2151,7 @@ file_pref_cmd_callback (GtkWidget *widget,
(gpointer) mem_size_unit); (gpointer) mem_size_unit);
optionmenu = optionmenu =
gimp_option_menu_new (file_prefs_mem_size_unit_callback, gimp_option_menu_new2 (FALSE, file_prefs_mem_size_unit_callback,
adjustment, (gpointer) mem_size_unit, adjustment, (gpointer) mem_size_unit,
_("Bytes"), (gpointer) 1, NULL, _("Bytes"), (gpointer) 1, NULL,
@ -2191,7 +2191,7 @@ file_pref_cmd_callback (GtkWidget *widget,
gtk_widget_show (table); gtk_widget_show (table);
optionmenu = optionmenu =
gimp_option_menu_new (file_prefs_toggle_callback, gimp_option_menu_new2 (FALSE, file_prefs_toggle_callback,
&interpolation_type, (gpointer) interpolation_type, &interpolation_type, (gpointer) interpolation_type,
_("Nearest Neighbor (Fast)"), _("Nearest Neighbor (Fast)"),
@ -2220,7 +2220,7 @@ file_pref_cmd_callback (GtkWidget *widget,
gtk_widget_show (table); gtk_widget_show (table);
optionmenu = optionmenu =
gimp_option_menu_new (file_prefs_toggle_callback, gimp_option_menu_new2 (FALSE, file_prefs_toggle_callback,
&thumbnail_mode, (gpointer) thumbnail_mode, &thumbnail_mode, (gpointer) thumbnail_mode,
_("Always"), (gpointer) 1, NULL, _("Always"), (gpointer) 1, NULL,
@ -2232,7 +2232,7 @@ file_pref_cmd_callback (GtkWidget *widget,
optionmenu, TRUE); optionmenu, TRUE);
optionmenu = optionmenu =
gimp_option_menu_new (file_prefs_toggle_callback, gimp_option_menu_new2 (FALSE, file_prefs_toggle_callback,
&trust_dirty_flag, (gpointer) trust_dirty_flag, &trust_dirty_flag, (gpointer) trust_dirty_flag,
_("Only when Modified"), (gpointer) 1, NULL, _("Only when Modified"), (gpointer) 1, NULL,

View File

@ -226,8 +226,8 @@ gimp_dialog_create_action_areav (GtkDialog *dialog,
{ {
callback = va_arg (args, GtkSignalFunc); callback = va_arg (args, GtkSignalFunc);
data = va_arg (args, gpointer); data = va_arg (args, gpointer);
slot_object = va_arg (args, gpointer); slot_object = va_arg (args, GtkObject *);
widget_ptr = va_arg (args, gpointer); widget_ptr = va_arg (args, GtkWidget **);
default_action = va_arg (args, gboolean); default_action = va_arg (args, gboolean);
connect_delete = va_arg (args, gboolean); connect_delete = va_arg (args, gboolean);

View File

@ -35,11 +35,97 @@ static void gimp_toggle_button_sensitive_update (GtkToggleButton *toggle_button)
/* /*
* Widget Constructors... * Widget Constructors
*/ */
GtkWidget * GtkWidget *
gimp_option_menu_new (GtkSignalFunc menu_item_callback, gimp_option_menu_new (gboolean menu_only,
/* specify menu items as va_list:
* gchar *label,
* GtkSignalFunc callback,
* gpointer data,
* gpointer user_data,
* GtkWidget **widget_ptr,
* gboolean active
*/
...)
{
GtkWidget *menu;
GtkWidget *menuitem;
/* menu item variables */
gchar *label;
GtkSignalFunc callback;
gpointer data;
gpointer user_data;
GtkWidget **widget_ptr;
gboolean active;
va_list args;
gint i;
gint initial_index;
menu = gtk_menu_new ();
/* create the menu items */
initial_index = 0;
va_start (args, menu_only);
label = va_arg (args, gchar*);
for (i = 0; label; i++)
{
callback = va_arg (args, GtkSignalFunc);
data = va_arg (args, gpointer);
user_data = va_arg (args, gpointer);
widget_ptr = va_arg (args, GtkWidget **);
active = va_arg (args, gboolean);
if (label != (gpointer) 1)
menuitem = gtk_menu_item_new_with_label (label);
else
menuitem = gtk_menu_item_new ();
gtk_menu_append (GTK_MENU (menu), menuitem);
gtk_signal_connect (GTK_OBJECT (menuitem), "activate",
callback,
data);
if (user_data)
gtk_object_set_user_data (GTK_OBJECT (menuitem), user_data);
if (widget_ptr)
*widget_ptr = menuitem;
gtk_widget_show (menuitem);
/* remember the initial menu item */
if (active)
initial_index = i;
label = va_arg (args, gchar*);
}
va_end (args);
if (! menu_only)
{
GtkWidget *optionmenu;
optionmenu = gtk_option_menu_new ();
gtk_option_menu_set_menu (GTK_OPTION_MENU (optionmenu), menu);
/* select the initial menu item */
gtk_option_menu_set_history (GTK_OPTION_MENU (optionmenu), initial_index);
return optionmenu;
}
return menu;
}
GtkWidget *
gimp_option_menu_new2 (gboolean menu_only,
GtkSignalFunc menu_item_callback,
gpointer data, gpointer data,
gpointer initial, /* user_data */ gpointer initial, /* user_data */
@ -53,7 +139,6 @@ gimp_option_menu_new (GtkSignalFunc menu_item_callback,
{ {
GtkWidget *menu; GtkWidget *menu;
GtkWidget *menuitem; GtkWidget *menuitem;
GtkWidget *optionmenu;
/* menu item variables */ /* menu item variables */
gchar *label; gchar *label;
@ -73,7 +158,7 @@ gimp_option_menu_new (GtkSignalFunc menu_item_callback,
for (i = 0; label; i++) for (i = 0; label; i++)
{ {
user_data = va_arg (args, gpointer); user_data = va_arg (args, gpointer);
widget_ptr = va_arg (args, gpointer); widget_ptr = va_arg (args, GtkWidget **);
if (label != (gpointer) 1) if (label != (gpointer) 1)
menuitem = gtk_menu_item_new_with_label (label); menuitem = gtk_menu_item_new_with_label (label);
@ -101,6 +186,10 @@ gimp_option_menu_new (GtkSignalFunc menu_item_callback,
} }
va_end (args); va_end (args);
if (! menu_only)
{
GtkWidget *optionmenu;
optionmenu = gtk_option_menu_new (); optionmenu = gtk_option_menu_new ();
gtk_option_menu_set_menu (GTK_OPTION_MENU (optionmenu), menu); gtk_option_menu_set_menu (GTK_OPTION_MENU (optionmenu), menu);
@ -110,6 +199,9 @@ gimp_option_menu_new (GtkSignalFunc menu_item_callback,
return optionmenu; return optionmenu;
} }
return menu;
}
GtkWidget * GtkWidget *
gimp_radio_group_new (gboolean in_frame, gimp_radio_group_new (gboolean in_frame,
gchar *frame_title, gchar *frame_title,
@ -160,7 +252,7 @@ gimp_radio_group_new (gboolean in_frame,
callback = va_arg (args, GtkSignalFunc); callback = va_arg (args, GtkSignalFunc);
data = va_arg (args, gpointer); data = va_arg (args, gpointer);
user_data = va_arg (args, gpointer); user_data = va_arg (args, gpointer);
widget_ptr = va_arg (args, gpointer); widget_ptr = va_arg (args, GtkWidget **);
active = va_arg (args, gboolean); active = va_arg (args, gboolean);
if (label != (gpointer) 1) if (label != (gpointer) 1)
@ -181,7 +273,7 @@ gimp_radio_group_new (gboolean in_frame,
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE);
gtk_signal_connect (GTK_OBJECT (button), "toggled", gtk_signal_connect (GTK_OBJECT (button), "toggled",
GTK_SIGNAL_FUNC (callback), callback,
data); data);
gtk_widget_show (button); gtk_widget_show (button);
@ -199,7 +291,7 @@ gimp_radio_group_new (gboolean in_frame,
GtkWidget * GtkWidget *
gimp_radio_group_new2 (gboolean in_frame, gimp_radio_group_new2 (gboolean in_frame,
gchar *frame_title, gchar *frame_title,
GtkSignalFunc callback, GtkSignalFunc radio_button_callback,
gpointer data, gpointer data,
gpointer initial, /* user_data */ gpointer initial, /* user_data */
@ -241,7 +333,7 @@ gimp_radio_group_new2 (gboolean in_frame,
while (label) while (label)
{ {
user_data = va_arg (args, gpointer); user_data = va_arg (args, gpointer);
widget_ptr = va_arg (args, gpointer); widget_ptr = va_arg (args, GtkWidget **);
if (label != (gpointer) 1) if (label != (gpointer) 1)
button = gtk_radio_button_new_with_label (group, label); button = gtk_radio_button_new_with_label (group, label);
@ -261,7 +353,7 @@ gimp_radio_group_new2 (gboolean in_frame,
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE);
gtk_signal_connect (GTK_OBJECT (button), "toggled", gtk_signal_connect (GTK_OBJECT (button), "toggled",
GTK_SIGNAL_FUNC (callback), radio_button_callback,
data); data);
gtk_widget_show (button); gtk_widget_show (button);
@ -433,7 +525,7 @@ gimp_random_seed_new (gint *seed,
} }
/* /*
* Standard Callbacks... * Standard Callbacks
*/ */
static void static void
@ -561,24 +653,24 @@ gimp_unit_menu_update (GtkWidget *widget,
} }
/* /*
* Helper Functions... * Helper Functions
*/ */
/* add aligned label & widget to a two-column table */ /* add aligned label & widget to a two-column table */
void void
gimp_table_attach_aligned (GtkTable *table, gimp_table_attach_aligned (GtkTable *table,
gint row, gint row,
gchar *text, gchar *label_text,
gfloat xalign, gfloat xalign,
gfloat yalign, gfloat yalign,
GtkWidget *widget, GtkWidget *widget,
gboolean left_adjust) gboolean left_adjust)
{ {
if (text) if (label_text)
{ {
GtkWidget *label; GtkWidget *label;
label = gtk_label_new (text); label = gtk_label_new (label_text);
gtk_misc_set_alignment (GTK_MISC (label), xalign, yalign); gtk_misc_set_alignment (GTK_MISC (label), xalign, yalign);
gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_RIGHT); gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_RIGHT);
gtk_table_attach (table, GTK_WIDGET (label), 0, 1, row, row + 1, gtk_table_attach (table, GTK_WIDGET (label), 0, 1, row, row + 1,

View File

@ -32,7 +32,21 @@ extern "C" {
* Widget Constructors * Widget Constructors
*/ */
GtkWidget * gimp_option_menu_new (GtkSignalFunc menu_item_callback, GtkWidget * gimp_option_menu_new (gboolean menu_only,
/* specify menu items as va_list:
* gchar *label,
* GtkSignalFunc callback,
* gpointer data,
* gpointer user_data,
* GtkWidget **widget_ptr,
* gboolean active
*/
...);
GtkWidget * gimp_option_menu_new2 (gboolean menu_only,
GtkSignalFunc menu_item_callback,
gpointer data, gpointer data,
gpointer initial, /* user_data */ gpointer initial, /* user_data */
@ -60,7 +74,7 @@ GtkWidget * gimp_radio_group_new (gboolean in_frame,
GtkWidget * gimp_radio_group_new2 (gboolean in_frame, GtkWidget * gimp_radio_group_new2 (gboolean in_frame,
gchar *frame_title, gchar *frame_title,
GtkSignalFunc callback, GtkSignalFunc radio_button_callback,
gpointer data, gpointer data,
gpointer initial, /* user_data */ gpointer initial, /* user_data */
@ -136,7 +150,7 @@ void gimp_unit_menu_update (GtkWidget *widget,
/* add aligned label & widget to a two-column table */ /* add aligned label & widget to a two-column table */
void gimp_table_attach_aligned (GtkTable *table, void gimp_table_attach_aligned (GtkTable *table,
gint row, gint row,
gchar *text, gchar *label_text,
gfloat xalign, gfloat xalign,
gfloat yalign, gfloat yalign,
GtkWidget *widget, GtkWidget *widget,

View File

@ -226,8 +226,8 @@ gimp_dialog_create_action_areav (GtkDialog *dialog,
{ {
callback = va_arg (args, GtkSignalFunc); callback = va_arg (args, GtkSignalFunc);
data = va_arg (args, gpointer); data = va_arg (args, gpointer);
slot_object = va_arg (args, gpointer); slot_object = va_arg (args, GtkObject *);
widget_ptr = va_arg (args, gpointer); widget_ptr = va_arg (args, GtkWidget **);
default_action = va_arg (args, gboolean); default_action = va_arg (args, gboolean);
connect_delete = va_arg (args, gboolean); connect_delete = va_arg (args, gboolean);

View File

@ -35,11 +35,97 @@ static void gimp_toggle_button_sensitive_update (GtkToggleButton *toggle_button)
/* /*
* Widget Constructors... * Widget Constructors
*/ */
GtkWidget * GtkWidget *
gimp_option_menu_new (GtkSignalFunc menu_item_callback, gimp_option_menu_new (gboolean menu_only,
/* specify menu items as va_list:
* gchar *label,
* GtkSignalFunc callback,
* gpointer data,
* gpointer user_data,
* GtkWidget **widget_ptr,
* gboolean active
*/
...)
{
GtkWidget *menu;
GtkWidget *menuitem;
/* menu item variables */
gchar *label;
GtkSignalFunc callback;
gpointer data;
gpointer user_data;
GtkWidget **widget_ptr;
gboolean active;
va_list args;
gint i;
gint initial_index;
menu = gtk_menu_new ();
/* create the menu items */
initial_index = 0;
va_start (args, menu_only);
label = va_arg (args, gchar*);
for (i = 0; label; i++)
{
callback = va_arg (args, GtkSignalFunc);
data = va_arg (args, gpointer);
user_data = va_arg (args, gpointer);
widget_ptr = va_arg (args, GtkWidget **);
active = va_arg (args, gboolean);
if (label != (gpointer) 1)
menuitem = gtk_menu_item_new_with_label (label);
else
menuitem = gtk_menu_item_new ();
gtk_menu_append (GTK_MENU (menu), menuitem);
gtk_signal_connect (GTK_OBJECT (menuitem), "activate",
callback,
data);
if (user_data)
gtk_object_set_user_data (GTK_OBJECT (menuitem), user_data);
if (widget_ptr)
*widget_ptr = menuitem;
gtk_widget_show (menuitem);
/* remember the initial menu item */
if (active)
initial_index = i;
label = va_arg (args, gchar*);
}
va_end (args);
if (! menu_only)
{
GtkWidget *optionmenu;
optionmenu = gtk_option_menu_new ();
gtk_option_menu_set_menu (GTK_OPTION_MENU (optionmenu), menu);
/* select the initial menu item */
gtk_option_menu_set_history (GTK_OPTION_MENU (optionmenu), initial_index);
return optionmenu;
}
return menu;
}
GtkWidget *
gimp_option_menu_new2 (gboolean menu_only,
GtkSignalFunc menu_item_callback,
gpointer data, gpointer data,
gpointer initial, /* user_data */ gpointer initial, /* user_data */
@ -53,7 +139,6 @@ gimp_option_menu_new (GtkSignalFunc menu_item_callback,
{ {
GtkWidget *menu; GtkWidget *menu;
GtkWidget *menuitem; GtkWidget *menuitem;
GtkWidget *optionmenu;
/* menu item variables */ /* menu item variables */
gchar *label; gchar *label;
@ -73,7 +158,7 @@ gimp_option_menu_new (GtkSignalFunc menu_item_callback,
for (i = 0; label; i++) for (i = 0; label; i++)
{ {
user_data = va_arg (args, gpointer); user_data = va_arg (args, gpointer);
widget_ptr = va_arg (args, gpointer); widget_ptr = va_arg (args, GtkWidget **);
if (label != (gpointer) 1) if (label != (gpointer) 1)
menuitem = gtk_menu_item_new_with_label (label); menuitem = gtk_menu_item_new_with_label (label);
@ -101,6 +186,10 @@ gimp_option_menu_new (GtkSignalFunc menu_item_callback,
} }
va_end (args); va_end (args);
if (! menu_only)
{
GtkWidget *optionmenu;
optionmenu = gtk_option_menu_new (); optionmenu = gtk_option_menu_new ();
gtk_option_menu_set_menu (GTK_OPTION_MENU (optionmenu), menu); gtk_option_menu_set_menu (GTK_OPTION_MENU (optionmenu), menu);
@ -110,6 +199,9 @@ gimp_option_menu_new (GtkSignalFunc menu_item_callback,
return optionmenu; return optionmenu;
} }
return menu;
}
GtkWidget * GtkWidget *
gimp_radio_group_new (gboolean in_frame, gimp_radio_group_new (gboolean in_frame,
gchar *frame_title, gchar *frame_title,
@ -160,7 +252,7 @@ gimp_radio_group_new (gboolean in_frame,
callback = va_arg (args, GtkSignalFunc); callback = va_arg (args, GtkSignalFunc);
data = va_arg (args, gpointer); data = va_arg (args, gpointer);
user_data = va_arg (args, gpointer); user_data = va_arg (args, gpointer);
widget_ptr = va_arg (args, gpointer); widget_ptr = va_arg (args, GtkWidget **);
active = va_arg (args, gboolean); active = va_arg (args, gboolean);
if (label != (gpointer) 1) if (label != (gpointer) 1)
@ -181,7 +273,7 @@ gimp_radio_group_new (gboolean in_frame,
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE);
gtk_signal_connect (GTK_OBJECT (button), "toggled", gtk_signal_connect (GTK_OBJECT (button), "toggled",
GTK_SIGNAL_FUNC (callback), callback,
data); data);
gtk_widget_show (button); gtk_widget_show (button);
@ -199,7 +291,7 @@ gimp_radio_group_new (gboolean in_frame,
GtkWidget * GtkWidget *
gimp_radio_group_new2 (gboolean in_frame, gimp_radio_group_new2 (gboolean in_frame,
gchar *frame_title, gchar *frame_title,
GtkSignalFunc callback, GtkSignalFunc radio_button_callback,
gpointer data, gpointer data,
gpointer initial, /* user_data */ gpointer initial, /* user_data */
@ -241,7 +333,7 @@ gimp_radio_group_new2 (gboolean in_frame,
while (label) while (label)
{ {
user_data = va_arg (args, gpointer); user_data = va_arg (args, gpointer);
widget_ptr = va_arg (args, gpointer); widget_ptr = va_arg (args, GtkWidget **);
if (label != (gpointer) 1) if (label != (gpointer) 1)
button = gtk_radio_button_new_with_label (group, label); button = gtk_radio_button_new_with_label (group, label);
@ -261,7 +353,7 @@ gimp_radio_group_new2 (gboolean in_frame,
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE);
gtk_signal_connect (GTK_OBJECT (button), "toggled", gtk_signal_connect (GTK_OBJECT (button), "toggled",
GTK_SIGNAL_FUNC (callback), radio_button_callback,
data); data);
gtk_widget_show (button); gtk_widget_show (button);
@ -433,7 +525,7 @@ gimp_random_seed_new (gint *seed,
} }
/* /*
* Standard Callbacks... * Standard Callbacks
*/ */
static void static void
@ -561,24 +653,24 @@ gimp_unit_menu_update (GtkWidget *widget,
} }
/* /*
* Helper Functions... * Helper Functions
*/ */
/* add aligned label & widget to a two-column table */ /* add aligned label & widget to a two-column table */
void void
gimp_table_attach_aligned (GtkTable *table, gimp_table_attach_aligned (GtkTable *table,
gint row, gint row,
gchar *text, gchar *label_text,
gfloat xalign, gfloat xalign,
gfloat yalign, gfloat yalign,
GtkWidget *widget, GtkWidget *widget,
gboolean left_adjust) gboolean left_adjust)
{ {
if (text) if (label_text)
{ {
GtkWidget *label; GtkWidget *label;
label = gtk_label_new (text); label = gtk_label_new (label_text);
gtk_misc_set_alignment (GTK_MISC (label), xalign, yalign); gtk_misc_set_alignment (GTK_MISC (label), xalign, yalign);
gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_RIGHT); gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_RIGHT);
gtk_table_attach (table, GTK_WIDGET (label), 0, 1, row, row + 1, gtk_table_attach (table, GTK_WIDGET (label), 0, 1, row, row + 1,

View File

@ -32,7 +32,21 @@ extern "C" {
* Widget Constructors * Widget Constructors
*/ */
GtkWidget * gimp_option_menu_new (GtkSignalFunc menu_item_callback, GtkWidget * gimp_option_menu_new (gboolean menu_only,
/* specify menu items as va_list:
* gchar *label,
* GtkSignalFunc callback,
* gpointer data,
* gpointer user_data,
* GtkWidget **widget_ptr,
* gboolean active
*/
...);
GtkWidget * gimp_option_menu_new2 (gboolean menu_only,
GtkSignalFunc menu_item_callback,
gpointer data, gpointer data,
gpointer initial, /* user_data */ gpointer initial, /* user_data */
@ -60,7 +74,7 @@ GtkWidget * gimp_radio_group_new (gboolean in_frame,
GtkWidget * gimp_radio_group_new2 (gboolean in_frame, GtkWidget * gimp_radio_group_new2 (gboolean in_frame,
gchar *frame_title, gchar *frame_title,
GtkSignalFunc callback, GtkSignalFunc radio_button_callback,
gpointer data, gpointer data,
gpointer initial, /* user_data */ gpointer initial, /* user_data */
@ -136,7 +150,7 @@ void gimp_unit_menu_update (GtkWidget *widget,
/* add aligned label & widget to a two-column table */ /* add aligned label & widget to a two-column table */
void gimp_table_attach_aligned (GtkTable *table, void gimp_table_attach_aligned (GtkTable *table,
gint row, gint row,
gchar *text, gchar *label_text,
gfloat xalign, gfloat xalign,
gfloat yalign, gfloat yalign,
GtkWidget *widget, GtkWidget *widget,

View File

@ -66,7 +66,12 @@ struct borderaverage_data
{ {
gint thickness; gint thickness;
gint bucket_exponent; gint bucket_exponent;
} borderaverage_data = { 3, 4 }; }
borderaverage_data =
{
3,
4
};
MAIN () MAIN ()
@ -444,7 +449,7 @@ borderaverage_dialog (void)
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
gtk_widget_show (label); gtk_widget_show (label);
menu = gimp_option_menu_new (gimp_menu_item_update, menu = gimp_option_menu_new2 (FALSE, gimp_menu_item_update,
&borderaverage_bucket_exponent, &borderaverage_bucket_exponent,
(gpointer) borderaverage_bucket_exponent, (gpointer) borderaverage_bucket_exponent,
@ -459,8 +464,6 @@ borderaverage_dialog (void)
_("256 (nonsense?)"), (gpointer) 8, NULL, _("256 (nonsense?)"), (gpointer) 8, NULL,
NULL); NULL);
gtk_box_pack_start (GTK_BOX (hbox), menu, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), menu, FALSE, FALSE, 0);
gtk_widget_show (menu); gtk_widget_show (menu);

View File

@ -66,7 +66,12 @@ struct borderaverage_data
{ {
gint thickness; gint thickness;
gint bucket_exponent; gint bucket_exponent;
} borderaverage_data = { 3, 4 }; }
borderaverage_data =
{
3,
4
};
MAIN () MAIN ()
@ -444,7 +449,7 @@ borderaverage_dialog (void)
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
gtk_widget_show (label); gtk_widget_show (label);
menu = gimp_option_menu_new (gimp_menu_item_update, menu = gimp_option_menu_new2 (FALSE, gimp_menu_item_update,
&borderaverage_bucket_exponent, &borderaverage_bucket_exponent,
(gpointer) borderaverage_bucket_exponent, (gpointer) borderaverage_bucket_exponent,
@ -459,8 +464,6 @@ borderaverage_dialog (void)
_("256 (nonsense?)"), (gpointer) 8, NULL, _("256 (nonsense?)"), (gpointer) 8, NULL,
NULL); NULL);
gtk_box_pack_start (GTK_BOX (hbox), menu, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), menu, FALSE, FALSE, 0);
gtk_widget_show (menu); gtk_widget_show (menu);

View File

@ -1365,7 +1365,7 @@ save_dialog (gint32 image_ID)
gtk_widget_show (label); gtk_widget_show (label);
disposal_option_menu = disposal_option_menu =
gimp_option_menu_new (gimp_menu_item_update, gimp_option_menu_new2 (FALSE, gimp_menu_item_update,
&gsvals.default_dispose, &gsvals.default_dispose,
(gpointer) gsvals.default_dispose, (gpointer) gsvals.default_dispose,

View File

@ -697,7 +697,6 @@ randomize_dialog (void)
GtkWidget *frame; GtkWidget *frame;
GtkWidget *table; GtkWidget *table;
GtkWidget *seed_hbox; GtkWidget *seed_hbox;
GtkWidget *spinbutton;
GtkObject *adj; GtkObject *adj;
gchar **argv; gchar **argv;
gint argc; gint argc;