From a7b2c160b417cc6b58a49242dab9ee249bf5f28e Mon Sep 17 00:00:00 2001 From: Michael Natterer Date: Wed, 27 Aug 2003 00:52:00 +0000 Subject: [PATCH] Cleaned up my "To Selection" cleanup: 2003-08-27 Michael Natterer Cleaned up my "To Selection" cleanup: * app/gui/channels-commands.[ch] * app/gui/layers-commands.[ch] * app/gui/vectors-commands.[ch]: removed the separate cmd_callbacks for REPLACE,ADD,SUBTRACT,INTERSECT and pass the operation as "guint action" to the callback. * app/gui/channels-menu.c * app/gui/image-menu.c * app/gui/layers-menu.c * app/gui/vectors-menu.c: changed accordingly. --- ChangeLog | 15 ++++ app/actions/channels-commands.c | 41 +++-------- app/actions/channels-commands.h | 43 +++++------- app/actions/layers-commands.c | 88 +++++------------------- app/actions/layers-commands.h | 118 +++++++++++++++----------------- app/actions/vectors-commands.c | 43 +++--------- app/actions/vectors-commands.h | 11 +-- app/gui/channels-commands.c | 41 +++-------- app/gui/channels-commands.h | 43 +++++------- app/gui/channels-menu.c | 8 +-- app/gui/image-menu.c | 16 ++--- app/gui/layers-commands.c | 88 +++++------------------- app/gui/layers-commands.h | 118 +++++++++++++++----------------- app/gui/layers-menu.c | 4 +- app/gui/vectors-commands.c | 43 +++--------- app/gui/vectors-commands.h | 11 +-- app/gui/vectors-menu.c | 8 +-- app/menus/image-menu.c | 16 ++--- 18 files changed, 265 insertions(+), 490 deletions(-) diff --git a/ChangeLog b/ChangeLog index 15b0a6ab73..f2d985bcb2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,18 @@ +2003-08-27 Michael Natterer + + Cleaned up my "To Selection" cleanup: + + * app/gui/channels-commands.[ch] + * app/gui/layers-commands.[ch] + * app/gui/vectors-commands.[ch]: removed the separate + cmd_callbacks for REPLACE,ADD,SUBTRACT,INTERSECT and pass the + operation as "guint action" to the callback. + + * app/gui/channels-menu.c + * app/gui/image-menu.c + * app/gui/layers-menu.c + * app/gui/vectors-menu.c: changed accordingly. + 2003-08-27 Simon Budig * app/vectors/gimpstroke.[ch] diff --git a/app/actions/channels-commands.c b/app/actions/channels-commands.c index 0a9c8afe2d..0034ec018c 100644 --- a/app/actions/channels-commands.c +++ b/app/actions/channels-commands.c @@ -178,12 +178,15 @@ channels_delete_cmd_callback (GtkWidget *widget, gimp_image_flush (gimage); } -static void -channels_channel_to_selection (GtkWidget *widget, - gpointer data, - GimpChannelOps op) +void +channels_to_selection_cmd_callback (GtkWidget *widget, + gpointer data, + guint action) { - GimpImage *gimage; + GimpChannelOps op; + GimpImage *gimage; + + op = (GimpChannelOps) action; if (GIMP_IS_COMPONENT_EDITOR (data)) { @@ -208,34 +211,6 @@ channels_channel_to_selection (GtkWidget *widget, gimp_image_flush (gimage); } -void -channels_selection_replace_cmd_callback (GtkWidget *widget, - gpointer data) -{ - channels_channel_to_selection (widget, data, GIMP_CHANNEL_OP_REPLACE); -} - -void -channels_selection_add_cmd_callback (GtkWidget *widget, - gpointer data) -{ - channels_channel_to_selection (widget, data, GIMP_CHANNEL_OP_ADD); -} - -void -channels_selection_sub_cmd_callback (GtkWidget *widget, - gpointer data) -{ - channels_channel_to_selection (widget, data, GIMP_CHANNEL_OP_SUBTRACT); -} - -void -channels_selection_intersect_cmd_callback (GtkWidget *widget, - gpointer data) -{ - channels_channel_to_selection (widget, data, GIMP_CHANNEL_OP_INTERSECT); -} - void channels_edit_attributes_cmd_callback (GtkWidget *widget, gpointer data) diff --git a/app/actions/channels-commands.h b/app/actions/channels-commands.h index d10851e3f7..a14eca83ee 100644 --- a/app/actions/channels-commands.h +++ b/app/actions/channels-commands.h @@ -20,31 +20,26 @@ #define __CHANNELS_COMMANDS_H__ -void channels_new_cmd_callback (GtkWidget *widget, - gpointer data); -void channels_raise_cmd_callback (GtkWidget *widget, - gpointer data); -void channels_lower_cmd_callback (GtkWidget *widget, - gpointer data); -void channels_duplicate_cmd_callback (GtkWidget *widget, - gpointer data); -void channels_delete_cmd_callback (GtkWidget *widget, - gpointer data); -void channels_selection_replace_cmd_callback (GtkWidget *widget, - gpointer data); -void channels_selection_add_cmd_callback (GtkWidget *widget, - gpointer data); -void channels_selection_sub_cmd_callback (GtkWidget *widget, - gpointer data); -void channels_selection_intersect_cmd_callback (GtkWidget *widget, - gpointer data); -void channels_edit_attributes_cmd_callback (GtkWidget *widget, - gpointer data); +void channels_new_cmd_callback (GtkWidget *widget, + gpointer data); +void channels_raise_cmd_callback (GtkWidget *widget, + gpointer data); +void channels_lower_cmd_callback (GtkWidget *widget, + gpointer data); +void channels_duplicate_cmd_callback (GtkWidget *widget, + gpointer data); +void channels_delete_cmd_callback (GtkWidget *widget, + gpointer data); +void channels_to_selection_cmd_callback (GtkWidget *widget, + gpointer data, + guint action); +void channels_edit_attributes_cmd_callback (GtkWidget *widget, + gpointer data); -void channels_new_channel_query (GimpImage *gimage, - GimpChannel *template, - gboolean interactive); -void channels_edit_channel_query (GimpChannel *channel); +void channels_new_channel_query (GimpImage *gimage, + GimpChannel *template, + gboolean interactive); +void channels_edit_channel_query (GimpChannel *channel); #endif /* __CHANNELS_COMMANDS_H__ */ diff --git a/app/actions/layers-commands.c b/app/actions/layers-commands.c index 38f970968d..0ffcac3097 100644 --- a/app/actions/layers-commands.c +++ b/app/actions/layers-commands.c @@ -407,16 +407,19 @@ layers_mask_delete_cmd_callback (GtkWidget *widget, } } -static void -layers_mask_to_selection (GtkWidget *widget, - gpointer data, - GimpChannelOps op) +void +layers_mask_to_selection_cmd_callback (GtkWidget *widget, + gpointer data, + guint action) { - GimpImage *gimage; - GimpLayer *active_layer; - GimpLayerMask *mask; + GimpChannelOps op; + GimpImage *gimage; + GimpLayer *active_layer; + GimpLayerMask *mask; return_if_no_layer (gimage, active_layer, data); + op = (GimpChannelOps) action; + mask = gimp_layer_get_mask (active_layer); if (mask) @@ -434,34 +437,6 @@ layers_mask_to_selection (GtkWidget *widget, } } -void -layers_mask_selection_replace_cmd_callback (GtkWidget *widget, - gpointer data) -{ - layers_mask_to_selection (widget, data, GIMP_CHANNEL_OP_REPLACE); -} - -void -layers_mask_selection_add_cmd_callback (GtkWidget *widget, - gpointer data) -{ - layers_mask_to_selection (widget, data, GIMP_CHANNEL_OP_ADD); -} - -void -layers_mask_selection_sub_cmd_callback (GtkWidget *widget, - gpointer data) -{ - layers_mask_to_selection (widget, data, GIMP_CHANNEL_OP_SUBTRACT); -} - -void -layers_mask_selection_intersect_cmd_callback (GtkWidget *widget, - gpointer data) -{ - layers_mask_to_selection (widget, data, GIMP_CHANNEL_OP_INTERSECT); -} - void layers_alpha_add_cmd_callback (GtkWidget *widget, gpointer data) @@ -477,15 +452,18 @@ layers_alpha_add_cmd_callback (GtkWidget *widget, } } -static void -layers_alpha_to_selection (GtkWidget *widget, - gpointer data, - GimpChannelOps op) +void +layers_alpha_to_selection_cmd_callback (GtkWidget *widget, + gpointer data, + guint action) { - GimpImage *gimage; - GimpLayer *active_layer; + GimpChannelOps op; + GimpImage *gimage; + GimpLayer *active_layer; return_if_no_layer (gimage, active_layer, data); + op = (GimpChannelOps) action; + if (gimp_drawable_has_alpha (GIMP_DRAWABLE (active_layer))) { gimp_image_mask_select_alpha (gimage, active_layer, @@ -494,34 +472,6 @@ layers_alpha_to_selection (GtkWidget *widget, } } -void -layers_alpha_selection_replace_cmd_callback (GtkWidget *widget, - gpointer data) -{ - layers_alpha_to_selection (widget, data, GIMP_CHANNEL_OP_REPLACE); -} - -void -layers_alpha_selection_add_cmd_callback (GtkWidget *widget, - gpointer data) -{ - layers_alpha_to_selection (widget, data, GIMP_CHANNEL_OP_ADD); -} - -void -layers_alpha_selection_sub_cmd_callback (GtkWidget *widget, - gpointer data) -{ - layers_alpha_to_selection (widget, data, GIMP_CHANNEL_OP_SUBTRACT); -} - -void -layers_alpha_selection_intersect_cmd_callback (GtkWidget *widget, - gpointer data) -{ - layers_alpha_to_selection (widget, data, GIMP_CHANNEL_OP_INTERSECT); -} - void layers_edit_attributes_cmd_callback (GtkWidget *widget, gpointer data) diff --git a/app/actions/layers-commands.h b/app/actions/layers-commands.h index 44007d39b2..140a6381f4 100644 --- a/app/actions/layers-commands.h +++ b/app/actions/layers-commands.h @@ -20,77 +20,67 @@ #define __LAYERS_COMMANDS_H__ -void layers_select_previous_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_select_next_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_select_top_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_select_bottom_cmd_callback (GtkWidget *widet, - gpointer data); +void layers_select_previous_cmd_callback (GtkWidget *widet, + gpointer data); +void layers_select_next_cmd_callback (GtkWidget *widet, + gpointer data); +void layers_select_top_cmd_callback (GtkWidget *widet, + gpointer data); +void layers_select_bottom_cmd_callback (GtkWidget *widet, + gpointer data); -void layers_raise_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_lower_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_raise_to_top_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_lower_to_bottom_cmd_callback (GtkWidget *widet, - gpointer data); +void layers_raise_cmd_callback (GtkWidget *widet, + gpointer data); +void layers_lower_cmd_callback (GtkWidget *widet, + gpointer data); +void layers_raise_to_top_cmd_callback (GtkWidget *widet, + gpointer data); +void layers_lower_to_bottom_cmd_callback (GtkWidget *widet, + gpointer data); -void layers_new_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_duplicate_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_anchor_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_merge_down_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_delete_cmd_callback (GtkWidget *widet, - gpointer data); +void layers_new_cmd_callback (GtkWidget *widet, + gpointer data); +void layers_duplicate_cmd_callback (GtkWidget *widet, + gpointer data); +void layers_anchor_cmd_callback (GtkWidget *widet, + gpointer data); +void layers_merge_down_cmd_callback (GtkWidget *widet, + gpointer data); +void layers_delete_cmd_callback (GtkWidget *widet, + gpointer data); -void layers_resize_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_resize_to_image_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_scale_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_crop_cmd_callback (GtkWidget *widet, - gpointer data); +void layers_resize_cmd_callback (GtkWidget *widet, + gpointer data); +void layers_resize_to_image_cmd_callback (GtkWidget *widet, + gpointer data); +void layers_scale_cmd_callback (GtkWidget *widet, + gpointer data); +void layers_crop_cmd_callback (GtkWidget *widet, + gpointer data); -void layers_mask_add_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_mask_apply_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_mask_delete_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_mask_selection_replace_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_mask_selection_add_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_mask_selection_sub_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_mask_selection_intersect_cmd_callback (GtkWidget *widet, - gpointer data); +void layers_mask_add_cmd_callback (GtkWidget *widet, + gpointer data); +void layers_mask_apply_cmd_callback (GtkWidget *widet, + gpointer data); +void layers_mask_delete_cmd_callback (GtkWidget *widet, + gpointer data); +void layers_mask_to_selection_cmd_callback (GtkWidget *widet, + gpointer data, + guint action); -void layers_alpha_add_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_alpha_selection_replace_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_alpha_selection_add_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_alpha_selection_sub_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_alpha_selection_intersect_cmd_callback (GtkWidget *widet, - gpointer data); +void layers_alpha_add_cmd_callback (GtkWidget *widet, + gpointer data); +void layers_alpha_to_selection_cmd_callback (GtkWidget *widet, + gpointer data, + guint action); -void layers_edit_attributes_cmd_callback (GtkWidget *widet, - gpointer data); +void layers_edit_attributes_cmd_callback (GtkWidget *widet, + gpointer data); -void layers_new_layer_query (GimpImage *gimage, - GimpLayer *template, - gboolean interactive); -void layers_edit_layer_query (GimpLayer *layer); +void layers_new_layer_query (GimpImage *gimage, + GimpLayer *template, + gboolean interactive); +void layers_edit_layer_query (GimpLayer *layer); #endif /* __LAYERS_COMMANDS_H__ */ diff --git a/app/actions/vectors-commands.c b/app/actions/vectors-commands.c index 7321199f42..b20ea7f7aa 100644 --- a/app/actions/vectors-commands.c +++ b/app/actions/vectors-commands.c @@ -145,15 +145,18 @@ vectors_delete_cmd_callback (GtkWidget *widget, gimp_image_flush (gimage); } -static void -vectors_vectors_to_selection (GtkWidget *widget, - gpointer data, - GimpChannelOps op) +void +vectors_to_selection_cmd_callback (GtkWidget *widget, + gpointer data, + guint action) { - GimpImage *gimage; - GimpVectors *active_vectors; + GimpChannelOps op; + GimpImage *gimage; + GimpVectors *active_vectors; return_if_no_vectors (gimage, active_vectors, data); + op = (GimpChannelOps) action; + gimp_image_mask_select_vectors (gimage, active_vectors, op, @@ -162,34 +165,6 @@ vectors_vectors_to_selection (GtkWidget *widget, gimp_image_flush (gimage); } -void -vectors_selection_replace_cmd_callback (GtkWidget *widget, - gpointer data) -{ - vectors_vectors_to_selection (widget, data, GIMP_CHANNEL_OP_REPLACE); -} - -void -vectors_selection_add_cmd_callback (GtkWidget *widget, - gpointer data) -{ - vectors_vectors_to_selection (widget, data, GIMP_CHANNEL_OP_ADD); -} - -void -vectors_selection_sub_cmd_callback (GtkWidget *widget, - gpointer data) -{ - vectors_vectors_to_selection (widget, data, GIMP_CHANNEL_OP_SUBTRACT); -} - -void -vectors_selection_intersect_cmd_callback (GtkWidget *widget, - gpointer data) -{ - vectors_vectors_to_selection (widget, data, GIMP_CHANNEL_OP_INTERSECT); -} - void vectors_selection_to_vectors_cmd_callback (GtkWidget *widget, gpointer data) diff --git a/app/actions/vectors-commands.h b/app/actions/vectors-commands.h index 7b0ab4ad56..68d89e5d9b 100644 --- a/app/actions/vectors-commands.h +++ b/app/actions/vectors-commands.h @@ -30,14 +30,9 @@ void vectors_duplicate_cmd_callback (GtkWidget *widget, gpointer data); void vectors_delete_cmd_callback (GtkWidget *widget, gpointer data); -void vectors_selection_replace_cmd_callback (GtkWidget *widget, - gpointer data); -void vectors_selection_add_cmd_callback (GtkWidget *widget, - gpointer data); -void vectors_selection_sub_cmd_callback (GtkWidget *widget, - gpointer data); -void vectors_selection_intersect_cmd_callback (GtkWidget *widget, - gpointer data); +void vectors_to_selection_cmd_callback (GtkWidget *widget, + gpointer data, + guint action); void vectors_selection_to_vectors_cmd_callback (GtkWidget *widget, gpointer data); void vectors_stroke_cmd_callback (GtkWidget *widget, diff --git a/app/gui/channels-commands.c b/app/gui/channels-commands.c index 0a9c8afe2d..0034ec018c 100644 --- a/app/gui/channels-commands.c +++ b/app/gui/channels-commands.c @@ -178,12 +178,15 @@ channels_delete_cmd_callback (GtkWidget *widget, gimp_image_flush (gimage); } -static void -channels_channel_to_selection (GtkWidget *widget, - gpointer data, - GimpChannelOps op) +void +channels_to_selection_cmd_callback (GtkWidget *widget, + gpointer data, + guint action) { - GimpImage *gimage; + GimpChannelOps op; + GimpImage *gimage; + + op = (GimpChannelOps) action; if (GIMP_IS_COMPONENT_EDITOR (data)) { @@ -208,34 +211,6 @@ channels_channel_to_selection (GtkWidget *widget, gimp_image_flush (gimage); } -void -channels_selection_replace_cmd_callback (GtkWidget *widget, - gpointer data) -{ - channels_channel_to_selection (widget, data, GIMP_CHANNEL_OP_REPLACE); -} - -void -channels_selection_add_cmd_callback (GtkWidget *widget, - gpointer data) -{ - channels_channel_to_selection (widget, data, GIMP_CHANNEL_OP_ADD); -} - -void -channels_selection_sub_cmd_callback (GtkWidget *widget, - gpointer data) -{ - channels_channel_to_selection (widget, data, GIMP_CHANNEL_OP_SUBTRACT); -} - -void -channels_selection_intersect_cmd_callback (GtkWidget *widget, - gpointer data) -{ - channels_channel_to_selection (widget, data, GIMP_CHANNEL_OP_INTERSECT); -} - void channels_edit_attributes_cmd_callback (GtkWidget *widget, gpointer data) diff --git a/app/gui/channels-commands.h b/app/gui/channels-commands.h index d10851e3f7..a14eca83ee 100644 --- a/app/gui/channels-commands.h +++ b/app/gui/channels-commands.h @@ -20,31 +20,26 @@ #define __CHANNELS_COMMANDS_H__ -void channels_new_cmd_callback (GtkWidget *widget, - gpointer data); -void channels_raise_cmd_callback (GtkWidget *widget, - gpointer data); -void channels_lower_cmd_callback (GtkWidget *widget, - gpointer data); -void channels_duplicate_cmd_callback (GtkWidget *widget, - gpointer data); -void channels_delete_cmd_callback (GtkWidget *widget, - gpointer data); -void channels_selection_replace_cmd_callback (GtkWidget *widget, - gpointer data); -void channels_selection_add_cmd_callback (GtkWidget *widget, - gpointer data); -void channels_selection_sub_cmd_callback (GtkWidget *widget, - gpointer data); -void channels_selection_intersect_cmd_callback (GtkWidget *widget, - gpointer data); -void channels_edit_attributes_cmd_callback (GtkWidget *widget, - gpointer data); +void channels_new_cmd_callback (GtkWidget *widget, + gpointer data); +void channels_raise_cmd_callback (GtkWidget *widget, + gpointer data); +void channels_lower_cmd_callback (GtkWidget *widget, + gpointer data); +void channels_duplicate_cmd_callback (GtkWidget *widget, + gpointer data); +void channels_delete_cmd_callback (GtkWidget *widget, + gpointer data); +void channels_to_selection_cmd_callback (GtkWidget *widget, + gpointer data, + guint action); +void channels_edit_attributes_cmd_callback (GtkWidget *widget, + gpointer data); -void channels_new_channel_query (GimpImage *gimage, - GimpChannel *template, - gboolean interactive); -void channels_edit_channel_query (GimpChannel *channel); +void channels_new_channel_query (GimpImage *gimage, + GimpChannel *template, + gboolean interactive); +void channels_edit_channel_query (GimpChannel *channel); #endif /* __CHANNELS_COMMANDS_H__ */ diff --git a/app/gui/channels-menu.c b/app/gui/channels-menu.c index 181937a0d9..56aa56daa2 100644 --- a/app/gui/channels-menu.c +++ b/app/gui/channels-menu.c @@ -70,22 +70,22 @@ GimpItemFactoryEntry channels_menu_entries[] = MENU_SEPARATOR ("/---"), { { N_("/Channel to Sele_ction"), "S", - channels_selection_replace_cmd_callback, 0, + channels_to_selection_cmd_callback, GIMP_CHANNEL_OP_REPLACE, "", GIMP_STOCK_SELECTION_REPLACE }, NULL, GIMP_HELP_CHANNEL_SELECTION_REPLACE, NULL }, { { N_("/_Add to Selection"), NULL, - channels_selection_add_cmd_callback, 0, + channels_to_selection_cmd_callback, GIMP_CHANNEL_OP_ADD, "", GIMP_STOCK_SELECTION_ADD }, NULL, GIMP_HELP_CHANNEL_SELECTION_ADD, NULL }, { { N_("/_Subtract from Selection"), NULL, - channels_selection_sub_cmd_callback, 0, + channels_to_selection_cmd_callback, GIMP_CHANNEL_OP_SUBTRACT, "", GIMP_STOCK_SELECTION_SUBTRACT }, NULL, GIMP_HELP_CHANNEL_SELECTION_SUBTRACT, NULL }, { { N_("/_Intersect with Selection"), NULL, - channels_selection_intersect_cmd_callback, 0, + channels_to_selection_cmd_callback, GIMP_CHANNEL_OP_INTERSECT, "", GIMP_STOCK_SELECTION_INTERSECT }, NULL, GIMP_HELP_CHANNEL_SELECTION_INTERSECT, NULL }, diff --git a/app/gui/image-menu.c b/app/gui/image-menu.c index 380f8e76a2..89d5552b42 100644 --- a/app/gui/image-menu.c +++ b/app/gui/image-menu.c @@ -755,22 +755,22 @@ GimpItemFactoryEntry image_menu_entries[] = MENU_SEPARATOR ("/Layer/Mask/---"), { { N_("/Layer/Mask/_Mask to Selection"), NULL, - layers_mask_selection_replace_cmd_callback, 0, + layers_mask_to_selection_cmd_callback, GIMP_CHANNEL_OP_REPLACE, "", GIMP_STOCK_SELECTION_REPLACE }, NULL, GIMP_HELP_LAYER_MASK_SELECTION_REPLACE, NULL }, { { N_("/Layer/Mask/_Add to Selection"), NULL, - layers_mask_selection_add_cmd_callback, 0, + layers_mask_to_selection_cmd_callback, GIMP_CHANNEL_OP_ADD, "", GIMP_STOCK_SELECTION_ADD }, NULL, GIMP_HELP_LAYER_MASK_SELECTION_ADD, NULL }, { { N_("/Layer/Mask/_Subtract from Selection"), NULL, - layers_mask_selection_sub_cmd_callback, 0, + layers_mask_to_selection_cmd_callback, GIMP_CHANNEL_OP_SUBTRACT, "", GIMP_STOCK_SELECTION_SUBTRACT }, NULL, GIMP_HELP_LAYER_MASK_SELECTION_SUBTRACT, NULL }, { { N_("/Layer/Mask/_Intersect with Selection"), NULL, - layers_mask_selection_intersect_cmd_callback, 0, + layers_mask_to_selection_cmd_callback, GIMP_CHANNEL_OP_INTERSECT, "", GIMP_STOCK_SELECTION_INTERSECT }, NULL, GIMP_HELP_LAYER_MASK_SELECTION_INTERSECT, NULL }, @@ -787,22 +787,22 @@ GimpItemFactoryEntry image_menu_entries[] = MENU_SEPARATOR ("/Layer/Transparency/---"), { { N_("/Layer/Transparency/Al_pha to Selection"), NULL, - layers_alpha_selection_replace_cmd_callback, 0, + layers_alpha_to_selection_cmd_callback, GIMP_CHANNEL_OP_REPLACE, "", GIMP_STOCK_SELECTION_REPLACE }, NULL, GIMP_HELP_LAYER_ALPHA_SELECTION_REPLACE, NULL }, { { N_("/Layer/Transparency/A_dd to Selection"), NULL, - layers_alpha_selection_add_cmd_callback, 0, + layers_alpha_to_selection_cmd_callback, GIMP_CHANNEL_OP_ADD, "", GIMP_STOCK_SELECTION_ADD }, NULL, GIMP_HELP_LAYER_ALPHA_SELECTION_ADD, NULL }, { { N_("/Layer/Transparency/_Subtract from Selection"), NULL, - layers_alpha_selection_sub_cmd_callback, 0, + layers_alpha_to_selection_cmd_callback, GIMP_CHANNEL_OP_SUBTRACT, "", GIMP_STOCK_SELECTION_SUBTRACT }, NULL, GIMP_HELP_LAYER_ALPHA_SELECTION_SUBTRACT, NULL }, { { N_("/Layer/Transparency/_Intersect with Selection"), NULL, - layers_alpha_selection_intersect_cmd_callback, 0, + layers_alpha_to_selection_cmd_callback, GIMP_CHANNEL_OP_INTERSECT, "", GIMP_STOCK_SELECTION_INTERSECT }, NULL, GIMP_HELP_LAYER_ALPHA_SELECTION_INTERSECT, NULL }, diff --git a/app/gui/layers-commands.c b/app/gui/layers-commands.c index 38f970968d..0ffcac3097 100644 --- a/app/gui/layers-commands.c +++ b/app/gui/layers-commands.c @@ -407,16 +407,19 @@ layers_mask_delete_cmd_callback (GtkWidget *widget, } } -static void -layers_mask_to_selection (GtkWidget *widget, - gpointer data, - GimpChannelOps op) +void +layers_mask_to_selection_cmd_callback (GtkWidget *widget, + gpointer data, + guint action) { - GimpImage *gimage; - GimpLayer *active_layer; - GimpLayerMask *mask; + GimpChannelOps op; + GimpImage *gimage; + GimpLayer *active_layer; + GimpLayerMask *mask; return_if_no_layer (gimage, active_layer, data); + op = (GimpChannelOps) action; + mask = gimp_layer_get_mask (active_layer); if (mask) @@ -434,34 +437,6 @@ layers_mask_to_selection (GtkWidget *widget, } } -void -layers_mask_selection_replace_cmd_callback (GtkWidget *widget, - gpointer data) -{ - layers_mask_to_selection (widget, data, GIMP_CHANNEL_OP_REPLACE); -} - -void -layers_mask_selection_add_cmd_callback (GtkWidget *widget, - gpointer data) -{ - layers_mask_to_selection (widget, data, GIMP_CHANNEL_OP_ADD); -} - -void -layers_mask_selection_sub_cmd_callback (GtkWidget *widget, - gpointer data) -{ - layers_mask_to_selection (widget, data, GIMP_CHANNEL_OP_SUBTRACT); -} - -void -layers_mask_selection_intersect_cmd_callback (GtkWidget *widget, - gpointer data) -{ - layers_mask_to_selection (widget, data, GIMP_CHANNEL_OP_INTERSECT); -} - void layers_alpha_add_cmd_callback (GtkWidget *widget, gpointer data) @@ -477,15 +452,18 @@ layers_alpha_add_cmd_callback (GtkWidget *widget, } } -static void -layers_alpha_to_selection (GtkWidget *widget, - gpointer data, - GimpChannelOps op) +void +layers_alpha_to_selection_cmd_callback (GtkWidget *widget, + gpointer data, + guint action) { - GimpImage *gimage; - GimpLayer *active_layer; + GimpChannelOps op; + GimpImage *gimage; + GimpLayer *active_layer; return_if_no_layer (gimage, active_layer, data); + op = (GimpChannelOps) action; + if (gimp_drawable_has_alpha (GIMP_DRAWABLE (active_layer))) { gimp_image_mask_select_alpha (gimage, active_layer, @@ -494,34 +472,6 @@ layers_alpha_to_selection (GtkWidget *widget, } } -void -layers_alpha_selection_replace_cmd_callback (GtkWidget *widget, - gpointer data) -{ - layers_alpha_to_selection (widget, data, GIMP_CHANNEL_OP_REPLACE); -} - -void -layers_alpha_selection_add_cmd_callback (GtkWidget *widget, - gpointer data) -{ - layers_alpha_to_selection (widget, data, GIMP_CHANNEL_OP_ADD); -} - -void -layers_alpha_selection_sub_cmd_callback (GtkWidget *widget, - gpointer data) -{ - layers_alpha_to_selection (widget, data, GIMP_CHANNEL_OP_SUBTRACT); -} - -void -layers_alpha_selection_intersect_cmd_callback (GtkWidget *widget, - gpointer data) -{ - layers_alpha_to_selection (widget, data, GIMP_CHANNEL_OP_INTERSECT); -} - void layers_edit_attributes_cmd_callback (GtkWidget *widget, gpointer data) diff --git a/app/gui/layers-commands.h b/app/gui/layers-commands.h index 44007d39b2..140a6381f4 100644 --- a/app/gui/layers-commands.h +++ b/app/gui/layers-commands.h @@ -20,77 +20,67 @@ #define __LAYERS_COMMANDS_H__ -void layers_select_previous_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_select_next_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_select_top_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_select_bottom_cmd_callback (GtkWidget *widet, - gpointer data); +void layers_select_previous_cmd_callback (GtkWidget *widet, + gpointer data); +void layers_select_next_cmd_callback (GtkWidget *widet, + gpointer data); +void layers_select_top_cmd_callback (GtkWidget *widet, + gpointer data); +void layers_select_bottom_cmd_callback (GtkWidget *widet, + gpointer data); -void layers_raise_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_lower_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_raise_to_top_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_lower_to_bottom_cmd_callback (GtkWidget *widet, - gpointer data); +void layers_raise_cmd_callback (GtkWidget *widet, + gpointer data); +void layers_lower_cmd_callback (GtkWidget *widet, + gpointer data); +void layers_raise_to_top_cmd_callback (GtkWidget *widet, + gpointer data); +void layers_lower_to_bottom_cmd_callback (GtkWidget *widet, + gpointer data); -void layers_new_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_duplicate_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_anchor_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_merge_down_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_delete_cmd_callback (GtkWidget *widet, - gpointer data); +void layers_new_cmd_callback (GtkWidget *widet, + gpointer data); +void layers_duplicate_cmd_callback (GtkWidget *widet, + gpointer data); +void layers_anchor_cmd_callback (GtkWidget *widet, + gpointer data); +void layers_merge_down_cmd_callback (GtkWidget *widet, + gpointer data); +void layers_delete_cmd_callback (GtkWidget *widet, + gpointer data); -void layers_resize_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_resize_to_image_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_scale_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_crop_cmd_callback (GtkWidget *widet, - gpointer data); +void layers_resize_cmd_callback (GtkWidget *widet, + gpointer data); +void layers_resize_to_image_cmd_callback (GtkWidget *widet, + gpointer data); +void layers_scale_cmd_callback (GtkWidget *widet, + gpointer data); +void layers_crop_cmd_callback (GtkWidget *widet, + gpointer data); -void layers_mask_add_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_mask_apply_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_mask_delete_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_mask_selection_replace_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_mask_selection_add_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_mask_selection_sub_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_mask_selection_intersect_cmd_callback (GtkWidget *widet, - gpointer data); +void layers_mask_add_cmd_callback (GtkWidget *widet, + gpointer data); +void layers_mask_apply_cmd_callback (GtkWidget *widet, + gpointer data); +void layers_mask_delete_cmd_callback (GtkWidget *widet, + gpointer data); +void layers_mask_to_selection_cmd_callback (GtkWidget *widet, + gpointer data, + guint action); -void layers_alpha_add_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_alpha_selection_replace_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_alpha_selection_add_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_alpha_selection_sub_cmd_callback (GtkWidget *widet, - gpointer data); -void layers_alpha_selection_intersect_cmd_callback (GtkWidget *widet, - gpointer data); +void layers_alpha_add_cmd_callback (GtkWidget *widet, + gpointer data); +void layers_alpha_to_selection_cmd_callback (GtkWidget *widet, + gpointer data, + guint action); -void layers_edit_attributes_cmd_callback (GtkWidget *widet, - gpointer data); +void layers_edit_attributes_cmd_callback (GtkWidget *widet, + gpointer data); -void layers_new_layer_query (GimpImage *gimage, - GimpLayer *template, - gboolean interactive); -void layers_edit_layer_query (GimpLayer *layer); +void layers_new_layer_query (GimpImage *gimage, + GimpLayer *template, + gboolean interactive); +void layers_edit_layer_query (GimpLayer *layer); #endif /* __LAYERS_COMMANDS_H__ */ diff --git a/app/gui/layers-menu.c b/app/gui/layers-menu.c index 2a412ee262..90c4d19166 100644 --- a/app/gui/layers-menu.c +++ b/app/gui/layers-menu.c @@ -123,7 +123,7 @@ GimpItemFactoryEntry layers_menu_entries[] = NULL, GIMP_HELP_LAYER_MASK_DELETE , NULL }, { { N_("/Mask to Sele_ction"), NULL, - layers_mask_selection_replace_cmd_callback, 0, + layers_mask_to_selection_cmd_callback, GIMP_CHANNEL_OP_REPLACE, "", GIMP_STOCK_SELECTION_REPLACE }, NULL, GIMP_HELP_LAYER_MASK_SELECTION_REPLACE, NULL }, @@ -135,7 +135,7 @@ GimpItemFactoryEntry layers_menu_entries[] = NULL, GIMP_HELP_LAYER_ALPHA_ADD, NULL }, { { N_("/Al_pha to Selection"), NULL, - layers_alpha_selection_replace_cmd_callback, 0, + layers_alpha_to_selection_cmd_callback, GIMP_CHANNEL_OP_REPLACE, "", GIMP_STOCK_SELECTION_REPLACE }, NULL, GIMP_HELP_LAYER_ALPHA_SELECTION_REPLACE, NULL }, diff --git a/app/gui/vectors-commands.c b/app/gui/vectors-commands.c index 7321199f42..b20ea7f7aa 100644 --- a/app/gui/vectors-commands.c +++ b/app/gui/vectors-commands.c @@ -145,15 +145,18 @@ vectors_delete_cmd_callback (GtkWidget *widget, gimp_image_flush (gimage); } -static void -vectors_vectors_to_selection (GtkWidget *widget, - gpointer data, - GimpChannelOps op) +void +vectors_to_selection_cmd_callback (GtkWidget *widget, + gpointer data, + guint action) { - GimpImage *gimage; - GimpVectors *active_vectors; + GimpChannelOps op; + GimpImage *gimage; + GimpVectors *active_vectors; return_if_no_vectors (gimage, active_vectors, data); + op = (GimpChannelOps) action; + gimp_image_mask_select_vectors (gimage, active_vectors, op, @@ -162,34 +165,6 @@ vectors_vectors_to_selection (GtkWidget *widget, gimp_image_flush (gimage); } -void -vectors_selection_replace_cmd_callback (GtkWidget *widget, - gpointer data) -{ - vectors_vectors_to_selection (widget, data, GIMP_CHANNEL_OP_REPLACE); -} - -void -vectors_selection_add_cmd_callback (GtkWidget *widget, - gpointer data) -{ - vectors_vectors_to_selection (widget, data, GIMP_CHANNEL_OP_ADD); -} - -void -vectors_selection_sub_cmd_callback (GtkWidget *widget, - gpointer data) -{ - vectors_vectors_to_selection (widget, data, GIMP_CHANNEL_OP_SUBTRACT); -} - -void -vectors_selection_intersect_cmd_callback (GtkWidget *widget, - gpointer data) -{ - vectors_vectors_to_selection (widget, data, GIMP_CHANNEL_OP_INTERSECT); -} - void vectors_selection_to_vectors_cmd_callback (GtkWidget *widget, gpointer data) diff --git a/app/gui/vectors-commands.h b/app/gui/vectors-commands.h index 7b0ab4ad56..68d89e5d9b 100644 --- a/app/gui/vectors-commands.h +++ b/app/gui/vectors-commands.h @@ -30,14 +30,9 @@ void vectors_duplicate_cmd_callback (GtkWidget *widget, gpointer data); void vectors_delete_cmd_callback (GtkWidget *widget, gpointer data); -void vectors_selection_replace_cmd_callback (GtkWidget *widget, - gpointer data); -void vectors_selection_add_cmd_callback (GtkWidget *widget, - gpointer data); -void vectors_selection_sub_cmd_callback (GtkWidget *widget, - gpointer data); -void vectors_selection_intersect_cmd_callback (GtkWidget *widget, - gpointer data); +void vectors_to_selection_cmd_callback (GtkWidget *widget, + gpointer data, + guint action); void vectors_selection_to_vectors_cmd_callback (GtkWidget *widget, gpointer data); void vectors_stroke_cmd_callback (GtkWidget *widget, diff --git a/app/gui/vectors-menu.c b/app/gui/vectors-menu.c index 7323d2ea86..2f3a667ee9 100644 --- a/app/gui/vectors-menu.c +++ b/app/gui/vectors-menu.c @@ -70,22 +70,22 @@ GimpItemFactoryEntry vectors_menu_entries[] = MENU_SEPARATOR ("/---"), { { N_("/Path to Sele_ction"), "S", - vectors_selection_replace_cmd_callback, 0, + vectors_to_selection_cmd_callback, GIMP_CHANNEL_OP_REPLACE, "", GIMP_STOCK_SELECTION_REPLACE }, NULL, GIMP_HELP_PATH_SELECTION_REPLACE, NULL }, { { N_("/_Add to Selection"), NULL, - vectors_selection_add_cmd_callback, 0, + vectors_to_selection_cmd_callback, GIMP_CHANNEL_OP_ADD, "", GIMP_STOCK_SELECTION_ADD }, NULL, GIMP_HELP_PATH_SELECTION_ADD, NULL }, { { N_("/_Subtract from Selection"), NULL, - vectors_selection_sub_cmd_callback, 0, + vectors_to_selection_cmd_callback, GIMP_CHANNEL_OP_SUBTRACT, "", GIMP_STOCK_SELECTION_SUBTRACT }, NULL, GIMP_HELP_PATH_SELECTION_SUBTRACT, NULL }, { { N_("/_Intersect with Selection"), NULL, - vectors_selection_intersect_cmd_callback, 0, + vectors_to_selection_cmd_callback, GIMP_CHANNEL_OP_INTERSECT, "", GIMP_STOCK_SELECTION_INTERSECT }, NULL, GIMP_HELP_PATH_SELECTION_INTERSECT, NULL }, diff --git a/app/menus/image-menu.c b/app/menus/image-menu.c index 380f8e76a2..89d5552b42 100644 --- a/app/menus/image-menu.c +++ b/app/menus/image-menu.c @@ -755,22 +755,22 @@ GimpItemFactoryEntry image_menu_entries[] = MENU_SEPARATOR ("/Layer/Mask/---"), { { N_("/Layer/Mask/_Mask to Selection"), NULL, - layers_mask_selection_replace_cmd_callback, 0, + layers_mask_to_selection_cmd_callback, GIMP_CHANNEL_OP_REPLACE, "", GIMP_STOCK_SELECTION_REPLACE }, NULL, GIMP_HELP_LAYER_MASK_SELECTION_REPLACE, NULL }, { { N_("/Layer/Mask/_Add to Selection"), NULL, - layers_mask_selection_add_cmd_callback, 0, + layers_mask_to_selection_cmd_callback, GIMP_CHANNEL_OP_ADD, "", GIMP_STOCK_SELECTION_ADD }, NULL, GIMP_HELP_LAYER_MASK_SELECTION_ADD, NULL }, { { N_("/Layer/Mask/_Subtract from Selection"), NULL, - layers_mask_selection_sub_cmd_callback, 0, + layers_mask_to_selection_cmd_callback, GIMP_CHANNEL_OP_SUBTRACT, "", GIMP_STOCK_SELECTION_SUBTRACT }, NULL, GIMP_HELP_LAYER_MASK_SELECTION_SUBTRACT, NULL }, { { N_("/Layer/Mask/_Intersect with Selection"), NULL, - layers_mask_selection_intersect_cmd_callback, 0, + layers_mask_to_selection_cmd_callback, GIMP_CHANNEL_OP_INTERSECT, "", GIMP_STOCK_SELECTION_INTERSECT }, NULL, GIMP_HELP_LAYER_MASK_SELECTION_INTERSECT, NULL }, @@ -787,22 +787,22 @@ GimpItemFactoryEntry image_menu_entries[] = MENU_SEPARATOR ("/Layer/Transparency/---"), { { N_("/Layer/Transparency/Al_pha to Selection"), NULL, - layers_alpha_selection_replace_cmd_callback, 0, + layers_alpha_to_selection_cmd_callback, GIMP_CHANNEL_OP_REPLACE, "", GIMP_STOCK_SELECTION_REPLACE }, NULL, GIMP_HELP_LAYER_ALPHA_SELECTION_REPLACE, NULL }, { { N_("/Layer/Transparency/A_dd to Selection"), NULL, - layers_alpha_selection_add_cmd_callback, 0, + layers_alpha_to_selection_cmd_callback, GIMP_CHANNEL_OP_ADD, "", GIMP_STOCK_SELECTION_ADD }, NULL, GIMP_HELP_LAYER_ALPHA_SELECTION_ADD, NULL }, { { N_("/Layer/Transparency/_Subtract from Selection"), NULL, - layers_alpha_selection_sub_cmd_callback, 0, + layers_alpha_to_selection_cmd_callback, GIMP_CHANNEL_OP_SUBTRACT, "", GIMP_STOCK_SELECTION_SUBTRACT }, NULL, GIMP_HELP_LAYER_ALPHA_SELECTION_SUBTRACT, NULL }, { { N_("/Layer/Transparency/_Intersect with Selection"), NULL, - layers_alpha_selection_intersect_cmd_callback, 0, + layers_alpha_to_selection_cmd_callback, GIMP_CHANNEL_OP_INTERSECT, "", GIMP_STOCK_SELECTION_INTERSECT }, NULL, GIMP_HELP_LAYER_ALPHA_SELECTION_INTERSECT, NULL },