Commit Graph

29 Commits

Author SHA1 Message Date
Michael Natterer 73a9abd337 removed function plug_in_proc_args_check().
2006-04-09  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-in-params.[ch]: removed function
	plug_in_proc_args_check().

	* app/pdb/gimppluginprocedure.[ch]: added new function
	gimp_plug_in_procedure_add_menu_path() which performs all menu
	path checks that were in the function above and adds the new
	menu_path to the procedure's list of menu_paths.

	* app/plug-in/plug-in-message.c (plug_in_handle_proc_install)
	* app/plug-in/plug-in.c (plug_in_menu_register): use the new
	function and removed manual adding of the menu path to
	proc->menu_paths.
2006-04-09 17:08:56 +00:00
Michael Natterer 7e258dfa27 app/plug-in/Makefile.am app/plug-in/plug-in-types.h removed...
2006-04-06  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/Makefile.am
	* app/plug-in/plug-in-types.h
	* app/plug-in/plug-in-proc-def.[ch]: removed...

	* app/pdb/Makefile.am
	* app/pdb/pdb-types.h
	* app/pdb/gimppluginprocedure.[ch]: ...and added here. Virtualized
	get_progname().

	* app/pdb/gimptemporaryprocedure.[ch]: new class derived from
	GimpPlugInProcedure.

	* app/pdb/gimpprocedure.[ch] (struct GimpProcedure): remove union
	exec_method and all the structs it needed. Procedure execution is
	properly virtualized now. Removed gimp_procedure_initialize() and
	grow the args and values arrays dynamically in
	gimp_procedure_add_argument()/return_value(). Added marshal_func
	parameter to gimp_procedure_new().

	* app/actions/plug-in-actions.c
	* app/actions/plug-in-commands.c
	* app/core/gimp-gui.c
	* app/dialogs/file-save-dialog.c
	* app/file/file-open.c
	* app/file/file-save.c
	* app/file/file-utils.c
	* app/gui/gui-vtable.c
	* app/menus/plug-in-menus.c
	* app/plug-in/plug-in-def.c
	* app/plug-in/plug-in-message.c
	* app/plug-in/plug-in-progress.c
	* app/plug-in/plug-in-rc.c
	* app/plug-in/plug-in-run.c
	* app/plug-in/plug-in.c
	* app/plug-in/plug-ins-query.c
	* app/plug-in/plug-ins.c
	* app/widgets/gimpfiledialog.c
	* app/widgets/gimpfileprocview.c
	* app/widgets/gimppluginaction.c
	* app/xcf/xcf.c
	* tools/pdbgen/pdb/fileops.pdb
	* tools/pdbgen/pdb/plug_in.pdb
	* tools/pdbgen/app.pl: changed accordingly.

	* app/pdb/*_cmds.c: regenerated.

	* app/pdb/gimp-pdb.c: added uglyness to make the app link again.
2006-04-06 10:01:30 +00:00
Michael Natterer 086d0b6371 app/plug-in/plug-in-types.h renamed to GimpPlugInProcedure and made a
2006-04-05  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-in-types.h
	* app/plug-in/plug-in-proc-def.[ch]: renamed to GimpPlugInProcedure
	and made a GObject derived from GimpProcedure (instead of having
	a pointer to a GimpProcedure). Added image_types and file_magic
	utility functions taken from plug-ins.[ch]. Still lives in the
	same crappy files because I am undecided where to put it...

	* app/pdb/gimpprocedure.c (gimp_procedure_real_execute): removed
	switch() statement and always call the internal marshaller because
	GimpProcedure::execute() is properly overridden by
	GimpPlugInProcedure now.

	* app/plug-in/plug-ins.[ch]: removed the mime_type and file_magic
	utilities added to GimpPlugInProcedure.

	* app/actions/file-commands.c
	* app/actions/plug-in-actions.[ch]
	* app/actions/plug-in-commands.[ch]
	* app/core/gimp-gui.[ch]
	* app/core/gimp.[ch]
	* app/core/gimpimage.[ch]
	* app/dialogs/file-open-dialog.c
	* app/dialogs/file-save-dialog.c
	* app/dialogs/print-size-dialog.c
	* app/file/file-open.[ch]
	* app/file/file-save.[ch]
	* app/file/file-utils.[ch]
	* app/gui/gui-vtable.c
	* app/menus/plug-in-menus.[ch]
	* app/plug-in/plug-in-def.[ch]
	* app/plug-in/plug-in-message.c
	* app/plug-in/plug-in-rc.c
	* app/plug-in/plug-in-run.c
	* app/plug-in/plug-in.c
	* app/plug-in/plug-ins-query.c
	* app/widgets/gimpactiongroup.[ch]
	* app/widgets/gimpdnd-xds.c
	* app/widgets/gimpfiledialog.[ch]
	* app/widgets/gimpfileprocview.[ch]
	* app/widgets/gimppluginaction.[ch]
	* app/xcf/xcf.c
	* tools/pdbgen/pdb/fileops.pdb
	* tools/pdbgen/pdb/plug_in.pdb: changed addordingly.

	* app/pdb/fileops_cmds.c
	* app/pdb/plug_in_cmds.c: regenerated.
2006-04-05 08:38:33 +00:00
Michael Natterer fe90ae768b app/pdb/pdb-types.h renamed struct ProcRecord to GimpProcedure. Added
2006-03-31  Michael Natterer  <mitch@gimp.org>

	* app/pdb/pdb-types.h
	* app/pdb/gimpprocedure.h: renamed struct ProcRecord to
	GimpProcedure. Added GIMP_IS_PROCEDURE() which checks for != NULL.

	* app/pdb/gimpprocedure.c
	* app/pdb/procedural-db-query.c
	* app/pdb/procedural_db.[ch]
	* app/batch.c
	* app/actions/plug-in-commands.c
	* app/actions/vectors-commands.c
	* app/file/file-open.c
	* app/plug-in/plug-in-message.c
	* app/plug-in/plug-in-proc-def.h
	* app/plug-in/plug-in-proc-frame.[ch]
	* app/plug-in/plug-in-progress.c
	* app/plug-in/plug-in-rc.c
	* app/plug-in/plug-in-run.[ch]
	* app/plug-in/plug-in.[ch]
	* app/plug-in/plug-ins-query.c
	* app/plug-in/plug-ins.[ch]
	* app/widgets/gimphelp.c
	* app/xcf/xcf.c
	* tools/pdbgen/pdb/fileops.pdb
	* tools/pdbgen/app.pl: changed accordingly. Renamed 'proc_rec' and
	similarily named variables and parameters to 'procedure'.

	* tools/pdbgen/pdb/procedural_db.pdb: changed 'procedure'
	parameters to 'procedure_name'.

	* app/pdb/*_cmds.c
	* libgimp/gimpproceduraldb_pdb.[ch]: regenerated.
2006-03-31 17:42:13 +00:00
Michael Natterer c1475c4adb changed "icon_data" from gchar* to guint8*.
2006-03-31  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-in-proc-def.h (struct PlugInProcDef)
	(plug_in_proc_def_set_icon): changed "icon_data" from gchar* to
	guint8*.

	* app/plug-in/plug-in-proc-def.c
	* app/plug-in/plug-in-rc.c
	* app/xcf/xcf.c: cast a bit to the fix resulting warnings. There
	are less casts needed than before.
2006-03-31 14:34:02 +00:00
Michael Natterer 8cffac44d5 added new member "gboolean static_proc" which indicates whether a
2006-03-31  Michael Natterer  <mitch@gimp.org>

	* app/pdb/gimpprocedure.[ch] (struct ProcRecord): added new member
	"gboolean static_proc" which indicates whether a ProcRecord struct
	and its strings are static.

	(gimp_procedure_dispose): new function which frees the procedure's
	args and values, and its strings if it is not static.

	* app/xcf/xcf.c
	* tools/pdbgen/app.pl: set "static_proc" to TRUE for static procs.

	* app/pdb/procedural_db.c (procedural_db_free): call
	gimp_procedure_free() or gimp_procedure_dispose(), depending on
	procedure->static_proc.

	* app/pdb/procedural_db.h: removed #if 0'ed cruft.

	* app/plug-in/plug-in-proc-def.[ch]: removed
	plug_in_proc_def_get_proc().

	* app/file/file-open.c
	* app/file/file-save.c
	* tools/pdbgen/pdb/fileops.pdb: access proc_def->procedure directly.

	* app/pdb/*_cmds.c: regenerated.
2006-03-31 14:00:50 +00:00
Michael Natterer 49da8cb2d1 added gimp_procedure_new() and gimp_procedure_free() functions.
2006-03-31  Michael Natterer  <mitch@gimp.org>

	* app/pdb/gimpprocedure.[ch]: added gimp_procedure_new() and
	gimp_procedure_free() functions.

	* app/plug-in/plug-in-proc-def.h (struct PlugInProcDef): use a
	ProcRecord pointer instead of including the entire struct.

	* app/plug-in/plug-in-proc-def.c: use the new() and free()
	functions above to allocate/free the ProcRecord.

	* app/actions/plug-in-actions.c
	* app/actions/plug-in-commands.c
	* app/menus/plug-in-menus.c
	* app/plug-in/plug-in-message.c
	* app/plug-in/plug-in-rc.c
	* app/plug-in/plug-in-run.c
	* app/plug-in/plug-in.c
	* app/plug-in/plug-ins-query.c
	* app/plug-in/plug-ins.c
	* app/xcf/xcf.c: changed accordingly.

	Unrelated:

	* app/pdb/gimpprocedure.c (gimp_procedure_execute): be more verbose
	when warning about out-of-bounds parameter values.

	* tools/pdbgen/pdb/fileops.pdb: allow GIMP_RUN_WITH_LAST_VALS for
	file_save because indirect saving (e.g. remote or compressed)
	needs it.

	* app/pdb/fileops_cmds.c: regenerated.
2006-03-31 11:49:22 +00:00
Michael Natterer 1dac27836d app/pdb/Makefile.am new files containing the functions operating on *one*
2006-03-31  Michael Natterer  <mitch@gimp.org>

	* app/pdb/Makefile.am
	* app/pdb/gimpprocedure.[ch]: new files containing the functions
	operating on *one* procedure. Factored out of procedural_db.[ch]
	and renamed to gimp_procedure_foo().

	* app/pdb/procedural_db.[ch]: removed them here.

	* app/pdb/procedural-db-query.c
	* app/batch.c
	* app/actions/plug-in-commands.c
	* app/actions/vectors-commands.c
	* app/core/gimppdbprogress.c
	* app/file/file-open.c
	* app/file/file-save.c
	* app/plug-in/plug-in-message.c
	* app/plug-in/plug-in-proc-def.[ch]
	* app/plug-in/plug-in-progress.c
	* app/plug-in/plug-in-rc.c
	* app/plug-in/plug-in-run.c
	* app/plug-in/plug-ins.c
	* app/widgets/gimpfiledialog.c
	* app/widgets/gimphelp.c
	* app/widgets/gimppdbdialog.c
	* app/xcf/xcf.c
	* tools/pdbgen/pdb/fileops.pdb
	* tools/pdbgen/app.pl: changed #includes and function calls
	accordingly. No logic changed.

	* app/pdb/*_cmds.c: regenerated.
2006-03-31 09:15:08 +00:00
Michael Natterer 4f2e5afc38 new function which finds a proc_def in a GSList by its procedure name.
2005-05-04  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-in-proc-def.[ch] (plug_in_proc_def_find): new
	function which finds a proc_def in a GSList by its procedure name.

	* app/plug-in/plug-in-message.c
	* app/plug-in/plug-ins.c
	* tools/pdbgen/pdb/plug_in.pdb: use it instead of iterating and
	comparing manually.

	* app/pdb/plug_in_cmds.c: regenerated.

	* app/plug-in/plug-in-def.c: minor cleanups.
2005-05-04 18:53:58 +00:00
Michael Natterer e103a8802d new function.
2005-05-04  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-in-proc-def.[ch] (plug_in_proc_def_set_icon):
	new function.

	* tools/pdbgen/pdb/plug_in.pdb: removed the same code here and use
	the new function.

	* app/pdb/plug_in_cmds.c: regenerated.
2005-05-03 23:47:35 +00:00
Sven Neumann 380b1703df added a boolean flag to the ProcDef struct to identify file procedures.
2005-04-25  Sven Neumann  <sven@gimp.org>

	* app/plug-in/plug-in-proc-def.h: added a boolean flag to the
	ProcDef struct to identify file procedures.

	* app/xcf/xcf.c: changed accordingly.

	* app/plug-in/plug-ins.c: look at the new flag instead of checking
	extensions, prefixes and magics being non-NULL. A file plug-in
	doesn't necessarily have any of these fields set.

	* app/plug-in/plug-in-rc.c: changed pluginrc format to contain an
	extra section for file procedures. Moved all file related info there.
2005-04-25 12:42:26 +00:00
Sven Neumann b62ca985aa app/plug-in/plug-in-proc-def.[ch] app/plug-in/plug-in-rc.c allow to
2004-11-13  Sven Neumann  <sven@gimp.org>

	* app/plug-in/plug-in-proc-def.[ch]
	* app/plug-in/plug-in-rc.c
	* app/plug-in/plug-ins.[ch]: allow to associate a procedure for
	thumbnail loading with any file load procedure.

	* tools/pdbgen/pdb/fileops.pdb: export this functionality to the
	PDB as gimp_register_thumbnail_loader().

	* app/pdb/fileops_cmds.c
	* app/pdb/internal_procs.c
	* libgimp/gimpfileops_pdb.[ch]: regenerated.

	* app/core/gimpimagefile.c
	* app/file/file-open.[ch]: when creating a thumbnail for an image
	file, use a thumbnail load procedure if available.

	* plug-ins/common/svg.c: added "file_svg_load_thumb", a procedure
	that allows to load a small preview of the SVG image.
2004-11-13 17:06:06 +00:00
Michael Natterer 9ffc00be80 app/plug-in/Makefile.am removed... ...and added with a new name.
2004-09-22  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/Makefile.am
	* app/plug-in/plug-in-proc.[ch]: removed...
	* app/plug-in/plug-in-proc-def.[ch]: ...and added with a new name.

	* app/plug-in/plug-in-def.[ch]
	* app/plug-in/plug-in-message.[ch]
	* app/plug-in/plug-in-progress.[ch]
	* app/plug-in/plug-in-rc.[ch]
	* app/plug-in/plug-in-run.[ch]
	* app/plug-in/plug-in.[ch]
	* app/plug-in/plug-ins.[ch]
	* app/actions/plug-in-actions.c
	* app/actions/plug-in-commands.c
	* app/file/file-open.[ch]
	* app/file/file-save.[ch]
	* app/file/file-utils.[ch]
	* app/gui/gui-vtable.c
	* app/menus/plug-in-menus.c
	* app/widgets/gimpfiledialog.c
	* app/widgets/gimpfileprocview.c
	* app/widgets/gimppluginaction.c
	* app/xcf/xcf.c
	* tools/pdbgen/pdb/fileops.pdb
	* tools/pdbgen/pdb/plug_in.pdb: changed accordingly plus some
	minor cosmetic cleanups.

	* app/pdb/fileops_cmds.c
	* app/pdb/plug_in_cmds.c: regenerated.
2004-09-22 15:12:24 +00:00
Michael Natterer ea8198e401 new function which checks a GimpImageType against the
2004-08-08  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-in-proc.[ch] (plug_in_proc_def_get_sensitive):
	new function which checks a GimpImageType against the
	proc_def->image_types_val mask.

	* app/actions/plug-in-actions.c: use the new function here. Also
	separated setting the "Repeat last" and "Reshow last" actions'
	labels from setting their sensitivity and made them use the same
	sensitivity logic as all other plug-in actions. Fixes bug #149567.
2004-08-08 10:53:19 +00:00
Michael Natterer 3fb934b2a4 Allow plug-ins to register menu icons. Fixes bug #120500.
2004-05-18  Michael Natterer  <mitch@gimp.org>

	Allow plug-ins to register menu icons. Fixes bug #120500.

	* app/core/core-enums.[ch]: added enum GimpIconType which can
	be one of { STOCK_ID, IMAGE_FILE, INLINE_PIXBUF }.

	* app/config/gimpconfigwriter.[ch] (gimp_config_writer_data)
	* app/config/gimpscanner.[ch] (gimp_scanner_parse_data): new
	functions which write/parse raw binary data. Needed for storing
	inline pixbufs in pluginrc.

	* app/config/gimpconfigwriter.[ch] (gimp_config_writer_identifier):
	new function which writes out an unquoted and unescaped string.

	* app/plug-in/plug-in-proc.[ch] (struct PlugInProcDef): added
	new members "icon_type", "icon_data_length" and "icon_data".
	Reordered members so file_proc specific stuff is at the end.

	(plug_in_proc_def_get_stock_id)
	(plug_in_proc_def_get_pixbuf): new functions to access the
	procedure's icon.

	* app/plug-in/plug-in-rc.c: save/restore the registered icons.

	* app/actions/file-dialog-actions.c
	* app/actions/plug-in-actions.c: set the action's stock ID from
	the procedure's stock ID.

	* app/widgets/gimppluginaction.c
	(gimp_plug_in_action_connect_proxy): if the procedure provides a
	pixbuf, set it as icon for the menu item.

	* app/menus/file-dialog-menu.[ch]
	* app/menus/file-open-menu.c
	* app/menus/file-save-menu.c
	* app/xcf/xcf.c: changed accordingly.

	* tools/pdbgen/pdb/plug_in.pdb (plugin_icon_register): new PDB
	function which can be called during query().

	* tools/pdbgen/enums.pl
	* app/pdb/internal_procs.c
	* app/pdb/plug_in_cmds.c
	* libgimp/gimpenums.h
	* libgimp/gimpplugin_pdb.c
	* libgimp/gimpplugin_pdb.h
	* plug-ins/pygimp/gimpenums.py
	* plug-ins/script-fu/script-fu-constants.c: regenerated.

	* plug-ins/common/plugindetails.c
	* plug-ins/common/uniteditor.c
	* plug-ins/print/print.c: register stock_id icons.

	* plug-ins/common/screenshot.c: register an inline_pixbuf icon for
	testing purposes (used emblem-camera.png from gnome-icon-theme).

	* app/actions/dialogs-actions.c
	* app/actions/file-actions.c: unrelated: added some more icons
	to menu items.
2004-05-18 21:19:43 +00:00
Michael Natterer 3ccb4bed31 new function which returns a newly allocated string which is the menu
2004-05-18  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-in-proc.[ch] (plug_in_proc_def_get_label): new
	function which returns a newly allocated string which is the menu
	item's name stripped of mnemonics an ellipses.

	* app/actions/plug-in-actions.c (plug_in_actions_update)
	* app/plug-in/plug-in.c (plug_in_get_undo_desc): use the function
	instead of implementing the same twice slightly different.
2004-05-18 09:04:12 +00:00
Sven Neumann ad89332fbb check if the file procedure registered a menu path at all. The menu should
2004-05-14  Sven Neumann  <sven@gimp.org>

	* app/menus/file-dialog-menu.c: check if the file procedure
	registered a menu path at all. The menu should probably be created
	from the registered menu path, not from gimp->[load|save]_procs.

	* app/plug-in/plug-in-proc.[ch]
	* app/plug-in/plug-ins.c: removed broken code that used to sort
	the file procedures.

	* plug-ins/common/CEL.c
	* plug-ins/common/bz2.c
	* plug-ins/common/gz.c
	* plug-ins/common/pcx.c
	* plug-ins/common/pix.c
	* plug-ins/common/sunras.c
	* plug-ins/sgi/sgi.c
	* plug-ins/xjt/xjt.c: register a mimetype, set a translatable
	action name (mostly taken from shared-mime-info) and register to
	the <Load> and <Save> menus using gimp_plugin_menu_register().
2004-05-14 16:54:33 +00:00
Sven Neumann 97fe81b401 added new PDB function gimp_register_file_handler_mime() that allows to
2004-05-14  Sven Neumann  <sven@gimp.org>

	* tools/pdbgen/pdb/fileops.pdb: added new PDB function
	gimp_register_file_handler_mime() that allows to associate a MIME
	type with a file procecdurre.

	* app/pdb/fileops_cmds.c
	* app/pdb/internal_procs.c
	* libgimp/gimpfileops_pdb.[ch]: regenerated.

	* app/plug-in/plug-in-proc.[ch]
	* app/plug-in/plug-in-rc.c
	* app/plug-in/plug-ins.[ch]: store a mimetype with file procedures.

	* app/actions/file-commands.c
	* app/core/gimpdocumentlist.[ch]
	* app/core/gimpimagefile.[ch]
	* app/file/file-open.[ch]
	* app/file/file-save.c: set the thumbnail's mimetype from the file
	procedure used to load/save the image.

	* app/xcf/xcf.c
	* plug-ins/bmp/bmp.c
	* plug-ins/common/csource.c
	* plug-ins/common/dicom.c
	* plug-ins/common/gif.c
	* plug-ins/common/gifload.c
	* plug-ins/common/jpeg.c
	* plug-ins/common/mng.c
	* plug-ins/common/png.c
	* plug-ins/common/postscript.c
	* plug-ins/common/psd.c
	* plug-ins/common/psd_save.c
	* plug-ins/common/sunras.c
	* plug-ins/common/svg.c
	* plug-ins/common/tga.c
	* plug-ins/common/tiff.c
	* plug-ins/common/wmf.c
	* plug-ins/common/xbm.c
	* plug-ins/common/xpm.c
	* plug-ins/common/xwd.c
	* plug-ins/faxg3/faxg3.c
	* plug-ins/winicon/main.c: register a mimetype, set a translatable
	action name (taken from shared-mime-info) and register to the <Load>
	and <Save> menus using gimp_plugin_menu_register().
2004-05-14 00:01:11 +00:00
Michael Natterer 9b7196a0b7 removed member "accelerator". It was never set and this is the
2004-05-07  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-in-proc.[ch]: removed member "accelerator".
	It was never set and this is the conceptually wrong place to store
	it anyway.

	* app/actions/file-dialog-actions.c
	* app/actions/plug-in-actions.c
	* app/plug-in/plug-in-message.c
	* app/xcf/xcf.c: changed accordingly.

	* tools/pdbgen/pdb/plug_in.pdb (plugins_query): always return NULL
	as accelerator. Cleaned up the function a bit and made it aware of
	proc_def->menu_label added below.

	* app/pdb/plug_in_cmds.c: regenerated.
2004-05-07 11:25:45 +00:00
Michael Natterer ca179a7757 Changed plug-in menu registration again to allow passing just the menu
2004-05-07  Michael Natterer  <mitch@gimp.org>

	Changed plug-in menu registration again to allow passing just the
	menu item's label (not the full path) in gimp_install_procedure()
	and only the path (excluding the item's label) in
	gimp_plugin_menu_register(). Matches the internal action system
	better and makes translating the menu paths much easier.

	(Of yourse it's still possible to use the old syntax for backward
	compatibility).

	* app/plug-in/plug-in-proc.[ch]: added "gchar *menu_label".

	* app/plug-in/plug-in-params.[ch]: added new functions
	plug_in_param_defs_check() and plug_in_proc_args_check() which
	check if a procedure's parameters match its menu location
	(e.g. <Image> needs RUN-MODE, IMAGE, DRAWABLE).

	* app/plug-in/plug-in-message.c (plug_in_handle_proc_install): if
	registering an old-style (full) menu_path, use
	plug_in_param_defs_check(), set proc_def->menu_label otherwise.

	* tools/pdbgen/pdb/plug_in.pdb (plugin_menu_register): use
	plug_in_proc_args_check() on the passed menu_path and make sugre
	old and new style menu registration are not mixed.

	* app/pdb/plug_in_cmds.c: regenerated.

	* app/plug-in/plug-in-rc.c: save/restore "menu_label".

	* app/actions/file-dialog-actions.c
	* app/actions/plug-in-actions.c
	* app/menus/plug-in-menus.c: changed action/menu creation
	accordingly. Some hacks needed to allow both old and new style
	menu_label/menu_paths.

	* app/plug-in/plug-in.c
	* app/widgets/gimpfiledialog.c
	* app/xcf/xcf.c: changed accordingly.

	* plug-ins/common/align_layers.c
	* plug-ins/common/animationplay.c
	* plug-ins/common/animoptimize.c
	* plug-ins/common/apply_lens.c
	* plug-ins/common/autocrop.c
	* plug-ins/common/autostretch_hsv.c
	* plug-ins/common/blinds.c
	* plug-ins/common/blur.c
	* plug-ins/common/borderaverage.c
	* plug-ins/common/bumpmap.c
	* plug-ins/common/c_astretch.c
	* plug-ins/common/ccanalyze.c
	* plug-ins/common/channel_mixer.c
	* plug-ins/common/checkerboard.c
	* plug-ins/common/color_enhance.c
	* plug-ins/common/colorify.c
	* plug-ins/common/colortoalpha.c
	* plug-ins/common/compose.c
	* plug-ins/common/convmatrix.c
	* plug-ins/common/cubism.c
	* plug-ins/common/curve_bend.c
	* plug-ins/common/decompose.c
	* plug-ins/common/deinterlace.c
	* plug-ins/common/depthmerge.c
	* plug-ins/common/destripe.c
	* plug-ins/common/diffraction.c
	* plug-ins/common/displace.c
	* plug-ins/common/edge.c
	* plug-ins/common/emboss.c
	* plug-ins/common/engrave.c
	* plug-ins/common/exchange.c
	* plug-ins/common/film.c
	* plug-ins/common/flarefx.c
	* plug-ins/common/fractaltrace.c
	* plug-ins/common/screenshot.c: ported the first few plug-ins
	to the new registration scheme.
2004-05-07 00:30:24 +00:00
Michael Natterer 7b943b64b0 Enabled multiple menu entries per plug-in procedure:
2004-05-06  Michael Natterer  <mitch@gimp.org>

	Enabled multiple menu entries per plug-in procedure:

	* app/plug-in/plug-in-proc.[ch]: changed "gchar *menu_path" to
	"GList *menu_paths".

	* app/plug-in/plug-in-message.c
	* app/plug-in/plug-in-rc.c
	* app/plug-in/plug-in.c
	* app/plug-in/plug-ins.c
	* app/menus/menus.c
	* app/widgets/gimpfiledialog.c
	* app/xcf/xcf.c: changed accordingly.

	* app/actions/file-dialog-actions.c
	* app/actions/plug-in-actions.c: create an action for the first
	element of proc_def->menu_paths.

	* app/gui/gui-vtable.c
	* app/menus/plug-in-menus.[ch]: create proxy widgets for each
	element of proc_def->menu_paths.

	* tools/pdbgen/pdb/plug_in.pdb: added new function
	gimp_plugin_menu_add() which can be called during query() and adds
	a menu path to a procedure registered by the calling plugin.

	* app/pdb/internal_procs.c
	* app/pdb/plug_in_cmds.c
	* libgimp/gimpplugin_pdb.[ch]: regenerated.

	* menus/image-menu.xml.in
	* menus/toolbox-menu.xml.in: added lots of <placeholder>s for
	logical groups (like Image/Resize, Image/Scale, Image/Crop
	etc.). Added empty placeholder File/Send for stuff like print and
	mail. Added an "Acquire" menu under <Image>/File

	* plug-ins/common/mail.c
	* plug-ins/print/print.c
	* plug-ins/common/winprint.c: register under File/Send.

	* plug-ins/common/screenshot.c
	* plug-ins/winsnap/winsnap.c: also register under
	<Image>/File/Acquire.

	* plug-ins/common/autocrop.c
	* plug-ins/common/ccanalyze.c
	* plug-ins/common/colortoalpha.c
	* plug-ins/common/threshold_alpha.c
	* plug-ins/common/zealouscrop.c: register additional menu entries
	under placeholders in the "Image" and "Layer" menus. This is not
	meant to be final but just a hint to keep in mind when
	reorganizing the plug-in menus.
2004-05-06 13:51:56 +00:00
Tor Lillqvist 2e103fa8b1 app/plug-in/plug-in-message.c (plug_in_handle_proc_install)
2004-04-15  Tor Lillqvist  <tml@iki.fi>

	* app/plug-in/plug-in-message.c (plug_in_handle_proc_install)
	* app/plug-in/plug-in-proc.h (struct _PlugInProcDef)
	* app/plug-in/plug-in-rc.c (plug_in_rc_write)
	* app/plug-in/plug-ins.c (plug_ins_init): Make PDB procedures
	(including their menu entries) installed during a plug-ins init()
	phase show up. Add a flag to PlugInProcDef that tells whether the
	proc was installed during the init() phase. Such procs aren't
	saved to the pluginrc. Move the code that initializes plug-ins
	that need initialization earlier, before the procs are added to
	the PDB and menus are built. Fixes bug #139969.
2004-04-15 22:16:21 +00:00
Michael Natterer b147234460 added new function plug_in_proc_def_compare_menu_path() which is a
2004-02-03  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-in-proc.[ch]: added new function
	plug_in_proc_def_compare_menu_path() which is a GCompareDataFunc.
	(uses g_utf8_collate() on the translated menu paths).

	* app/plug-in/plug-ins.c (plug_ins_init): sort gimp->load_procs
	and gimp->save_procs using the new compare function above.
	Fixes bug #133180.

	(plug_ins_locale_domain)
	(plug_ins_help_domain): don't g_return_if_fail() on a NULL
	prog_name but return the default locale and help domains
	of the GIMP itself.

	(plug_ins_proc_def_insert): removed obsolete and broken (not
	locale and UTF-8 aware) code which tried to insert new plug-in
	menu entries in alphabetical order (was unused except for load
	and save procs).

	Unrelated:

	* app/plug-in/plug-in-proc.[ch]: added const qualifiers.

	* app/file/file-open.c
	* app/file/file-save.c
	* tools/pdbgen/pdb/fileops.pdb: changed accordingly (constify
	local variables).

	* app/pdb/fileops_cmds.c: regenerated.
2004-02-03 13:02:18 +00:00
Michael Natterer 1f2c75e507 Completed the new help infrastructure. Needs some polishing but basically
2003-08-28  Michael Natterer  <mitch@gimp.org>

	Completed the new help infrastructure. Needs some polishing but
	basically works as proposed:

	* tools/pdbgen/pdb/plug_in.pdb: changed gimp_plugin_help_register()
	to take a "domain_name" (which is the XML namespace) and a
	"domain_uri" (which is the root of the plug-in's help pages).

	* tools/pdbgen/pdb/help.pdb: changed gimp_help() to take help_id
	instead of a non-UTF-8 help_path.

	* app/plug-in/plug-in-def.[ch]
	* app/plug-in/plug-in-proc.[ch]
	* app/plug-in/plug-in-rc.c
	* app/plug-in/plug-ins.[ch]: remember the plug-ins' help_domain
	and help_uri instead of just help_path. Changed all plug-in APIs
	to reflect this change.

	* app/widgets/gimphelp.[ch]: on helpbrowser startup, pass it the
	whole list of help domains. The actual help request is now made
	using the browser's temporary procedure.

	* app/core/gimp.h
	* app/gui/file-open-menu.c
	* app/gui/file-save-menu.c
	* app/gui/plug-in-menus.[ch]
	* app/widgets/gimpitemfactory.c: changed accordingly.

	* app/pdb/help_cmds.c
	* app/pdb/plug_in_cmds.c
	* libgimp/gimphelp_pdb.[ch]
	* libgimp/gimpplugin_pdb.[ch]: regenerated.

	Changed the help broser to load the pages according to the
	new system:

	- moved the browser window stuff to dialog.[ch]
	- moved help domain handling to domain.[ch]
	- added gimp-help.xml parsing to domain.c
	- tons of cleanup

	* plug-ins/helpbrowser/Makefile.am
	* plug-ins/helpbrowser/dialog.[ch]
	* plug-ins/helpbrowser/domain.[ch]: new files.
	* plug-ins/helpbrowser/helpbrowser.c: chopped.
2003-08-28 18:49:11 +00:00
Michael Natterer 86662cd66b Bye bye, "crappy/foo.html":
2003-08-26  Michael Natterer  <mitch@gimp.org>

	Bye bye, "crappy/foo.html":

	* app/widgets/gimphelp-ids.h: replaced "crappy/foo.html" by
	"gimp-proper-identifier".

	* app/plug-in/plug-in-proc.[ch] (plug_in_proc_def_get_help_id):
	added "const gchar *help_path" parameter and return a help ID
	ready for attaching to a menu item.

	The help ID is no longer constructed from the plug-in's executable
	name but from the *procedure* name with '_' replaced by '-'. This
	means we can now have help for each script-fu script and for each
	of a plug-in's individual procedures.

	* app/gui/plug-in-menus.c: removed even more duplicated wrong code
	since plug_in_proc_def_get_help_id() is implemented correctly now.

	* app/gui/file-open-menu.c
	* app/gui/file-save-menu.c: ditto. Reorder the "XCF" menu item
	before the separator and added GIMP_STOCK_WILBER.

	* app/gui/file-dialog-utils.c: added a mnemonic to the
	"Determine File Type:" label.
2003-08-26 15:12:47 +00:00
Michael Natterer dec69db166 removed the "locale_domain" and "help_path" parameters since the function
2003-08-25  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-ins.[ch] (plug_ins_temp_proc_def_add): removed
	the "locale_domain" and "help_path" parameters since the function
	can figure them by itself.

	* app/plug-in/plug-in-message.c (plug_in_handle_proc_install):
	changed accordingly.

	* app/plug-in/plug-in-proc.[ch] (plug_in_proc_def_get_help_id):
	new function which will soon be implemented correctly :-)

	* app/gui/file-open-menu.c (file_open_menu_setup)
	* app/gui/file-save-menu.c (file_save_menu_setup)
	* app/gui/plug-in-menus.c (plug_in_menus_create_entry): use it
	here instead of duplicating broken code.
2003-08-25 16:28:46 +00:00
Michael Natterer a31c0f7d19 One more Plug-In cleanup, it's still a mess...
2003-01-17  Michael Natterer  <mitch@gimp.org>

	One more Plug-In cleanup, it's still a mess...

	* app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field
	to "needs_query". Added setters for all values. Added
	g_return_if_fail() stuff to all functions.

	* app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new().
	Removed the "gboolean data_only" parameter from
	plug_in_proc_def_destroy() and renamed it to
	plug_in_proc_def_free().  Added plug_in_proc_def_get_progname()
	which handles GIMP_TEMPORARY procedures correctly.

	* app/plug-in/plug-in-rc.c: use the new stuff above.

	* app/plug-in/plug-in.[ch]: renamed field "user_data" to
	"plug_in_def" and added a comment that it is valid only during
	query() and init().  Use the new APIs above. Pass meaningful
	locale_domains and help_paths when adding temporary procedures
	(fixes Scrip-Fu menu translation the right way (TM)). Cleanup.

	* app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to
	plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]()
	to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters
	to plug_ins_help_path() and plug_ins_locale_domain(). Removed
	unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types().
	Reverse gimp->load_procs and gimp->save_procs after all procedures
	are registered. Removed Script-Fu translation hack. Reordered stuff.

	* app/gui/plug-in-menus.[ch]: changed accordingly. Named all
	public functions plug_in_menus_*(). Fixed Script-Fu menu translation
	by using plug_in_proc_def_get_progname(). Cleanup.

	* app/gui/file-open-menu.c
	* app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs
	and gimp->save_procs here.

	* app/gui/toolbox-menu.c
	* app/gui/image-menu.c
	* tools/pdbgen/pdb/help.pdb
	* tools/pdbgen/pdb/plug_in.pdb: changed accordingly.

	* app/pdb/help_cmds.c
	* app/pdb/plug_in_cmds.c: regenerated.

	Unrelated:

	* app/gui/image-menu.c
	* app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't
	get why the "1" was there. Minor cleanup.
2003-01-17 18:07:37 +00:00
Sven Neumann 7e309cc18c INSTALL NEWS require latest versions of glib, gtk+ and friends. Bumped our
2001-12-27  Sven Neumann  <sven@gimp.org>

	* INSTALL
	* NEWS
	* configure.in: require latest versions of glib, gtk+ and friends.
	Bumped our version number to 1.3.2.

	* app/plug-in/plug-in.c (plug_in_params_destroy, plug_in_args_destroy):
	moved condition out of the switch statement, simplified code.

	* app/plug-in/plug-in-proc.[ch]: moved plug_in_proc_def_destroy() here.

	* app/gimprc.c: use plug_in_proc_def_destroy().

	* app/pdb/procedural_db.c: use g_string_hash() instead of our own hash
	function.

	* app/xcf/xcf.c: initialize all fields of the PlugInProcDef struct.
2001-12-27 17:58:30 +00:00
Sven Neumann 774caf0ee6 app/plug-in/Makefile.am new files. Started to split plug-in.c into smaller
2001-12-19  Sven Neumann  <sven@gimp.org>

	* app/plug-in/Makefile.am
	* app/plug-in-proc/plug-in-proc.[ch]: new files. Started to split
	plug-in.c into smaller pieces.

	* app/plug-in/plug-in-types.h: namespacified GimpRunModeType enum and
	renamed it to GimpRunMode.

	* app/plug-in/plug-in.[ch]
	* app/gimphelp.c
	* app/file/file-open.[ch]
	* app/file/file-save.[ch]
	* app/file/file-utils.c
	* app/gui/file-commands.c
	* app/gui/file-open-dialog.c
	* app/gui/file-save-dialog.c
	* app/gui/paths-dialog.c
	* app/xcf/xcf.c
	* tools/pdbgen/pdb/fileops.pdb: changed accordingly.

	* app/pdb/fileops_cmds.c
	* libgimp/gimpenums.h
	* plug-ins/script-fu/script-fu-constants.c
	* libgimp/gimpfileops_pdb.[ch]
	* tools/pdbgen/enums.pl: regenerated.

	* libgimp/Makefile.am
	* libgimp/gimpcompat.h: added gimpcompat.h mostly as a place to
	document plug-in API changes.

	* plug-ins/*: changed all occurences of GimpRunModeType to GimpRunMode.
2001-12-19 00:13:16 +00:00