2006-04-02 Michael Natterer <mitch@gimp.org> * tools/pdbgen/pdb.pl: added a const_type member to all PDB types, Removed casts from all get_value_funcs which return const pointers, they can stay const now. * tools/pdbgen/app.pl: use the const_type to declare input args. * app/pdb/gimpprocedure.h: pass const arguments to the internal marshallers. * app/xcf/xcf.c: changed accordingly. * tools/pdbgen/pdb/paint_tools.pdb * tools/pdbgen/pdb/paths.pdb: added some const qualifiers. * tools/pdbgen/lib.pl: use the const_type for input args instead of adding the const qualifier based on the type. * app/pdb/_cmds.c * libgimp/gimpparasite_pdb.[ch]: regenerated. Unrelated: * app/pdb/gimpargument.c (gimp_arguments_destroy): no need any more to destroy the argument array in reverse order (we don't need access to the previous element because arrays in GValues memory manage themselves now).
238 lines
8.6 KiB
C
238 lines
8.6 KiB
C
/* The GIMP -- an image manipulation program
|
|
* 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 2 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, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
*/
|
|
|
|
/* NOTE: This file is autogenerated by pdbgen.pl. */
|
|
|
|
#include "config.h"
|
|
|
|
|
|
#include <glib-object.h>
|
|
|
|
#include "pdb-types.h"
|
|
#include "gimpargument.h"
|
|
#include "gimpprocedure.h"
|
|
#include "procedural_db.h"
|
|
#include "core/gimpparamspecs.h"
|
|
|
|
#include "core/gimp.h"
|
|
#include "core/gimpdatafactory.h"
|
|
|
|
static GimpProcedure patterns_popup_proc;
|
|
static GimpProcedure patterns_close_popup_proc;
|
|
static GimpProcedure patterns_set_popup_proc;
|
|
|
|
void
|
|
register_pattern_select_procs (Gimp *gimp)
|
|
{
|
|
GimpProcedure *procedure;
|
|
|
|
/*
|
|
* patterns_popup
|
|
*/
|
|
procedure = gimp_procedure_init (&patterns_popup_proc, 3, 0);
|
|
gimp_procedure_add_argument (procedure,
|
|
GIMP_PDB_STRING,
|
|
gimp_param_spec_string ("pattern-callback",
|
|
"pattern callback",
|
|
"The callback PDB proc to call when pattern selection is made",
|
|
FALSE, FALSE,
|
|
NULL,
|
|
GIMP_PARAM_READWRITE));
|
|
gimp_procedure_add_argument (procedure,
|
|
GIMP_PDB_STRING,
|
|
gimp_param_spec_string ("popup-title",
|
|
"popup title",
|
|
"Title to give the pattern popup window",
|
|
FALSE, FALSE,
|
|
NULL,
|
|
GIMP_PARAM_READWRITE));
|
|
gimp_procedure_add_argument (procedure,
|
|
GIMP_PDB_STRING,
|
|
gimp_param_spec_string ("initial-pattern",
|
|
"initial pattern",
|
|
"The name of the pattern to set as the first selected",
|
|
FALSE, TRUE,
|
|
NULL,
|
|
GIMP_PARAM_READWRITE));
|
|
procedural_db_register (gimp, procedure);
|
|
|
|
/*
|
|
* patterns_close_popup
|
|
*/
|
|
procedure = gimp_procedure_init (&patterns_close_popup_proc, 1, 0);
|
|
gimp_procedure_add_argument (procedure,
|
|
GIMP_PDB_STRING,
|
|
gimp_param_spec_string ("pattern-callback",
|
|
"pattern callback",
|
|
"The name of the callback registered for this popup",
|
|
FALSE, FALSE,
|
|
NULL,
|
|
GIMP_PARAM_READWRITE));
|
|
procedural_db_register (gimp, procedure);
|
|
|
|
/*
|
|
* patterns_set_popup
|
|
*/
|
|
procedure = gimp_procedure_init (&patterns_set_popup_proc, 2, 0);
|
|
gimp_procedure_add_argument (procedure,
|
|
GIMP_PDB_STRING,
|
|
gimp_param_spec_string ("pattern-callback",
|
|
"pattern callback",
|
|
"The name of the callback registered for this popup",
|
|
FALSE, FALSE,
|
|
NULL,
|
|
GIMP_PARAM_READWRITE));
|
|
gimp_procedure_add_argument (procedure,
|
|
GIMP_PDB_STRING,
|
|
gimp_param_spec_string ("pattern-name",
|
|
"pattern name",
|
|
"The name of the pattern to set as selected",
|
|
FALSE, FALSE,
|
|
NULL,
|
|
GIMP_PARAM_READWRITE));
|
|
procedural_db_register (gimp, procedure);
|
|
|
|
}
|
|
|
|
static GimpArgument *
|
|
patterns_popup_invoker (GimpProcedure *procedure,
|
|
Gimp *gimp,
|
|
GimpContext *context,
|
|
GimpProgress *progress,
|
|
const GimpArgument *args)
|
|
{
|
|
gboolean success = TRUE;
|
|
const gchar *pattern_callback;
|
|
const gchar *popup_title;
|
|
const gchar *initial_pattern;
|
|
|
|
pattern_callback = g_value_get_string (&args[0].value);
|
|
popup_title = g_value_get_string (&args[1].value);
|
|
initial_pattern = g_value_get_string (&args[2].value);
|
|
|
|
if (success)
|
|
{
|
|
if (gimp->no_interface ||
|
|
! procedural_db_lookup (gimp, pattern_callback) ||
|
|
! gimp_pdb_dialog_new (gimp, context, gimp->pattern_factory->container,
|
|
popup_title, pattern_callback, initial_pattern,
|
|
NULL))
|
|
success = FALSE;
|
|
}
|
|
|
|
return gimp_procedure_get_return_values (procedure, success);
|
|
}
|
|
|
|
static GimpProcedure patterns_popup_proc =
|
|
{
|
|
TRUE, TRUE,
|
|
"gimp-patterns-popup",
|
|
"gimp-patterns-popup",
|
|
"Invokes the Gimp pattern selection.",
|
|
"This procedure popups the pattern selection dialog.",
|
|
"Andy Thomas",
|
|
"Andy Thomas",
|
|
"1998",
|
|
NULL,
|
|
GIMP_INTERNAL,
|
|
0, NULL, 0, NULL,
|
|
{ { patterns_popup_invoker } }
|
|
};
|
|
|
|
static GimpArgument *
|
|
patterns_close_popup_invoker (GimpProcedure *procedure,
|
|
Gimp *gimp,
|
|
GimpContext *context,
|
|
GimpProgress *progress,
|
|
const GimpArgument *args)
|
|
{
|
|
gboolean success = TRUE;
|
|
const gchar *pattern_callback;
|
|
|
|
pattern_callback = g_value_get_string (&args[0].value);
|
|
|
|
if (success)
|
|
{
|
|
if (gimp->no_interface ||
|
|
! procedural_db_lookup (gimp, pattern_callback) ||
|
|
! gimp_pdb_dialog_close (gimp, gimp->pattern_factory->container,
|
|
pattern_callback))
|
|
success = FALSE;
|
|
}
|
|
|
|
return gimp_procedure_get_return_values (procedure, success);
|
|
}
|
|
|
|
static GimpProcedure patterns_close_popup_proc =
|
|
{
|
|
TRUE, TRUE,
|
|
"gimp-patterns-close-popup",
|
|
"gimp-patterns-close-popup",
|
|
"Popdown the Gimp pattern selection.",
|
|
"This procedure closes an opened pattern selection dialog.",
|
|
"Andy Thomas",
|
|
"Andy Thomas",
|
|
"1998",
|
|
NULL,
|
|
GIMP_INTERNAL,
|
|
0, NULL, 0, NULL,
|
|
{ { patterns_close_popup_invoker } }
|
|
};
|
|
|
|
static GimpArgument *
|
|
patterns_set_popup_invoker (GimpProcedure *procedure,
|
|
Gimp *gimp,
|
|
GimpContext *context,
|
|
GimpProgress *progress,
|
|
const GimpArgument *args)
|
|
{
|
|
gboolean success = TRUE;
|
|
const gchar *pattern_callback;
|
|
const gchar *pattern_name;
|
|
|
|
pattern_callback = g_value_get_string (&args[0].value);
|
|
pattern_name = g_value_get_string (&args[1].value);
|
|
|
|
if (success)
|
|
{
|
|
if (gimp->no_interface ||
|
|
! procedural_db_lookup (gimp, pattern_callback) ||
|
|
! gimp_pdb_dialog_set (gimp, gimp->pattern_factory->container,
|
|
pattern_callback, pattern_name,
|
|
NULL))
|
|
success = FALSE;
|
|
}
|
|
|
|
return gimp_procedure_get_return_values (procedure, success);
|
|
}
|
|
|
|
static GimpProcedure patterns_set_popup_proc =
|
|
{
|
|
TRUE, TRUE,
|
|
"gimp-patterns-set-popup",
|
|
"gimp-patterns-set-popup",
|
|
"Sets the current pattern selection in a popup.",
|
|
"Sets the current pattern selection in a popup.",
|
|
"Andy Thomas",
|
|
"Andy Thomas",
|
|
"1998",
|
|
NULL,
|
|
GIMP_INTERNAL,
|
|
0, NULL, 0, NULL,
|
|
{ { patterns_set_popup_invoker } }
|
|
};
|