/* PIKA - Photo and Image Kooker Application * a rebranding of The GNU Image Manipulation Program (created with heckimp) * A derived work which may be trivial. However, any changes may be (C)2023 by Aldercone Studio * * Original copyright, applying to most contents (license remains unchanged): * Copyright (C) 1995-2003 Spencer Kimball and Peter Mattis * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ /* NOTE: This file is auto-generated by pdbgen.pl. */ #include "config.h" #include "stamp-pdbgen.h" #include #include #include "libpikabase/pikabase.h" #include "pdb-types.h" #include "core/pika.h" #include "core/pikacontainer.h" #include "core/pikadatafactory.h" #include "core/pikagradient.h" #include "core/pikaparamspecs.h" #include "pikapdb.h" #include "pikaprocedure.h" #include "internal-procs.h" static PikaValueArray * gradients_popup_invoker (PikaProcedure *procedure, Pika *pika, PikaContext *context, PikaProgress *progress, const PikaValueArray *args, GError **error) { gboolean success = TRUE; const gchar *gradient_callback; const gchar *popup_title; PikaGradient *initial_gradient; GBytes *parent_window; gradient_callback = g_value_get_string (pika_value_array_index (args, 0)); popup_title = g_value_get_string (pika_value_array_index (args, 1)); initial_gradient = g_value_get_object (pika_value_array_index (args, 2)); parent_window = g_value_get_boxed (pika_value_array_index (args, 3)); if (success) { PikaContainer *container = pika_data_factory_get_container (pika->gradient_factory); /* Formerly, this procedure had another parameter: * the sample size of the gradient's data passed in the changed callback. * Now the sample size is determined by core, and in the future, * the callback won't return a sample of the data at all. */ if (pika->no_interface || ! pika_pdb_lookup_procedure (pika->pdb, gradient_callback) || ! pika_pdb_dialog_new (pika, context, progress, pika_container_get_children_type (container), parent_window, popup_title, gradient_callback, PIKA_OBJECT (initial_gradient), NULL)) success = FALSE; } return pika_procedure_get_return_values (procedure, success, error ? *error : NULL); } static PikaValueArray * gradients_close_popup_invoker (PikaProcedure *procedure, Pika *pika, PikaContext *context, PikaProgress *progress, const PikaValueArray *args, GError **error) { gboolean success = TRUE; const gchar *gradient_callback; gradient_callback = g_value_get_string (pika_value_array_index (args, 0)); if (success) { PikaContainer *container = pika_data_factory_get_container (pika->gradient_factory); if (pika->no_interface || ! pika_pdb_lookup_procedure (pika->pdb, gradient_callback) || ! pika_pdb_dialog_close (pika, pika_container_get_children_type (container), gradient_callback)) success = FALSE; } return pika_procedure_get_return_values (procedure, success, error ? *error : NULL); } static PikaValueArray * gradients_set_popup_invoker (PikaProcedure *procedure, Pika *pika, PikaContext *context, PikaProgress *progress, const PikaValueArray *args, GError **error) { gboolean success = TRUE; const gchar *gradient_callback; PikaGradient *gradient; gradient_callback = g_value_get_string (pika_value_array_index (args, 0)); gradient = g_value_get_object (pika_value_array_index (args, 1)); if (success) { PikaContainer *container = pika_data_factory_get_container (pika->gradient_factory); if (pika->no_interface || ! pika_pdb_lookup_procedure (pika->pdb, gradient_callback) || ! pika_pdb_dialog_set (pika, pika_container_get_children_type (container), gradient_callback, PIKA_OBJECT (gradient), NULL)) success = FALSE; } return pika_procedure_get_return_values (procedure, success, error ? *error : NULL); } void register_gradient_select_procs (PikaPDB *pdb) { PikaProcedure *procedure; /* * pika-gradients-popup */ procedure = pika_procedure_new (gradients_popup_invoker); pika_object_set_static_name (PIKA_OBJECT (procedure), "pika-gradients-popup"); pika_procedure_set_static_help (procedure, "Invokes the Pika gradients selection dialog.", "Opens a dialog letting a user choose a gradient.", NULL); pika_procedure_set_static_attribution (procedure, "Andy Thomas", "Andy Thomas", "1998"); pika_procedure_add_argument (procedure, pika_param_spec_string ("gradient-callback", "gradient callback", "The callback PDB proc to call when user chooses a gradient", FALSE, FALSE, TRUE, NULL, PIKA_PARAM_READWRITE)); pika_procedure_add_argument (procedure, pika_param_spec_string ("popup-title", "popup title", "Title of the gradient selection dialog", FALSE, FALSE, FALSE, NULL, PIKA_PARAM_READWRITE)); pika_procedure_add_argument (procedure, pika_param_spec_gradient ("initial-gradient", "initial gradient", "The initial gradient choice", FALSE, PIKA_PARAM_READWRITE)); pika_procedure_add_argument (procedure, g_param_spec_boxed ("parent-window", "parent window", "An optional parent window handle for the popup to be set transient to", G_TYPE_BYTES, PIKA_PARAM_READWRITE)); pika_pdb_register_procedure (pdb, procedure); g_object_unref (procedure); /* * pika-gradients-close-popup */ procedure = pika_procedure_new (gradients_close_popup_invoker); pika_object_set_static_name (PIKA_OBJECT (procedure), "pika-gradients-close-popup"); pika_procedure_set_static_help (procedure, "Close the gradient selection dialog.", "Closes an open gradient selection dialog.", NULL); pika_procedure_set_static_attribution (procedure, "Andy Thomas", "Andy Thomas", "1998"); pika_procedure_add_argument (procedure, pika_param_spec_string ("gradient-callback", "gradient callback", "The name of the callback registered for this pop-up", FALSE, FALSE, TRUE, NULL, PIKA_PARAM_READWRITE)); pika_pdb_register_procedure (pdb, procedure); g_object_unref (procedure); /* * pika-gradients-set-popup */ procedure = pika_procedure_new (gradients_set_popup_invoker); pika_object_set_static_name (PIKA_OBJECT (procedure), "pika-gradients-set-popup"); pika_procedure_set_static_help (procedure, "Sets the current gradient in a gradient selection dialog.", "Sets the current gradient in a gradient selection dialog.", NULL); pika_procedure_set_static_attribution (procedure, "Andy Thomas", "Andy Thomas", "1998"); pika_procedure_add_argument (procedure, pika_param_spec_string ("gradient-callback", "gradient callback", "The name of the callback registered for this pop-up", FALSE, FALSE, TRUE, NULL, PIKA_PARAM_READWRITE)); pika_procedure_add_argument (procedure, pika_param_spec_gradient ("gradient", "gradient", "The gradient to set as selected", FALSE, PIKA_PARAM_READWRITE)); pika_pdb_register_procedure (pdb, procedure); g_object_unref (procedure); }