Commit Graph

250 Commits

Author SHA1 Message Date
Sven Neumann 6c25ae9374 Added basic framework for plug-ins to access the use_cpu_accel
2006-06-01  Sven Neumann  <sven@gimp.org>

	Added basic framework for plug-ins to access the use_cpu_accel
	configuration (bug #342860):

	* app/composite/gimp-composite.[ch]: added new function
	gimp_composite_use_cpu_accel().

	* libgimpbase/gimpprotocol.[ch]: added use_cpu_accel to the config
	message.

	* app/plug-in/gimppluginmanager-call.c: pass the return value of
	gimp_composite_use_cpu_accel() for config.use_cpu_accel.

	* libgimp/gimp.[ch]: make the config value accessible by means of
	a new function gimp_use_cpu_accel().

	* libgimp/gimp.def: updated.
2006-06-01 15:34:58 +00:00
Michael Natterer 5a586ba672 changed parameter "gint display_ID" to "GimpObject *display".
2006-05-05  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/gimppluginmanager-call.[ch]
	(gimp_plug_in_manager_call_run): changed parameter "gint display_ID"
	to "GimpObject *display".

	* app/pdb/gimpprocedure.[ch]
	* app/pdb/gimppluginprocedure.c
	* app/pdb/gimptemporaryprocedure.c: changed
	GimpProcedure::execute_async() the same way.

	* app/plug-in/gimppluginmanager.c
	* app/actions/plug-in-commands.c
	* app/actions/vectors-commands.c
	* app/widgets/gimphelp.c: changed accordingly.
2006-05-05 08:29:33 +00:00
Michael Natterer d033ddda1b cleaned up a bit.
2006-05-04  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/gimppluginshm.c: cleaned up a bit.

	(gimp_plug_in_shm_new): return NULL if anything goes wrong,
	instead of a GimpPlugInShm structure that contains no shm (we
	don't need multiple cases of "there is no shm"),

	* app/plug-in/gimppluginmanager.[ch]
	(gimp_plug_in_manager_get_shm_ID)
	(gimp_plug_in_manager_get_shm_addr): removed these functions.

	* app/plug-in/gimppluginmanager-call.c (gimp_plug_in_manager_call_run)
	* app/plug-in/gimpplugin-message.c (gimp_plug_in_handle_tile_req):
	get the shm ID and addr directly from manager->shm if it exists,
	use -1 and NULL otherwise.

	Unrelated:

	* app/plug-in/gimppluginmanager.c: move most stuff from
	gimp_plug_in_manager_exit() to gimp_plug_in_manager_finalize().
	Simplify plug-in killing in _exit().
2006-05-04 21:49:04 +00:00
Michael Natterer 1fcd4c36a9 app/plug-in/gimpplugin.c use the right procedure types in calls to
2006-05-04  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/gimpplugin.c
	* app/plug-in/gimppluginmanager-call.c: use the right procedure
	types in calls to gimp_plug_in_proc_frame_foo().
2006-05-04 08:23:20 +00:00
Michael Natterer 4b917ea28b Made an object out of the plug-in struct. Also change refcounting
2006-05-03  Michael Natterer  <mitch@gimp.org>

	Made an object out of the plug-in struct. Also change refcounting
	considerably:

	- gimp_plug_in_open() adds a reference that is only dropped by
	  gimp_plug_in_close().
	- temporarily ref the plug-in while handling messages.
	- remporarily ref the plug-in while a recursive main loop is
	  running.
	- each caller of gimp_plug_in_new() also unrefs the plug-in before
	  returning, the only reference that persists across functions
	  (that keeps the plug-in alive) is the one added by open().

	* app/plug-in/plug-in.[ch]
	* app/plug-in/plug-in-context.[ch]
	* app/plug-in/plug-in-message.[ch]
	* app/plug-in/plug-in-progress.[ch]: removed these files...

	* app/plug-in/gimpplugin.[ch]
	* app/plug-in/gimpplugin-context.[ch]
	* app/plug-in/gimpplugin-message.[ch]
	* app/plug-in/gimpplugin-progress.[ch]: ...and added here as GObject.

	* app/plug-in/plug-in-proc-frame.[ch]: removed...

	* app/plug-in/gimppluginprocframe.[ch]: ...and added with a namespace.

	* app/plug-in/Makefile.am
	* app/plug-in/plug-in-types.h
	* app/plug-in/gimppluginmanager-call.c
	* app/plug-in/gimppluginmanager-file.c
	* app/plug-in/gimppluginmanager.[ch]
	* app/pdb/gimppluginprocedure.c
	* app/pdb/gimptemporaryprocedure.c
	* app/pdb/gimptemporaryprocedure.h
	* tools/pdbgen/pdb/context.pdb
	* tools/pdbgen/pdb/drawable.pdb
	* tools/pdbgen/pdb/help.pdb
	* tools/pdbgen/pdb/message.pdb
	* tools/pdbgen/pdb/plug_in.pdb
	* tools/pdbgen/pdb/progress.pdb
	* tools/pdbgen/pdb/undo.pdb: changed accordingly.

	* app/pdb/context_cmds.c
	* app/pdb/drawable_cmds.c
	* app/pdb/help_cmds.c
	* app/pdb/message_cmds.c
	* app/pdb/plug_in_cmds.c
	* app/pdb/progress_cmds.c
	* app/pdb/undo_cmds.c: regenerated.
2006-05-03 18:05:06 +00:00
Michael Natterer 927cde4121 added enum GimpPlugInCallMode which can be one of { NONE, QUERY, INIT, RUN
2006-05-02  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-in-enums.[ch]: added enum GimpPlugInCallMode
	which can be one of { NONE, QUERY, INIT, RUN }.

	* app/plug-in/Makefile.am
	* app/plug-in/gimppluginmanager-run.[ch]: removed again...

	* app/plug-in/gimppluginmanager-call.[ch]: ...and added
	here. Added gimp_plug_in_manager_call_init() and
	gimp_plug_in_manager_call_query().

	* app/plug-in/plug-in.[ch]: removed plug_in_call_query() and
	plug_in_call_init().

	(struct PlugIn): removed members "init", "query" and "synchronous".

	(plug_in_open): added parameters "call_mode" and "synchronous".

	* app/plug-in/gimppluginmanager.c
	* app/plug-in/plug-in-message.c
	* app/pdb/gimppluginprocedure.c
	* app/pdb/gimptemporaryprocedure.c
	* tools/pdbgen/pdb/plug_in.pdb: changed accordingly.

	* app/pdb/plug_in_cmds.c: regenerated.
2006-05-02 18:27:31 +00:00
Michael Natterer b05baea60a app/plug-in/Makefile.am removed...
2006-04-29  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/Makefile.am
	* app/plug-in/plug-in-run.[ch]: removed...

	* app/plug-in/gimppluginmanager-run.[ch]: ...and added as methods
	of GimpPlugInManager.

	* app/pdb/gimppluginprocedure.c
	* app/pdb/gimptemporaryprocedure.c: changed accordingly.
2006-04-28 23:13:23 +00:00
Michael Natterer f1c3e79a4b app/plug-in/Makefile.am app/plug-in/plug-in-types.h new object which keeps
2006-04-29  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/Makefile.am
	* app/plug-in/plug-in-types.h
	* app/plug-in/gimppluginmanager.[ch]: new object which keeps all
	plug-in related stuff that was kept in the Gimp instance. Has
	"menu-branch-added" and "last-plug-in-changed" signals.

	* app/plug-in/plug-ins.[ch]: removed, all its functions are in
	GimpPlugInManager now.

	* app/core/gimpmarshal.list: new marshaller for the new object.

	* app/core/gimp.[ch]: removed all plug-in related stuff and keep a
	GimpPlugInManager around.

	* app/plug-in/plug-in-data.[ch]
	* app/plug-in/plug-in-file.[ch]
	* app/plug-in/plug-in-help-domain.[ch]
	* app/plug-in/plug-in-locale-domain.[ch]
	* app/plug-in/plug-in-menu-branch.[ch]
	* app/plug-in/plug-ins-query.[ch]: removed...

	* app/plug-in/gimppluginmanager-data.[ch]
	* app/plug-in/gimppluginmanager-file.[ch]
	* app/plug-in/gimppluginmanager-help-domain.[ch]
	* app/plug-in/gimppluginmanager-locale-domain.[ch]
	* app/plug-in/gimppluginmanager-menu-branch.[ch]
	* app/plug-in/gimppluginmanager-query.[ch]: ...and added as
	methods of GimpPlugInManager.

	* app/plug-in/plug-in-debug.[ch]
	* app/plug-in/plug-in-shm.[ch]: removed...

	* app/plug-in/gimpplugindebug.[ch]
	* app/plug-in/gimppluginshm.[ch]: ...and added as properly
	namespeced structs with constructors and destructors.

	* app/core/Makefile.am
	* app/core/gimpenvirontable.[ch]
	* app/core/gimpinterpreterdb.[ch]: removed...

	* app/plug-in/gimpenvirontable.[ch]
	* app/plug-in/gimpinterpreterdb.[ch]: ...and added here unchanged.

	* app/core/gimp-gui.[ch]
	* app/gui/gui-vtable.c: remove gimp_menus_create_branch() and all
	related stuff.

	* app/actions/plug-in-actions.[ch]: connect to the
	plug-in-manager's "menu-path-added" signal and create menu branch
	actions accordingly.

	* app/plug-in/plug-in-context.c
	* app/plug-in/plug-in-message.c
	* app/plug-in/plug-in-progress.c
	* app/plug-in/plug-in-run.[ch]
	* app/plug-in/plug-in.[ch]
	* app/app_procs.c
	* app/actions/file-commands.c
	* app/actions/plug-in-commands.c
	* app/core/gimpimage.c
	* app/dialogs/file-open-location-dialog.c
	* app/dialogs/file-save-dialog.c
	* app/file/file-open.c
	* app/gui/gui.c
	* app/menus/plug-in-menus.c
	* app/pdb/gimppluginprocedure.c
	* app/pdb/gimptemporaryprocedure.c
	* app/widgets/gimpdnd-xds.c
	* app/widgets/gimpfiledialog.c
	* app/widgets/gimpfileprocview.c
	* app/widgets/gimphelp.c
	* app/widgets/gimpthumbbox.c
	* app/xcf/xcf.c
	* tools/pdbgen/pdb/context.pdb
	* tools/pdbgen/pdb/drawable.pdb
	* tools/pdbgen/pdb/fileops.pdb
	* tools/pdbgen/pdb/help.pdb
	* tools/pdbgen/pdb/message.pdb
	* tools/pdbgen/pdb/plug_in.pdb
	* tools/pdbgen/pdb/procedural_db.pdb
	* tools/pdbgen/pdb/progress.pdb
	* tools/pdbgen/pdb/undo.pdb: follow above refactoring.

	* app/pdb/context_cmds.c
	* app/pdb/drawable_cmds.c
	* app/pdb/fileops_cmds.c
	* app/pdb/help_cmds.c
	* app/pdb/message_cmds.c
	* app/pdb/plug_in_cmds.c
	* app/pdb/procedural_db_cmds.c
	* app/pdb/progress_cmds.c
	* app/pdb/undo_cmds.c: regenerated.
2006-04-28 22:26:51 +00:00
Sven Neumann 049872b361 app/*.[ch] converted tabs to spaces.
2006-04-12  Sven Neumann  <sven@gimp.org>

	* app/*.[ch]
	* app/*/*.[ch]: converted tabs to spaces.
2006-04-12 12:49:29 +00:00
Michael Natterer d411d1c0dd removed this function. We only have shallow GPParam arrays in the core
2006-04-09  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-in-params.[ch] (plug_in_params_destroy):
	removed this function. We only have shallow GPParam arrays in the
	core that can be freed with g_free(), and gp_params_destroy()
	could always be used for freeing deep copies.

	* app/plug-in/plug-in-message.c
	* app/plug-in/plug-in-run.c: simply g_free() the GPParam arrays.
2006-04-09 17:19:58 +00:00
Michael Natterer b2f2b7148d made plug_in_run_temp() public and changed its parameters to match the
2006-04-07  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-in-run.[ch]: made plug_in_run_temp() public and
	changed its parameters to match the ones of plug_in_run().

	* app/pdb/gimpprocedure.[ch]: added GimpProcedure::execute_async()
	which takes an additional display_ID parameter and returns nothing.

	* app/pdb/gimppluginprocedure.c
	* app/pdb/gimptemporaryprocedure.c: implement it, using
	plug_in_run() and plug_in_run_temp().

	* app/core/gimp-utils.[ch]: added gimp_value_array_truncate()
	which takes a GValueArray and the number of values to truncate the
	array to.

	* app/actions/plug-in-commands.c
	* app/actions/vectors-commands.c
	* app/pdb/gimp-pdb.c
	* app/plug-in/plug-ins.c
	* app/widgets/gimphelp.c: use gimp_procedure_execute_async()
	instead of plug_in_run() and don't #include "plug-in-run.h".
	Truncate GValueArray passed to plug-ins again, and don't just pass
	some default values to the noninteractive args.

	Unrelated:

	* tools/pdbgen/pdb/plug_in.pdb: don't call
	gimp_menus_create_branch() here.

	* app/plug-in/plug-ins.c (plug_ins_menu_branch_add): call it here
	instead.

	* app/pdb/plug_in_cmds.c: regenerated.
2006-04-07 18:23:20 +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 b78b596d41 removed plug_in_repeat()...
2006-04-06  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-in-run.[ch]: removed plug_in_repeat()...

	* app/actions/plug-in-commands.c: ...and merged it into
	plug_in_repeat_cmd_callback(). It's essentially the same code as
	plug_in_run_cmd_callback() and there's no reason (except
	historical ones) to keep its implementation separate.
2006-04-06 08:19:01 +00:00
Michael Natterer acdcf8254f added plug_in_proc_frame_get_return_vals().
2006-04-05  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-in-proc-frame.[ch]: added
	plug_in_proc_frame_get_return_vals().

	* app/plug-in/plug-in-run.c: removed plug_in_get_return_vals()
	and call plug_in_proc_frame_get_return_vals() instead.
	Don't leak stuff in case calling the plug-in fails.
2006-04-05 13:23:21 +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 17aada110c app/pdb/pdb-types.h removed struct GimpArgument, struct GimpArgumentSpec,
2006-04-04  Michael Natterer  <mitch@gimp.org>

	* app/pdb/pdb-types.h
	* app/pdb/gimpargument.[ch]: removed struct GimpArgument, struct
	GimpArgumentSpec, gimp_argument_init() and
	gimp_arguments_destroy().

	* app/pdb/gimpprocedure.h (struct GimpProcedure): use arrays of
	GParamSpec* for kepping proc inargs/outargs.

	* app/pdb/gimpprocedure.[ch]
	* app/pdb/procedural_db.[ch]
	* app/plug-in/plug-in-params.[ch]
	* app/plug-in/plug-in-proc-frame.[ch]
	* app/plug-in/plug-in-run.[ch]: use GValueArrays for procedure
	arguments and return values. Removed all n_args and n_return_vals
	parameters because GValueArrays know their length.

	* app/batch.c
	* app/actions/plug-in-commands.c
	* app/actions/vectors-commands.c
	* app/core/gimppdbprogress.c
	* app/dialogs/about-dialog.c
	* app/file/file-open.c
	* app/file/file-save.c
	* app/pdb/procedural-db-query.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-ins.c
	* app/widgets/gimpbrushselect.c
	* app/widgets/gimpfontselect.c
	* app/widgets/gimpgradientselect.c
	* app/widgets/gimphelp.c
	* app/widgets/gimppaletteselect.c
	* app/widgets/gimppatternselect.c
	* app/widgets/gimppdbdialog.[ch]
	* app/xcf/xcf.c
	* tools/pdbgen/app.pl
	* tools/pdbgen/pdb/fileops.pdb
	* tools/pdbgen/pdb/procedural_db.pdb: changed accordingly. Also
	removed #include "gimpargument.h" from most files.

	* app/pdb/*_cmds.c: regenerated.
2006-04-04 10:30:58 +00:00
Michael Natterer d05d512d9c added struct GimpArray which can keep static or allocated data. Added
2006-04-01  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpparamspecs.[ch]: added struct GimpArray which can
	keep static or allocated data. Added boxed types GIMP_TYPE_ARRAY
	and GIMP_TYPE_STRING_ARRAY. Added GParamSpecs for PDB int32,
	int16, int8, float and string arrays. Added functions to get, dup,
	set and set_static the various arrays from/to GValues.

	* app/pdb/gimpprocedure.c
	* app/pdb/procedural_db.c
	* app/plug-in/plug-in-params.c
	* tools/pdbgen/app.pl
	* tools/pdbgen/pdb.pl: use the new param pspecs and gimp_value
	functions to keep arrays in GimpArguments.

	* app/pdb/gimpargument.[ch] (gimp_arguments_destroy): removed
	parameter "gboolean full_destroy". It's not needed any longer
	because the GValues fully memory-manage all their data now.

	* app/batch.c
	* app/actions/plug-in-commands.c
	* app/actions/vectors-commands.c
	* app/core/gimppdbprogress.c
	* app/dialogs/about-dialog.c
	* app/dialogs/print-size-dialog.c
	* app/dialogs/resize-dialog.c
	* app/display/gimpdisplayshell-handlers.c
	* app/file/file-open.c
	* app/file/file-save.c
	* app/plug-in/plug-in-message.c
	* app/plug-in/plug-in-run.c
	* app/plug-in/plug-ins.c
	* app/widgets/gimphelp.c
	* app/widgets/gimppdbdialog.c
	* tools/pdbgen/pdb/fileops.pdb: changed accordingly.

	* app/pdb/brush_cmds.c
	* app/pdb/brushes_cmds.c
	* app/pdb/buffer_cmds.c
	* app/pdb/color_cmds.c
	* app/pdb/drawable_cmds.c
	* app/pdb/fileops_cmds.c
	* app/pdb/fonts_cmds.c
	* app/pdb/gimpargument.c
	* app/pdb/gimpargument.h
	* app/pdb/gimpprocedure.c
	* app/pdb/gradient_cmds.c
	* app/pdb/gradients_cmds.c
	* app/pdb/image_cmds.c
	* app/pdb/paint_tools_cmds.c
	* app/pdb/palettes_cmds.c
	* app/pdb/parasite_cmds.c
	* app/pdb/paths_cmds.c
	* app/pdb/pattern_cmds.c
	* app/pdb/patterns_cmds.c
	* app/pdb/plug_in_cmds.c
	* app/pdb/procedural_db.c
	* app/pdb/procedural_db_cmds.c
	* app/pdb/selection_tools_cmds.c
	* app/pdb/vectors_cmds.c: regenerated.

	... and ported everything to perl btw...
2006-04-01 01:33:28 +00:00
Michael Natterer 03c28ec7fc app/pdb/pdb-types.h renamed struct Argument to GimpArgument and struct
2006-03-31  Michael Natterer  <mitch@gimp.org>

	* app/pdb/pdb-types.h
	* app/pdb/gimpargument.h: renamed struct Argument to GimpArgument
	and struct ProcArg to GimpArgumentSpec.

	* app/batch.c
	* app/actions/plug-in-commands.c
	* app/actions/vectors-commands.c
	* app/core/gimppdbprogress.c
	* app/dialogs/about-dialog.c
	* app/file/file-open.c
	* app/file/file-save.c
	* app/pdb/gimpargument.c
	* app/pdb/gimpprocedure.[ch]
	* app/pdb/procedural-db-query.c
	* app/pdb/procedural_db.[ch]
	* app/plug-in/plug-in-message.c
	* app/plug-in/plug-in-params.[ch]
	* app/plug-in/plug-in-proc-frame.h
	* 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-ins.c
	* app/widgets/gimpbrushselect.c
	* app/widgets/gimpfontselect.c
	* app/widgets/gimpgradientselect.c
	* app/widgets/gimphelp.c
	* app/widgets/gimppaletteselect.c
	* app/widgets/gimppatternselect.c
	* app/widgets/gimppdbdialog.[ch]
	* app/xcf/xcf.c
	* tools/pdbgen/app.pl
	* tools/pdbgen/pdb/fileops.pdb
	* tools/pdbgen/pdb/procedural_db.pdb: changed accordingly.

	* app/pdb/*_cmds.c: regenerated.
2006-03-31 20:16:22 +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 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 afd88f0bf4 replace the value union by a GValue.
2006-03-30  Michael Natterer  <mitch@gimp.org>

	* app/pdb/procedural_db.[ch] (struct Argument): replace the value
	union by a GValue.

	(procedural_db_argument_init)
	(procedural_db_compat_arg_init): new functions to initialize
	an Argument. They call g_value_init() on the Argument's value.

	(procedural_db_arguments)
	(procedural_db_return_values): initialize the returned Argument
	arrays so their GValues are ready to use. Allow to get the
	(unsuccessful) return values of a NULL ProcRecord.

	(procedural_db_destroy_args): g_value_unset() the values. Added a
	"gboolean full_destroy" parameter. Its only effect is to destroy
	PDB arrays, everything else is nicely memory managed by GValue.

	(procedural_db_execute)
	(procedural_db_run_proc): do GValue stuff. Added n_args and
	n_return_vals parameters to execute().

	(procedural_db_execute_proc): private function to execute a
	procedure. Validates the passed in arguments using the registered
	GParamSpecs before passing them to the resp. exec method.

	* app/plug-in/plug-in-params.[ch] (plug_in_params_to_args): needs
	an array of ProcArgs now in order to initialize the Arguments'
	GValues correctly. Passing NULL ProcArgs uses
	procedural_db_compat_arg_init(), so procedures (plug-ins)
	returning more values than expected work.

	(plug_in_args_to_params): do GValue stuff here too.

	(plug_in_args_destroy): removed this function,
	procedural_db_destroy_args() does the same now.

	* app/plug-in/plug-in-message.c (plug_in_handle_proc_run):
	simplified quite a bit because everything returns n_return_values
	now. Call plug_in_params_to_args() only of the procedure was found.

	(plug_in_handle_proc_return_priv): pass ProcRecs to
	plug_in_params_to_args().

	* app/batch.c
	* app/actions/plug-in-commands.c
	* app/actions/vectors-commands.c
	* app/core/gimppdbprogress.c
	* app/dialogs/about-dialog.c
	* app/file/file-open.c
	* app/file/file-save.c
	* app/plug-in/plug-ins.c
	* app/plug-in/plug-in-progress.c
	* app/plug-in/plug-in-run.[ch]
	* app/widgets/gimphelp.c
	* app/widgets/gimppdbdialog.c
	* app/xcf/xcf.c
	* tools/pdbgen/pdb/fileops.pdb: changed accordingly: don't
	g_new/g_free Argument arrays, always use procedural_db_foo()
	functions. Use GValue functions to get/set Arguments.

	* tools/pdbgen/pdb.pl: added get_value_func and set_value_func to
	all PDB types. Removed id_func, id_ret_func and check_func. Added
	flags which indicated that a type is an ID. Removed unused utility
	functions.

	* tools/pdbgen/lib.pl: use the flag instead of looking at
	functions and value types.

	* tools/pdbgen/app.pl: use the get_value_func and set_value_func
	to marshal inargs and outargs. Removed all checks performed on
	inargs because that's done by GParamSpec validation now. Added the
	missing bits to register excluded values with GimpParamSpecEnum.

	* app/pdb/*_cmds.c: regenerated.
2006-03-29 23:56:07 +00:00
Sven Neumann 5439aa4995 did a global gdisp -> display substitution.
2006-03-28  Sven Neumann  <sven@gimp.org>

	* app/*: did a global gdisp -> display substitution.
2006-03-28 17:55:52 +00:00
Michael Natterer 169faefb18 renamed procedural_db_return_args() to procedural_db_return_values() and
2006-03-27  Michael Natterer  <mitch@gimp.org>

	* app/pdb/procedural_db.[ch]: renamed procedural_db_return_args()
	to procedural_db_return_values() and added
	procedural_db_arguments(), which returns a newly allocated,
	initialized array of the procedure's arguments.

	* app/actions/plug-in-commands.c
	* app/actions/vectors-commands.c
	* app/plug-in/plug-in-run.c
	* app/widgets/gimphelp.c
	* app/xcf/xcf.c
	* tools/pdbgen/app.pl
	* tools/pdbgen/pdb/fileops.pdb: changed accordingly, some cleanup.

	* app/pdb/*_cmds.c: regenerated.
2006-03-27 21:09:32 +00:00
Sven Neumann 872d9506e5 factored out some code to a utility function.
2006-03-10  Sven Neumann  <ven@gimp.org>

	* app/widgets/gimpaction.c: factored out some code to a utility
	function.

	* app/config/gimpguiconfig.[ch]
	* app/config/gimprc-blurbs.h
	* app/dialogs/preferences-dialog.c
	* app/gui/gui.c
	* app/plug-in/plug-in-run.c
	* libgimp/gimp.c
	* libgimpbase/gimpprotocol.[ch]: renamed tool_tips to tooltips in
	variables and in the gimprc.

	* app/config/gimpbaseconfig.[ch]: removed stingy_memory_use from
	the GimpBaseConfig struct.
2006-03-10 16:40:09 +00:00
Sven Neumann d833630ad8 app/config/gimpcoreconfig.[ch] app/config/gimprc-blurbs.h keep a history
2006-02-20  Sven Neumann  <sven@gimp.org>

	* app/config/gimpcoreconfig.[ch]
	* app/config/gimprc-blurbs.h
	* app/core/gimp.[ch]: keep a history of recently used plug-ins.

	* app/plug-in/plug-in-run.[ch] (plug_in_repeat): pass an index
	into the plug-in history.

	* app/actions/plug-in-actions.c
	* app/actions/plug-in-commands.c
	* app/menus/plug-in-menus.c
	* menus/image-menu.xml.in: added a submenu with recently used
	plug-ins to the Filters menu. Fixes bug #148855.
2006-02-20 16:38:09 +00:00
Sven Neumann 4467e1cd4b let the private wire methods live in the GIMP namespace. Declare internal
2005-12-13  Sven Neumann  <sven@gimp.org>

        * libgimpbase/gimpwire.[ch]: let the private wire methods live in
        the GIMP namespace. Declare internal functions as such and prefix
        them with an underscore.

        * libgimp/gimp.c
        * libgimp/gimptile.c
        * libgimpbase/gimpbase.def
        * libgimpbase/gimpprotocol.c
        * app/plug-in/plug-in-message.[ch]
        * app/plug-in/plug-in-run.c
        * app/plug-in/plug-in.c: changed accordingly.
2005-12-13 14:11:56 +00:00
Michael Natterer 853f04d5a6 Changed naming scheme for PDB procedure names from
2005-08-03  Michael Natterer  <mitch@gimp.org>

	Changed naming scheme for PDB procedure names from
	random_crap_that_traditionally_has_underscores to
	enforced-canonical-identifiers. I'm pretty sure some things are
	broken after this commit. More changes to come...

	* libgimpbase/gimpbase.def
	* libgimpbase/gimputils.[ch]: added gimp_canonicalize_identifier().

	* app/pdb/procedural_db.[ch] (struct ProcRecord): added
	"gchar *original_name" to keep a procedure's original name as
	reigstered by plug-ins (compat cruft).

	(procedural_db_init_procs): canonicalized list of deprecated
	procedures.

	* app/plug-in/plug-in-proc-def.c (plug_in_proc_def_free): free
	original_name.

	* app/plug-in/plug-in-message.c: canonicalize procedure names
	which are received over the wire.

	* app/plug-in/plug-in-rc.c: serialize the original_name and create
	the canonicalized name on-the-fly when deserializing.

	* app/plug-in/plug-in-run.c: pass the original_name to plug-ins
	when running them because they strcmp() the passed procedure name.

	* app/plug-in/plug-ins.c (plug_ins_add_to_db): pass
	canonical procedure names to procedural_db_execute().

	(plug_ins_file_proc_compare): special-case "gimp-xcf", not "gimp_xcf".

	* app/xcf/xcf.c: changed static XCF procedures accordingly.

	* tools/pdbgen/app.pl
	* tools/pdbgen/lib.pl: do some trivial substitutions to generate
	canonicalized names in app/, and C identifiers with underscores in
	libgimp/.

	* tools/pdbgen/pdb/brushes.pdb
	* tools/pdbgen/pdb/fileops.pdb
	* tools/pdbgen/pdb/gradients.pdb
	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/palettes.pdb
	* tools/pdbgen/pdb/patterns.pdb
	* tools/pdbgen/pdb/plug_in.pdb
	* tools/pdbgen/pdb/procedural_db.pdb
	* tools/pdbgen/pdb/text_tool.pdb
	* tools/pdbgen/pdb/transform_tools.pdb: canonicaloized procedure
	names in calls to std_pdb_deprecated() and in procedure names in
	generated C code.

	* app/pdb/*_cmds.c
	* libgimp/*_pdb.c: regenerated.
2005-08-02 22:52:23 +00:00
Michael Natterer 0449deee27 added "gint ref_count" to the PlugInProcFrame struct. Added new functions
2004-12-14  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-in-proc-frame.[ch]: added "gint ref_count" to
	the PlugInProcFrame struct. Added new functions
	plug_in_proc_frame_ref/unref().

	(plug_in_proc_frame_new): set the ref_count to 1.

	* app/plug-in/plug-in.[ch] (plug_in_proc_frame_push): return the
	new proc_frame.

	(plug_in_proc_frame_pop): use unref() instead of free().

	* app/plug-in/plug-in-run.c (plug_in_temp_run): ref the proc_frame
	while running its main loop. Removed the call to
	plug_in_proc_frame_pop().

	* app/plug-in/plug-in-message.c (plug_in_handle_temp_proc_return):
	call plug_in_proc_frame_pop() immediately after
	plug_in_main_loop_quit() so the proc_frame goes away from the
	stack and can't be used accidentially if the core is too busy to
	return to the main loop before the next command arrives on the
	wire. Really fixes bug #161114 this time.
2004-12-14 22:42:00 +00:00
Sven Neumann 62b5c77c76 app/config/gimpguiconfig.[ch] added gimprc option "show-help-button".
2004-10-04  Sven Neumann  <sven@gimp.org>

        * app/config/gimpguiconfig.[ch]
        * app/config/gimprc-blurbs.h: added gimprc option "show-help-button".

        * app/dialogs/preferences-dialog.c: added a GUI for it.

        * app/dialogs/file-save-dialog.c
        * app/dialogs/image-new-dialog.c
        * app/dialogs/quit-dialog.c
        * app/display/gimpdisplayshell-close.c
        * app/widgets/gimphelp-ids.h: don't set help-ids on confirmation
        dialogs.

        * libgimpbase/gimpprotocol.[ch]
        * libgimp/gimp.[ch]: added boolean "show_help_button" to the
        config message.

        * app/plug-in/plug-in-run.c: pass the new preference to the plug-in.

        * libgimpwidgets/gimpdialog.[ch]: added new function that allows to
        set whether new dialogs should get a help button added.

        * app/gui/gui.c
        * libgimp/gimpui.c: call gimp_dialogs_show_help_button() according
        to the gimprc settings.
2004-10-04 16:21:52 +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 fcc13b8c5f app/plug-in/Makefile.am new files containing utility functions for
2004-09-22  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/Makefile.am
	* app/plug-in/plug-in-proc-frame.[ch]: new files containing
	utility functions for initializing/freeing PlugInProcFrames.
	Added the progress stuff to the proc_frame.

	* app/plug-in/plug-in.[ch]: removed the progress stuff from the
	PlugIn struct and use the new proc_frame utility functions.

	* app/plug-in/plug-in-message.c
	* app/plug-in/plug-in-progress.c
	* app/plug-in/plug-in-run.c: changed accordingly.
2004-09-22 12:27:18 +00:00
Michael Natterer 77ba473f76 Prepare for enabling private contexts for plug-ins and scripts:
2004-09-22  Michael Natterer  <mitch@gimp.org>

	Prepare for enabling private contexts for plug-ins and scripts:

	* app/plug-in/plug-in.[ch]: removed the "context" member from
	the PlugIn struct and added it to PlugInProcFrame instead.

	* app/plug-in/plug-in-message.c
	* app/plug-in/plug-in-progress.c
	* app/plug-in/plug-in-run.c: changed accordingly.
2004-09-22 00:32:00 +00:00
Michael Natterer 459964ba86 app/plug-in/plug-in-types.h
2004-09-22  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-in-types.h

	* app/plug-in/plug-in.[ch]: added struct PlugInProcFrame which
	contains the ProcRecord, the proc's GMainLoop and its return
	values.

	Use the same struct for the plug-in's main proc and its
	temp_procs, so we finally have one set of return values per call
	frame, and not just one per plug-in.

	Added plug_in_proc_frame_push()/pop() and changed
	plug_in_main_loop[_quit]() accordingly.

	* app/plug-in/plug-in-message.c
	* app/plug-in/plug-in-progress.c
	* app/plug-in/plug-in-run.c: changed accordingly.
2004-09-21 23:56:40 +00:00
Michael Natterer 4f6f5316eb Restore binary compatibility of the wire protocol that was broken by the
2004-09-13  Michael Natterer  <mitch@gimp.org>

	Restore binary compatibility of the wire protocol that was
	broken by the recent GPConfig changes:

	* libgimpbase/gimpprotocol.[ch] (struct _GPConfig)
	(_gp_config_read)
	(_gp_config_write): argh, we can't use the two bytes padding
	because that's just a binary compatible struct change, but inserts
	two bytes into the byte stream that goes over the wire. Use the
	first two bytes of the former "gdouble gamma" instead.

	* app/plug-in/plug-in-run.c (plug_in_run)
	* libgimp/gimp.c (gimp_config): changed accordingly.
2004-09-13 13:33:56 +00:00
Michael Natterer 4085b1fecf replaced the never used "gdouble gamma" with 8 reserved gint8 and stuffed
2004-09-03  Michael Natterer  <mitch@gimp.org>

	* libgimpbase/gimpprotocol.h (struct _GPConfig): replaced the
	never used "gdouble gamma" with 8 reserved gint8 and stuffed two
	gint8 behind "gint8 show_tool_tips" where they fit in in a binary
	compatible way due to 32bit aligning of the following "gint32
	min_colors". Use the latter ones for "check_size" and
	"check_type".

	* libgimpbase/gimpprotocol.c (_gp_config_read,write): changed
	accordingly to pass the new stuff over the wire.

	* app/plug-in/plug-in-run.c: ditto. Pass the transpareny values
	from GimpDisplayConfig to plug-ins.

	* libgimp/gimp.[ch] (gimp_config): remember the new config values.
	(gimp_check_size,type): new functions returning the new config values.

	* libgimp/gimpdrawablepreview.c (gimp_drawable_preview_init):
	use the new values to configure preview->area accordingly.
2004-09-03 12:19:26 +00:00
Michael Natterer 509b88e815 Brought the PDB progress into a working state. Fixes bug #6010, addressed
2004-08-30  Michael Natterer  <mitch@gimp.org>

	Brought the PDB progress into a working state. Fixes bug #6010,
	addressed bugs #97266 and #135185 and unfortunately reopens bug
	#150194 (will fix that later).

	* libgimpbase/gimpbaseenums.h: added enum GimpProgressCommand.

	* app/core/gimppdbprogress.c
	* libgimp/gimpprogress.c: use the enum instead of integer
	constants for the different progress commands. Cleanup.

	* app/plug-in/plug-in-progress.c
	* app/plug-in/plug-in-run.c
	* app/plug-in/plug-in.c: switch bach to real refcouting for
	plug_in->progress (reopens bug #150194) and enabled the PDB
	progress code.

	* plug-ins/script-fu/script-fu-scripts.c: cleaned up the
	progress stuff and the script-fu interface a bit.

	* plug-ins/pygimp/gimpenums.py
	* plug-ins/script-fu/script-fu-constants.c
	* tools/pdbgen/enums.pl: regenerated.
2004-08-30 14:57:24 +00:00
Sven Neumann ed2116ac89 app/plug-in/plug-in-progress.c app/plug-in/plug-in-run.c don't keep a
2004-08-17  Sven Neumann  <sven@gimp.org>

	* app/plug-in/plug-in-progress.c
	* app/plug-in/plug-in-run.c
	* app/plug-in/plug-in.c: don't keep a strong reference to the
	GimpProgress object, instead use a weak reference and deal with
	the progress being destroyed while the plug-in is running.
	Fixes bug #150194.
2004-08-17 08:21:30 +00:00
Michael Natterer 49dd42f65b app/plug-in/plug-in-message.c app/plug-in/plug-in-run.c (plug_in_temp_run)
2004-08-11  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-in-message.c
	* app/plug-in/plug-in-run.c (plug_in_temp_run)
	* libgimp/gimp.c (gimp_temp_proc_run): removed ENABLE_TEMP_RETURN
	#define and all code which was in #ifndef ENABLE_TEMP_RETURN.
2004-08-11 09:41:48 +00:00
Michael Natterer 02d2b990f5 Redid the whole internal progress stuff: don't pass around
2004-08-10  Michael Natterer  <mitch@gimp.org>

	Redid the whole internal progress stuff: don't pass around
	progress_callback and progress_data; instead, provide a
	pointer to a GimpProgressInterface which can be implemented
	by a variety of backends.

	Addresses (but not yet fixes) bugs #6010, #97266 and #135185.

	* app/display/Makefile.am
	* app/display/gimpprogress.[ch]: removed the old progress hack.

	* app/core/Makefile.am
	* app/core/core-types.h
	* app/core/gimpprogress.[ch]: implement GimpProgressInterface.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpprogressdialog.[ch]: the standalone progress
	dialog as widget implementing GimpProgressInterface.

	* app/display/gimpdisplay.c
	* app/display/gimpstatusbar.[ch]
	* app/widgets/gimpfiledialog.[ch]
	* app/widgets/gimpthumbbox.[ch]: added GimpProgressInterface
	implementation to these classes.

	* app/core/gimp-gui.[ch]
	* app/gui/gui-vtable.c: replaced the old progress vtable entries
	by two new to create and destroy a GimpProgressDialog in case
	no other progress is available.

	* app/pdb/procedural_db.[ch]
	* app/plug-in/plug-in-run.[ch]
	* tools/pdbgen/app.pl: pass a GimpProgress to all PDB wrappers and
	all plug-ins.

	* app/plug-in/plug-in.[ch]
	* app/plug-in/plug-ins.c
	* app/plug-in/plug-in-message.c
	* app/plug-in/plug-in-progress.c: handle the case there the
	plug-in was crated with a progress as well as the case where it
	wasn't.

	* app/app_procs.c
	* app/batch.c
	* app/xcf/xcf.c
	* app/file/file-open.[ch]
	* app/file/file-save.[ch]
	* app/widgets/gimphelp.c
	* app/widgets/gimpbrushselect.c
	* app/widgets/gimpfontselect.c
	* app/widgets/gimpgradientselect.c
	* app/widgets/gimppaletteselect.c
	* app/widgets/gimppatternselect.c: changed accordingly.

	* app/core/gimpimagefile.[ch]
	* app/display/gimpdisplayshell-dnd.c
	* app/gui/file-open-dialog.c
	* app/gui/file-open-location-dialog.c
	* app/gui/file-save-dialog.c
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimptoolbox-dnd.c: pass a GimpProgress to all file
	related functions. Embed the progress in the file dialog where
	possible.

	* app/core/gimpdrawable-blend.[ch]
	* app/core/gimpdrawable-transform.[ch]
	* app/core/gimpimage-convert.[ch]
	* app/core/gimpimage-flip.[ch]
	* app/core/gimpimage-resize.[ch]
	* app/core/gimpimage-rotate.[ch]
	* app/core/gimpimage-scale.[ch]
	* app/core/gimpitem-linked.[ch]
	* app/core/gimpitem.[ch]
	* app/core/gimpchannel.c
	* app/core/gimpdrawable.c
	* app/core/gimplayer.c
	* app/core/gimpselection.c
	* app/vectors/gimpvectors.c: replaced callback/data by GimpProgress.

	* app/tools/gimpblendtool.c
	* app/tools/gimptransformtool.c
	* app/gui/convert-dialog.c
	* app/actions/documents-commands.c
	* app/actions/file-commands.c
	* app/actions/image-commands.c
	* app/actions/layers-commands.c
	* app/actions/plug-in-commands.c
	* app/actions/vectors-commands.c
	* tools/pdbgen/pdb/convert.pdb
	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/layer.pdb: changed callers accordingly.

	* app/pdb/*_cmds.c: regenerated.
2004-08-10 18:47:21 +00:00
Michael Natterer 51b8b94ed9 changed member "ProcRecord last_plug_in" to PlugInProcDef last_plug_in".
2004-08-04  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp.[ch]: changed member "ProcRecord last_plug_in" to
	PlugInProcDef last_plug_in". Added function
	gimp_set_last_plug_in() and signal Gimp::last-plug-in-changed.

	* app/actions/plug-in-commands.c
	* app/plug-in/plug-in-run.c: changed accordingly.

	* app/actions/plug-in-actions.c: factored out updating of the
	"Reshow Last" and "Rerun Last" actions to a private function.
	Connect each "plug-in" action group to Gimp::last-plug-in-changed
	and update the actions' label and sensitivity in the
	callback. Fixes bug #149139.
2004-08-04 14:00:14 +00:00
Henrik Brix Andersen 1bdd36c952 let extensions run synchronously when called via PDB. Fixes bug #140112.
2004-06-14 Henrik Brix Andersen <brix@gimp.org>

* app/plug-in/plug-in-run.c: let extensions run synchronously when
called via PDB. Fixes bug #140112.
2004-06-14 11:58:49 +00:00
Michael Natterer 837fa4294d Context cleanup continued:
2004-04-15  Michael Natterer  <mitch@gimp.org>

	Context cleanup continued:

	* app/core/gimpitem.[ch]: added context parameter to
	GimpItem::stroke().

	* app/core/gimpchannel.c (gimp_channel_stroke)
	* app/vectors/gimpvectors.c (gimp_vectors_stroke): use it to get
	default values from instead of gimp_get_user_context().

	* app/core/gimpselection.c
	* app/gui/stroke-dialog.c
	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/paths.pdb: changed accordingly.

	* app/pdb/edit_cmds.c
	* app/pdb/paths_cmds.c: regenerated.

	* app/plug-in/plug-in.[ch]: added GimpContext member to the PlugIn
	struct. Added context parameter to plug_in_new(),
	plug_in_call_query() and plug_in_call_init().

	* app/plug-in/plug-in-run.[ch]: added context parameters to
	plug_in_run() and plug_in_repeat().

	* app/gui/plug-in-commands.c
	* app/gui/vectors-commands.c
	* app/pdb/procedural_db.c
	* app/widgets/gimphelp.c: pass a context to plug_in_run() and
	plug_in_repeat().

	* app/plug-in/plug-in-message.c (plug_in_handle_proc_run): call
	procedures with the plug-in's context.

	* app/plug-in/plug-ins.c: use a temporary context for running the
	plug-ins' query() and init() functions. Use the same context for
	running automatic extensions. This temporarily separates the main
	Script-Fu extension from the user context (i.e. scripts have no
	way of setting/getting the global FG, BG, brush etc.).
2004-04-15 13:10:51 +00:00
Sven Neumann 3fb6adbcfb changed wm_name to app_name in the GimpConfig struct; increased
2004-02-17  Sven Neumann  <sven@gimp.org>

	* libgimpbase/gimpprotocol.[ch]: changed wm_name to app_name in
	the GimpConfig struct; increased GIMP_PROTOCOL_VERSION.

	* app/plug-in/plug-in-run.c (plug_in_run): pass the return value
	of g_get_application_name() to the plug-ins.

	* libgimp/gimp.[ch]: removed function gimp_wm_name(). Set the
	plug-in's application name if an app_name is passed in the config
	message.

	* libgimp/gimpui.c: removed usage of gimp_wm_name(); it was wrong
	to do it this way and caused all plug-ins claim to be the gimp-1.3
	executable in their error messages.

	* libgimp/gimp.def: removed symbol gimp_wm_name.

	* configure.in: reset gimp_binary_age and gimp_interface_age.

	* app/core/gimpimage.c (gimp_image_name_changed): removed unused
	variable.
2004-02-17 14:03:07 +00:00
Michael Natterer e8b27df097 changed member "ProcRec *current_temp_proc" to "GList *temp_proc_recs", a
2004-01-20  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-in.[ch]: changed member
	"ProcRec *current_temp_proc" to "GList *temp_proc_recs", a stack
	of temporary procedures, just as the "temp_main_loops" member is
	supposed to be the stack of main loops for waiting for the
	temp_procs' return values.

	* app/plug-in/plug-in-run.c (plug_in_temp_run): changed accordingly.

	* app/plug-in/plug-in-message.c
	* app/plug-in/plug-in-run.c
	* libgimp/gimp.c: added #define ENABLE_TEMP_RETURN 1.

	Enables return values for temporary procedures. On the libgimp
	side, this just enables the code which returns the values, on the
	app side it enables per-plug-in stacks of proc_recs and main_loops
	and a message handler for the GP_TEMP_PROC_RETURN message.
	A temp_proc's caller now blocks until the proc is finished.
	Fixes bug #50649.

	Left the #ifdefs there so it can be easily disabled if things
	break. Please play with Script-Fu and test this.
2004-01-20 00:54:43 +00:00
Sven Neumann a0ee48c396 app/config/gimcoreconfig.[ch] removed references to the unused gamma
2003-11-15  Sven Neumann  <sven@gimp.org>

	* app/config/gimcoreconfig.[ch]
	* app/plug-in/plug-in-run.c (plug_in_run): removed references to the
	unused gamma value. If we ever implement proper gamma correction, we
	will need individual gamma values for each channel anyway.
2003-11-15 20:56:07 +00:00
Michael Natterer 1117e0792c cast the return value of gimp_get_program_class() for the GPConfig
2003-11-08  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-in-run.c (plug_in_run): cast the return value
	of gimp_get_program_class() for the GPConfig message.
2003-11-08 16:47:49 +00:00
Sven Neumann 74c8218a3f added GIMP_CONFIG_ERROR_VERSION to GimpConfigError enum.
2003-11-08  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-error.h: added GIMP_CONFIG_ERROR_VERSION
	to GimpConfigError enum.

	* libgimpbase/gimpprotocol.h: renamed GP_VERSION to
	GIMP_PROTOCOL_VERSION.

	* libgimp/gimp.c
	* app/plug-in/plug-in-run.c: changed accordingly.

	* app/plug-in/plug-in-rc.[ch]: write the protocol version to the
	pluginrc and stop parsing when a wrong protocol version is found.

	* app/plug-in/plug-ins.c: pass a GError to plug_in_rc_parse().
2003-11-07 23:47:35 +00:00
Michael Natterer efd9a3e14a added "wm_name", "wm_class", "display_name" and "monitor_number" to the
2003-11-07  Michael Natterer  <mitch@gimp.org>

	* libgimpbase/gimpprotocol.[ch]: added "wm_name", "wm_class",
	"display_name" and "monitor_number" to the GPConfig message.
	Increased protocol version number.

	* libgimp/gimp.[ch] (gimp_config): read them from the GPConfig
	message and remember them.
	Added public accessors for the new config values.

	* libgimp/gimpui.c (gimp_ui_init): pass wm_name and wm_class to
	gtk_init() and export the display/screen to use to the
	environment.

	* app/core/gimp.[ch]: added vtable entries to get the values
	from the GUI.

	* app/gui/gui-vtable.c: implement the vtable entries.

	* app/plug-in/plug-in-run.c: fill in the GPConfig values using
	the new Gimp vtable functions.

	* app/display/gimpdisplayshell-layer-select.c
	* app/display/gimpdisplayshell.c
	* app/gui/about-dialog.c
	* app/gui/channels-commands.c
	* app/gui/color-notebook.c
	* app/gui/convert-dialog.c
	* app/gui/file-dialog-utils.[ch]
	* app/gui/file-new-dialog.c
	* app/gui/file-open-dialog.c
	* app/gui/file-save-dialog.c
	* app/gui/gradient-editor-commands.c
	* app/gui/gradients-commands.c
	* app/gui/grid-dialog.c
	* app/gui/image-commands.c
	* app/gui/info-dialog.[ch]
	* app/gui/info-window.c
	* app/gui/layers-commands.c
	* app/gui/module-browser.c
	* app/gui/offset-dialog.c
	* app/gui/palette-import-dialog.c
	* app/gui/qmask-commands.c
	* app/gui/resize-dialog.c
	* app/gui/splash.c
	* app/gui/stroke-dialog.c
	* app/gui/templates-commands.c
	* app/gui/tips-dialog.c
	* app/gui/vectors-commands.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimplevelstool.c
	* app/widgets/gimpdock.c
	* app/widgets/gimperrorconsole.c
	* app/widgets/gimptexteditor.c
	* app/widgets/gimptoolbox.c
	* app/widgets/gimpviewabledialog.[ch]
	* libgimpwidgets/gimpfileselection.c
	* libgimpwidgets/gimpquerybox.c
	* libgimpwidgets/gimpunitmenu.c
	* plug-ins/helpbrowser/dialog.c
	* plug-ins/ifscompose/ifscompose.c: replaced all calls to
	gtk_window_set_wmclass() by gtk_window_set_role() and all
	"const gchar *wmclass_name" parameters by "const gchar *role".
	Cleaned up the window role strings.
2003-11-07 17:29:02 +00:00
Michael Natterer 268c4fb1ce added lots more "GimpFooFunc gui_foo_func" vtable entries to the Gimp
2003-09-10  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp.[ch]: added lots more "GimpFooFunc gui_foo_func"
	vtable entries to the Gimp struct and wrapper function for them.
	They cover plug-in menu creation and plug-in progress utilities.

	* app/gui/gui.c: fill in the funtion pointers and dispatch
	to the actual functions.

	* app/pdb/Makefile.am (libapppdb_a_LIBADD): removed most hacks
	since the symbols are referenced within libappgui.a now.

	Removed any GTK+ dependency from the plug-ins/ directory:

	* app/plug-in/Makefile.am (INCLUDES): replaces GTK_CFLAGS by
	GDK_PIXBUF_CFLAGS.

	* app/plug-in/plug-in-progress.c
	* app/plug-in/plug-ins.c: replaced gui function calls to create
	menus and progress bars by calls to the wrappers.

	* app/plug-in/plug-in.c (plug_in_close): check dangling PDB
	dialogs using the new wrapper.

	* app/plug-in/plug-in-def.c
	* app/plug-in/plug-in-rc.c
	* app/plug-in/plug-in-run.c: removed trailing whitespace.
2003-09-10 22:06:45 +00:00