/* 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/pikapalette.h" #include "core/pikaparamspecs.h" #include "pikapdb.h" #include "pikaprocedure.h" #include "internal-procs.h" static PikaValueArray * palettes_popup_invoker (PikaProcedure *procedure, Pika *pika, PikaContext *context, PikaProgress *progress, const PikaValueArray *args, GError **error) { gboolean success = TRUE; const gchar *palette_callback; const gchar *popup_title; PikaPalette *initial_palette; GBytes *parent_window; palette_callback = g_value_get_string (pika_value_array_index (args, 0)); popup_title = g_value_get_string (pika_value_array_index (args, 1)); initial_palette = 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->palette_factory); if (pika->no_interface || ! pika_pdb_lookup_procedure (pika->pdb, palette_callback) || ! pika_pdb_dialog_new (pika, context, progress, pika_container_get_children_type (container), parent_window, popup_title, palette_callback, PIKA_OBJECT (initial_palette), NULL)) success = FALSE; } return pika_procedure_get_return_values (procedure, success, error ? *error : NULL); } static PikaValueArray * palettes_close_popup_invoker (PikaProcedure *procedure, Pika *pika, PikaContext *context, PikaProgress *progress, const PikaValueArray *args, GError **error) { gboolean success = TRUE; const gchar *palette_callback; palette_callback = g_value_get_string (pika_value_array_index (args, 0)); if (success) { PikaContainer *container = pika_data_factory_get_container (pika->palette_factory); if (pika->no_interface || ! pika_pdb_lookup_procedure (pika->pdb, palette_callback) || ! pika_pdb_dialog_close (pika, pika_container_get_children_type (container), palette_callback)) success = FALSE; } return pika_procedure_get_return_values (procedure, success, error ? *error : NULL); } static PikaValueArray * palettes_set_popup_invoker (PikaProcedure *procedure, Pika *pika, PikaContext *context, PikaProgress *progress, const PikaValueArray *args, GError **error) { gboolean success = TRUE; const gchar *palette_callback; PikaPalette *palette; palette_callback = g_value_get_string (pika_value_array_index (args, 0)); palette = g_value_get_object (pika_value_array_index (args, 1)); if (success) { PikaContainer *container = pika_data_factory_get_container (pika->palette_factory); if (pika->no_interface || ! pika_pdb_lookup_procedure (pika->pdb, palette_callback) || ! pika_pdb_dialog_set (pika, pika_container_get_children_type (container), palette_callback, PIKA_OBJECT (palette), NULL)) success = FALSE; } return pika_procedure_get_return_values (procedure, success, error ? *error : NULL); } void register_palette_select_procs (PikaPDB *pdb) { PikaProcedure *procedure; /* * pika-palettes-popup */ procedure = pika_procedure_new (palettes_popup_invoker); pika_object_set_static_name (PIKA_OBJECT (procedure), "pika-palettes-popup"); pika_procedure_set_static_help (procedure, "Invokes the Pika palette selection dialog.", "Opens a dialog letting a user choose a palette.", NULL); pika_procedure_set_static_attribution (procedure, "Michael Natterer ", "Michael Natterer", "2002"); pika_procedure_add_argument (procedure, pika_param_spec_string ("palette-callback", "palette callback", "The callback PDB proc to call when user chooses a palette", FALSE, FALSE, TRUE, NULL, PIKA_PARAM_READWRITE)); pika_procedure_add_argument (procedure, pika_param_spec_string ("popup-title", "popup title", "Title of the palette selection dialog", FALSE, FALSE, FALSE, NULL, PIKA_PARAM_READWRITE)); pika_procedure_add_argument (procedure, pika_param_spec_palette ("initial-palette", "initial palette", "The palette to set as the initial 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-palettes-close-popup */ procedure = pika_procedure_new (palettes_close_popup_invoker); pika_object_set_static_name (PIKA_OBJECT (procedure), "pika-palettes-close-popup"); pika_procedure_set_static_help (procedure, "Close the palette selection dialog.", "Closes an open palette selection dialog.", NULL); pika_procedure_set_static_attribution (procedure, "Michael Natterer ", "Michael Natterer", "2002"); pika_procedure_add_argument (procedure, pika_param_spec_string ("palette-callback", "palette 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-palettes-set-popup */ procedure = pika_procedure_new (palettes_set_popup_invoker); pika_object_set_static_name (PIKA_OBJECT (procedure), "pika-palettes-set-popup"); pika_procedure_set_static_help (procedure, "Sets the current palette in a palette selection dialog.", "Sets the current palette in a palette selection dialog.", NULL); pika_procedure_set_static_attribution (procedure, "Michael Natterer ", "Michael Natterer", "2002"); pika_procedure_add_argument (procedure, pika_param_spec_string ("palette-callback", "palette 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_palette ("palette", "palette", "The palette to set as selected", FALSE, PIKA_PARAM_READWRITE)); pika_pdb_register_procedure (pdb, procedure); g_object_unref (procedure); }