static void vectors_new_callback (GtkWidget *dialog, GimpImage *image, GimpVectors *vectors, GimpContext *context, const gchar *vectors_name, gboolean vectors_visible, gboolean vectors_linked, GimpColorTag vectors_color_tag, gboolean vectors_lock_content, gboolean vectors_lock_position, gpointer user_data) { GimpDialogConfig *config = GIMP_DIALOG_CONFIG (image->gimp->config); g_object_set (config, "path-new-name", vectors_name, NULL); vectors = gimp_vectors_new (image, config->vectors_new_name); gimp_item_set_visible (GIMP_ITEM (vectors), vectors_visible, FALSE); gimp_item_set_linked (GIMP_ITEM (vectors), vectors_linked, FALSE); gimp_item_set_color_tag (GIMP_ITEM (vectors), vectors_color_tag, FALSE); gimp_item_set_lock_content (GIMP_ITEM (vectors), vectors_lock_content, FALSE); gimp_item_set_lock_position (GIMP_ITEM (vectors), vectors_lock_position, FALSE); gimp_image_add_vectors (image, vectors, GIMP_IMAGE_ACTIVE_PARENT, -1, TRUE); gimp_image_flush (image); gtk_widget_destroy (dialog); }
void vectors_import_cmd_callback (GtkAction *action, gpointer data) { GimpImage *image; GtkWidget *widget; GtkWidget *dialog; return_if_no_image (image, data); return_if_no_widget (widget, data); #define IMPORT_DIALOG_KEY "gimp-vectors-import-dialog" dialog = dialogs_get_dialog (G_OBJECT (image), IMPORT_DIALOG_KEY); if (! dialog) { GimpDialogConfig *config = GIMP_DIALOG_CONFIG (image->gimp->config); GFile *folder = NULL; if (config->vectors_import_path) folder = gimp_file_new_for_config_path (config->vectors_import_path, NULL); dialog = vectors_import_dialog_new (image, widget, folder, config->vectors_import_merge, config->vectors_import_scale, vectors_import_callback, NULL); dialogs_attach_dialog (G_OBJECT (image), IMPORT_DIALOG_KEY, dialog); } gtk_window_present (GTK_WINDOW (dialog)); }
void vectors_new_last_vals_cmd_callback (GtkAction *action, gpointer data) { GimpImage *image; GimpVectors *vectors; GimpDialogConfig *config; return_if_no_image (image, data); config = GIMP_DIALOG_CONFIG (image->gimp->config); vectors = gimp_vectors_new (image, config->vectors_new_name); gimp_image_add_vectors (image, vectors, GIMP_IMAGE_ACTIVE_PARENT, -1, TRUE); gimp_image_flush (image); }
void channels_new_last_vals_cmd_callback (GtkAction *action, gpointer data) { GimpImage *image; GimpChannel *new_channel; gint width, height; GimpRGB color; GimpDialogConfig *config; return_if_no_image (image, data); config = GIMP_DIALOG_CONFIG (image->gimp->config); if (GIMP_IS_CHANNEL (GIMP_ACTION (action)->viewable)) { GimpChannel *template = GIMP_CHANNEL (GIMP_ACTION (action)->viewable);
static void vectors_import_callback (GtkWidget *dialog, GimpImage *image, GFile *file, GFile *import_folder, gboolean merge_vectors, gboolean scale_vectors, gpointer user_data) { GimpDialogConfig *config = GIMP_DIALOG_CONFIG (image->gimp->config); gchar *path = NULL; GError *error = NULL; if (import_folder) path = gimp_file_get_config_path (import_folder, NULL); g_object_set (config, "path-import-path", path, "path-import-merge", merge_vectors, "path-import-scale", scale_vectors, NULL); if (path) g_free (path); if (gimp_vectors_import_file (image, file, config->vectors_import_merge, config->vectors_import_scale, GIMP_IMAGE_ACTIVE_PARENT, -1, NULL, &error)) { gimp_image_flush (image); } else { gimp_message (image->gimp, G_OBJECT (dialog), GIMP_MESSAGE_ERROR, "%s", error->message); g_error_free (error); return; } gtk_widget_destroy (dialog); }
void channels_new_cmd_callback (GtkAction *action, gpointer data) { GimpImage *image; GtkWidget *widget; GtkWidget *dialog; return_if_no_image (image, data); return_if_no_widget (widget, data); #define NEW_DIALOG_KEY "gimp-channel-new-dialog" dialog = dialogs_get_dialog (G_OBJECT (image), NEW_DIALOG_KEY); if (! dialog) { GimpDialogConfig *config = GIMP_DIALOG_CONFIG (image->gimp->config); dialog = channel_options_dialog_new (image, NULL, action_data_get_context (data), widget, _("New Channel"), "gimp-channel-new", GIMP_STOCK_CHANNEL, _("Create a New Channel"), GIMP_HELP_CHANNEL_NEW, _("New Channel Color"), _("_Fill opacity:"), TRUE, config->channel_new_name, &config->channel_new_color, TRUE, FALSE, GIMP_COLOR_TAG_NONE, FALSE, FALSE, channels_new_callback, NULL); dialogs_attach_dialog (G_OBJECT (image), NEW_DIALOG_KEY, dialog); } gtk_window_present (GTK_WINDOW (dialog)); }
void vectors_new_cmd_callback (GtkAction *action, gpointer data) { GimpImage *image; GtkWidget *widget; GtkWidget *dialog; return_if_no_image (image, data); return_if_no_widget (widget, data); #define NEW_DIALOG_KEY "gimp-vectors-new-dialog" dialog = dialogs_get_dialog (G_OBJECT (image), NEW_DIALOG_KEY); if (! dialog) { GimpDialogConfig *config = GIMP_DIALOG_CONFIG (image->gimp->config); dialog = vectors_options_dialog_new (image, NULL, action_data_get_context (data), widget, _("New Path"), "gimp-vectors-new", GIMP_ICON_PATH, _("Create a New Path"), GIMP_HELP_PATH_NEW, config->vectors_new_name, FALSE, FALSE, GIMP_COLOR_TAG_NONE, FALSE, FALSE, vectors_new_callback, NULL); dialogs_attach_dialog (G_OBJECT (image), NEW_DIALOG_KEY, dialog); } gtk_window_present (GTK_WINDOW (dialog)); }
static void vectors_export_callback (GtkWidget *dialog, GimpImage *image, GFile *file, GFile *export_folder, gboolean active_only, gpointer user_data) { GimpDialogConfig *config = GIMP_DIALOG_CONFIG (image->gimp->config); GimpVectors *vectors = NULL; gchar *path = NULL; GError *error = NULL; if (export_folder) path = gimp_file_get_config_path (export_folder, NULL); g_object_set (config, "path-export-path", path, "path-export-active-only", active_only, NULL); if (path) g_free (path); if (config->vectors_export_active_only) vectors = gimp_image_get_active_vectors (image); if (! gimp_vectors_export_file (image, vectors, file, &error)) { gimp_message (image->gimp, G_OBJECT (dialog), GIMP_MESSAGE_ERROR, "%s", error->message); g_clear_error (&error); return; } gtk_widget_destroy (dialog); }