73
73
ChannelOptionsDialog *options;
75
75
GimpChannel *channel;
77
return_if_no_channel (gimage, channel, data);
77
return_if_no_channel (image, channel, data);
78
78
return_if_no_widget (widget, data);
80
options = channel_options_dialog_new (gimage,
80
options = channel_options_dialog_new (image, channel,
81
81
action_data_get_context (data),
85
84
gimp_object_get_name (GIMP_OBJECT (channel)),
86
85
_("Channel Attributes"),
87
86
"gimp-channel-edit",
89
88
_("Edit Channel Attributes"),
90
89
GIMP_HELP_CHANNEL_EDIT,
91
90
_("Edit Channel Color"),
94
94
g_signal_connect (options->dialog, "response",
95
95
G_CALLBACK (channels_edit_channel_response),
105
105
ChannelOptionsDialog *options;
107
107
GtkWidget *widget;
108
return_if_no_image (gimage, data);
108
return_if_no_image (image, data);
109
109
return_if_no_widget (widget, data);
111
options = channel_options_dialog_new (gimage,
111
options = channel_options_dialog_new (image, NULL,
112
112
action_data_get_context (data),
116
115
channel_name ? channel_name :
153
width = gimp_image_get_width (gimage);
154
height = gimp_image_get_height (gimage);
153
width = gimp_image_get_width (image);
154
height = gimp_image_get_height (image);
155
155
color = channel_color;
158
gimp_image_undo_group_start (gimage, GIMP_UNDO_GROUP_EDIT_PASTE,
158
gimp_image_undo_group_start (image, GIMP_UNDO_GROUP_EDIT_PASTE,
159
159
_("New Channel"));
161
new_channel = gimp_channel_new (gimage, width, height,
161
new_channel = gimp_channel_new (image, width, height,
162
162
channel_name ? channel_name :
163
163
_("New Channel"), &color);
166
166
action_data_get_context (data),
167
167
GIMP_TRANSPARENT_FILL);
169
gimp_image_add_channel (gimage, new_channel, -1);
171
gimp_image_undo_group_end (gimage);
173
gimp_image_flush (gimage);
169
gimp_image_add_channel (image, new_channel, -1);
171
gimp_image_undo_group_end (image);
173
gimp_image_flush (image);
177
177
channels_raise_cmd_callback (GtkAction *action,
181
181
GimpChannel *channel;
182
return_if_no_channel (gimage, channel, data);
182
return_if_no_channel (image, channel, data);
184
gimp_image_raise_channel (gimage, channel);
185
gimp_image_flush (gimage);
184
gimp_image_raise_channel (image, channel);
185
gimp_image_flush (image);
189
189
channels_raise_to_top_cmd_callback (GtkAction *action,
193
193
GimpChannel *channel;
194
return_if_no_channel (gimage, channel, data);
194
return_if_no_channel (image, channel, data);
196
gimp_image_raise_channel_to_top (gimage, channel);
197
gimp_image_flush (gimage);
196
gimp_image_raise_channel_to_top (image, channel);
197
gimp_image_flush (image);
201
201
channels_lower_cmd_callback (GtkAction *action,
205
205
GimpChannel *channel;
206
return_if_no_channel (gimage, channel, data);
206
return_if_no_channel (image, channel, data);
208
gimp_image_lower_channel (gimage, channel);
209
gimp_image_flush (gimage);
208
gimp_image_lower_channel (image, channel);
209
gimp_image_flush (image);
213
213
channels_lower_to_bottom_cmd_callback (GtkAction *action,
217
217
GimpChannel *channel;
218
return_if_no_channel (gimage, channel, data);
218
return_if_no_channel (image, channel, data);
220
gimp_image_lower_channel_to_bottom (gimage, channel);
221
gimp_image_flush (gimage);
220
gimp_image_lower_channel_to_bottom (image, channel);
221
gimp_image_flush (image);
225
225
channels_duplicate_cmd_callback (GtkAction *action,
229
229
GimpChannel *new_channel;
231
231
if (GIMP_IS_COMPONENT_EDITOR (data))
234
233
GimpChannelType component;
235
234
const gchar *desc;
237
return_if_no_image (gimage, data);
239
gimp_rgba_set (&color, 0, 0, 0, 0.5);
236
return_if_no_image (image, data);
241
238
component = GIMP_COMPONENT_EDITOR (data)->clicked_component;
269
gimp_image_add_channel (gimage, new_channel, -1);
270
gimp_image_flush (gimage);
266
gimp_image_add_channel (image, new_channel, -1);
267
gimp_image_flush (image);
274
271
channels_delete_cmd_callback (GtkAction *action,
278
275
GimpChannel *channel;
279
return_if_no_channel (gimage, channel, data);
276
return_if_no_channel (image, channel, data);
281
gimp_image_remove_channel (gimage, channel);
282
gimp_image_flush (gimage);
278
gimp_image_remove_channel (image, channel);
279
gimp_image_flush (image);
290
287
GimpChannelOps op;
293
290
op = (GimpChannelOps) value;
295
292
if (GIMP_IS_COMPONENT_EDITOR (data))
297
294
GimpChannelType component;
298
return_if_no_image (gimage, data);
295
return_if_no_image (image, data);
300
297
component = GIMP_COMPONENT_EDITOR (data)->clicked_component;
302
gimp_channel_select_component (gimp_image_get_mask (gimage), component,
299
gimp_channel_select_component (gimp_image_get_mask (image), component,
303
300
op, FALSE, 0.0, 0.0);
307
304
GimpChannel *channel;
308
return_if_no_channel (gimage, channel, data);
305
return_if_no_channel (image, channel, data);
310
gimp_channel_select_channel (gimp_image_get_mask (gimage),
307
gimp_channel_select_channel (gimp_image_get_mask (image),
311
308
_("Channel to Selection"),
313
310
op, FALSE, 0.0, 0.0);
316
gimp_image_flush (gimage);
313
gimp_image_flush (image);
336
333
gimp_color_button_get_color (GIMP_COLOR_BUTTON (options->color_panel),
339
new_channel = gimp_channel_new (options->gimage,
340
options->gimage->width,
341
options->gimage->height,
345
gimp_drawable_fill_by_type (GIMP_DRAWABLE (new_channel),
347
GIMP_TRANSPARENT_FILL);
349
gimp_image_add_channel (options->gimage, new_channel, -1);
350
gimp_image_flush (options->gimage);
336
if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (options->save_sel_checkbutton)))
338
GimpChannel *selection = gimp_image_get_mask (options->image);
341
GIMP_CHANNEL (gimp_item_duplicate (GIMP_ITEM (selection),
345
gimp_object_set_name (GIMP_OBJECT (new_channel), channel_name);
346
gimp_channel_set_color (new_channel, &channel_color, FALSE);
350
new_channel = gimp_channel_new (options->image,
351
options->image->width,
352
options->image->height,
356
gimp_drawable_fill_by_type (GIMP_DRAWABLE (new_channel),
358
GIMP_TRANSPARENT_FILL);
361
gimp_image_add_channel (options->image, new_channel, -1);
362
gimp_image_flush (options->image);
353
365
gtk_widget_destroy (options->dialog);
389
401
gimp_channel_set_color (channel, &color, TRUE);
391
403
if (name_changed && color_changed)
392
gimp_image_undo_group_end (options->gimage);
404
gimp_image_undo_group_end (options->image);
394
406
if (name_changed || color_changed)
395
gimp_image_flush (options->gimage);
407
gimp_image_flush (options->image);
398
410
gtk_widget_destroy (options->dialog);