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>
* plug-ins/common/newsprint.c

View File

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

View File

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

View File

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

View File

@ -226,8 +226,8 @@ gimp_dialog_create_action_areav (GtkDialog *dialog,
{
callback = va_arg (args, GtkSignalFunc);
data = va_arg (args, gpointer);
slot_object = va_arg (args, gpointer);
widget_ptr = va_arg (args, gpointer);
slot_object = va_arg (args, GtkObject *);
widget_ptr = va_arg (args, GtkWidget **);
default_action = 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 *
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 initial, /* user_data */
@ -53,7 +139,6 @@ gimp_option_menu_new (GtkSignalFunc menu_item_callback,
{
GtkWidget *menu;
GtkWidget *menuitem;
GtkWidget *optionmenu;
/* menu item variables */
gchar *label;
@ -73,7 +158,7 @@ gimp_option_menu_new (GtkSignalFunc menu_item_callback,
for (i = 0; label; i++)
{
user_data = va_arg (args, gpointer);
widget_ptr = va_arg (args, gpointer);
widget_ptr = va_arg (args, GtkWidget **);
if (label != (gpointer) 1)
menuitem = gtk_menu_item_new_with_label (label);
@ -101,6 +186,10 @@ gimp_option_menu_new (GtkSignalFunc menu_item_callback,
}
va_end (args);
if (! menu_only)
{
GtkWidget *optionmenu;
optionmenu = gtk_option_menu_new ();
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 menu;
}
GtkWidget *
gimp_radio_group_new (gboolean in_frame,
gchar *frame_title,
@ -160,7 +252,7 @@ gimp_radio_group_new (gboolean in_frame,
callback = va_arg (args, GtkSignalFunc);
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);
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_signal_connect (GTK_OBJECT (button), "toggled",
GTK_SIGNAL_FUNC (callback),
callback,
data);
gtk_widget_show (button);
@ -199,7 +291,7 @@ gimp_radio_group_new (gboolean in_frame,
GtkWidget *
gimp_radio_group_new2 (gboolean in_frame,
gchar *frame_title,
GtkSignalFunc callback,
GtkSignalFunc radio_button_callback,
gpointer data,
gpointer initial, /* user_data */
@ -241,7 +333,7 @@ gimp_radio_group_new2 (gboolean in_frame,
while (label)
{
user_data = va_arg (args, gpointer);
widget_ptr = va_arg (args, gpointer);
widget_ptr = va_arg (args, GtkWidget **);
if (label != (gpointer) 1)
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_signal_connect (GTK_OBJECT (button), "toggled",
GTK_SIGNAL_FUNC (callback),
radio_button_callback,
data);
gtk_widget_show (button);
@ -433,7 +525,7 @@ gimp_random_seed_new (gint *seed,
}
/*
* Standard Callbacks...
* Standard Callbacks
*/
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 */
void
gimp_table_attach_aligned (GtkTable *table,
gint row,
gchar *text,
gchar *label_text,
gfloat xalign,
gfloat yalign,
GtkWidget *widget,
gboolean left_adjust)
{
if (text)
if (label_text)
{
GtkWidget *label;
label = gtk_label_new (text);
label = gtk_label_new (label_text);
gtk_misc_set_alignment (GTK_MISC (label), xalign, yalign);
gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_RIGHT);
gtk_table_attach (table, GTK_WIDGET (label), 0, 1, row, row + 1,

View File

@ -32,7 +32,21 @@ extern "C" {
* 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 initial, /* user_data */
@ -60,7 +74,7 @@ GtkWidget * gimp_radio_group_new (gboolean in_frame,
GtkWidget * gimp_radio_group_new2 (gboolean in_frame,
gchar *frame_title,
GtkSignalFunc callback,
GtkSignalFunc radio_button_callback,
gpointer 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 */
void gimp_table_attach_aligned (GtkTable *table,
gint row,
gchar *text,
gchar *label_text,
gfloat xalign,
gfloat yalign,
GtkWidget *widget,

View File

@ -226,8 +226,8 @@ gimp_dialog_create_action_areav (GtkDialog *dialog,
{
callback = va_arg (args, GtkSignalFunc);
data = va_arg (args, gpointer);
slot_object = va_arg (args, gpointer);
widget_ptr = va_arg (args, gpointer);
slot_object = va_arg (args, GtkObject *);
widget_ptr = va_arg (args, GtkWidget **);
default_action = 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 *
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 initial, /* user_data */
@ -53,7 +139,6 @@ gimp_option_menu_new (GtkSignalFunc menu_item_callback,
{
GtkWidget *menu;
GtkWidget *menuitem;
GtkWidget *optionmenu;
/* menu item variables */
gchar *label;
@ -73,7 +158,7 @@ gimp_option_menu_new (GtkSignalFunc menu_item_callback,
for (i = 0; label; i++)
{
user_data = va_arg (args, gpointer);
widget_ptr = va_arg (args, gpointer);
widget_ptr = va_arg (args, GtkWidget **);
if (label != (gpointer) 1)
menuitem = gtk_menu_item_new_with_label (label);
@ -101,6 +186,10 @@ gimp_option_menu_new (GtkSignalFunc menu_item_callback,
}
va_end (args);
if (! menu_only)
{
GtkWidget *optionmenu;
optionmenu = gtk_option_menu_new ();
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 menu;
}
GtkWidget *
gimp_radio_group_new (gboolean in_frame,
gchar *frame_title,
@ -160,7 +252,7 @@ gimp_radio_group_new (gboolean in_frame,
callback = va_arg (args, GtkSignalFunc);
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);
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_signal_connect (GTK_OBJECT (button), "toggled",
GTK_SIGNAL_FUNC (callback),
callback,
data);
gtk_widget_show (button);
@ -199,7 +291,7 @@ gimp_radio_group_new (gboolean in_frame,
GtkWidget *
gimp_radio_group_new2 (gboolean in_frame,
gchar *frame_title,
GtkSignalFunc callback,
GtkSignalFunc radio_button_callback,
gpointer data,
gpointer initial, /* user_data */
@ -241,7 +333,7 @@ gimp_radio_group_new2 (gboolean in_frame,
while (label)
{
user_data = va_arg (args, gpointer);
widget_ptr = va_arg (args, gpointer);
widget_ptr = va_arg (args, GtkWidget **);
if (label != (gpointer) 1)
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_signal_connect (GTK_OBJECT (button), "toggled",
GTK_SIGNAL_FUNC (callback),
radio_button_callback,
data);
gtk_widget_show (button);
@ -433,7 +525,7 @@ gimp_random_seed_new (gint *seed,
}
/*
* Standard Callbacks...
* Standard Callbacks
*/
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 */
void
gimp_table_attach_aligned (GtkTable *table,
gint row,
gchar *text,
gchar *label_text,
gfloat xalign,
gfloat yalign,
GtkWidget *widget,
gboolean left_adjust)
{
if (text)
if (label_text)
{
GtkWidget *label;
label = gtk_label_new (text);
label = gtk_label_new (label_text);
gtk_misc_set_alignment (GTK_MISC (label), xalign, yalign);
gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_RIGHT);
gtk_table_attach (table, GTK_WIDGET (label), 0, 1, row, row + 1,

View File

@ -32,7 +32,21 @@ extern "C" {
* 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 initial, /* user_data */
@ -60,7 +74,7 @@ GtkWidget * gimp_radio_group_new (gboolean in_frame,
GtkWidget * gimp_radio_group_new2 (gboolean in_frame,
gchar *frame_title,
GtkSignalFunc callback,
GtkSignalFunc radio_button_callback,
gpointer 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 */
void gimp_table_attach_aligned (GtkTable *table,
gint row,
gchar *text,
gchar *label_text,
gfloat xalign,
gfloat yalign,
GtkWidget *widget,

View File

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

View File

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

View File

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

View File

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