gimp/app/plug-in/plug-ins.h
Michael Natterer 4a8118070a added plug_ins_proc_def_find() which takes a ProcRecord and returns the
2003-02-18  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-ins.[ch]: added plug_ins_proc_def_find() which
	takes a ProcRecord and returns the corresponding PlugInProcDef.

	* app/plug-in/plug-in.[ch]: added a ProcRecord pointer to the
	PlugIn struct so we know which procedure the plug-in is
	executing. Replaced "gboolean in_temp_proc" by
	"ProcRecord *current_temp_proc". Added plug_in_get_undo_desc()
	which uses the new ProcRecord members and plug_ins_proc_def_find()
	to return a human readable string.

	* app/plug-in/plug-in-run.c: pass the ProcRecord to plug_in_new().
	Set plug_in->current_temp_proc while executing a temp_proc.
	(The latter won't work since we don't run temp_procs recursively
	at the moment).

	* app/gui/plug-in-menus.c: translate the plug-in's menu_path
	before chopping it for the "Repeat" and "Reshow" menu items.

	* tools/pdbgen/pdb/drawable.pdb
	* tools/pdbgen/pdb/undo.pdb: use plug_in_get_undo_desc() when
	pushing plug-in undos.

	* app/pdb/drawable_cmds.c
	* app/pdb/undo_cmds.c: regenerated.
2003-02-18 14:08:14 +00:00

72 lines
3.3 KiB
C

/* The GIMP -- an image manipulation program
* Copyright (C) 1995 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.
*/
#ifndef __PLUG_INS_H__
#define __PLUG_INS_H__
void plug_ins_init (Gimp *gimp,
GimpInitStatusFunc status_callback);
void plug_ins_exit (Gimp *gimp);
/* Register an internal plug-in. This is for file load-save
* handlers, which are organized around the plug-in data structure.
* This could all be done a little better, but oh well. -josh
*/
void plug_ins_add_internal (Gimp *gimp,
PlugInProcDef *proc_def);
/* Add in the file load/save handler fields procedure. */
PlugInProcDef * plug_ins_file_handler (Gimp *gimp,
gchar *name,
gchar *extensions,
gchar *prefixes,
gchar *magics);
/* Add a plug-in definition. */
void plug_ins_def_add_from_rc (Gimp *gimp,
PlugInDef *plug_in_def);
/* Add/Remove temporary procedures. */
void plug_ins_temp_proc_def_add (Gimp *gimp,
PlugInProcDef *proc_def,
const gchar *locale_domain,
const gchar *help_path);
void plug_ins_temp_proc_def_remove (Gimp *gimp,
PlugInProcDef *proc_def);
/* Retrieve a plug-ins locale domain */
const gchar * plug_ins_locale_domain (Gimp *gimp,
const gchar *prog_name,
const gchar **locale_path);
/* Retrieve a plug-ins help path */
const gchar * plug_ins_help_path (Gimp *gimp,
const gchar *prog_name);
/* Retreive a plug-ins proc_def from its ProcRecord */
PlugInProcDef * plug_ins_proc_def_find (Gimp *gimp,
ProcRecord *proc_rec);
GSList * plug_ins_extensions_parse (gchar *extensions);
PlugInImageType plug_ins_image_types_parse (gchar *image_types);
#endif /* __PLUG_INS_H__ */