Commit Graph

61 Commits

Author SHA1 Message Date
Sven Neumann 4069dd9d97 tools/pdbgen/Makefile.am new files that will hold context related PDB
2004-09-22  Sven Neumann  <sven@gimp.org>

	* tools/pdbgen/Makefile.am
	* tools/pdbgen/pdb/context.pdb: new files that will hold context
	related PDB functions.

	* tools/pdbgen/groups.pl
	* app/pdb/Makefile.am
	* app/pdb/context_cmds.c
	* app/pdb/internal_procs.c
	* app/pdb/progress_cmds.c
	* libgimp/gimp_pdb.h
	* libgimp/gimpcontext_pdb.[ch]: (re)generated.

	* app/plug-in/Makefile.am
	* app/plug-in/plug-in-context.[ch]: new files that will hold code
	that implements a context stack in the plug-in's proc-frame.

	* app/plug-in/plug-in.[ch]: new function plug_in_get_proc_frame().

	* app/plug-in/plug-in-message.c
	* app/plug-in/plug-in-progress.c: use the new function instead of
	duplicating it all over the place.
2004-09-22 15:26:58 +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 57a3396d40 added virtual function gboolean GimpProgressInterface::is_active().
2004-08-11  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpprogress.[ch]: added virtual function
	gboolean GimpProgressInterface::is_active().

	* app/display/gimpdisplay.c
	* app/display/gimpstatusbar.c
	* app/widgets/gimpfiledialog.c
	* app/widgets/gimpprogressbox.c
	* app/widgets/gimpprogressdialog.c
	* app/widgets/gimpthumbbox.c: implement it.

	* app/plug-in/plug-in.h: removed "gboolean progress_active" and
	added "gulong progress_cancel_id" instead.

	* app/plug-in/plug-in-progress.c: changed accordingly. Make sure
	we correctly handle the "cancel" connections of progress instances
	passed from other plug-ins.
2004-08-11 10:29:56 +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 086d0b5470 removed obsolete compile-time check for GLIB >= 2.3.5.
2004-07-19  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-in.h (struct _PlugIn): removed obsolete
	compile-time check for GLIB >= 2.3.5.
2004-07-19 12:20:27 +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
Manish Singh 1209e76f16 Use GPid with newer glib so that we work cleanly with the new API.
2004-03-08  Manish Singh  <yosh@gimp.org>

        * app/plug-in/plug-in.h: Use GPid with newer glib so that we work
        cleanly with the new API.
2004-03-08 18:29:56 +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
Michael Natterer ba91aeb86b added separate GMainLoops for waiting for extension_ack and for
2003-06-23  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-in.[ch]: added separate GMainLoops for waiting
	for extension_ack and for procedure_run's return value. The stack
	of main loops is currently unused, it will be used for temp_proc
	return values (which are currently disabled for no good reason).
	Removed the boolean "recurse" and "starting_ext" states because
	they are redundant now (we check for the presence of the dedicated
	main loops instead).

	* app/plug-in/plug-in-message.c
	* app/plug-in/plug-in-progress.c
	* app/plug-in/plug-in-run.c: changed accordingly.
2003-06-23 18:27:03 +00:00
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
Michael Natterer af330e9659 added lots of members for the complete state of the plug-ins.
2003-02-11  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp.h: added lots of members for the complete
	state of the plug-ins.

	* app/plug-in/plug-in-types.h: added PlugInShm typedef.

	* app/plug-in/plug-in-message.c
	* app/plug-in/plug-in-rc.[ch]
	* app/plug-in/plug-in-run.[ch]
	* app/plug-in/plug-in-shm.c
	* app/plug-in/plug-in.[ch]
	* app/plug-in/plug-ins.[ch]: removed all global & static variables
	and pass around more "Gimp" pointers.

	* app/plug-in/plug-in-debug.c: use G_N_ELEMENTS().

	* app/gui/image-menu.c
	* app/gui/plug-in-commands.c
	* app/gui/plug-in-menus.c
	* app/gui/toolbox-menu.c
	* app/xcf/xcf.c
	* tools/pdbgen/pdb/fileops.pdb
	* tools/pdbgen/pdb/plug_in.pdb: changed accordingly.

	* app/pdb/fileops_cmds.c
	* app/pdb/plug_in_cmds.c: regenerated.
2003-02-11 12:07:31 +00:00
Manish Singh 96e7d31f58 added hooks for running plug-ins under a memory debugger. Also, removed
2003-02-10  Manish Singh  <yosh@gimp.org>

        * app/plug-in/plug-in.[ch]: added hooks for running plug-ins under
        a memory debugger. Also, removed the args array from the PlugIn
        structure, replacing with simply a variable for the path to the
        plug-in (and one for a precalculated basename).

        * app/plug-in/plug-in-debug.[ch]: helper routines for the above

        * app/plug-in/plug-in-message.c
        * app/plug-in/plug-in-proc.c
        * app/plug-in/plug-in-progress.c: reflect new and renamed args members

        * app/plug-in/Makefile.am: added plug-in-debug.[ch]

        * app/core/core-types.h: added forward declaration for GimpPlugInDebug

        * app/core/gimp.[ch]: added structure member for GimpPlugInDebug

        * devel-docs/debug-plug-ins.txt: documented new feature
2003-02-11 01:21:21 +00:00
Michael Natterer 2db2ef6185 removed gimp_main_loop() and gimp_main_loop_quit() because they were a
2003-02-03  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp.[ch]: removed gimp_main_loop() and
	gimp_main_loop_quit() because they were a temp_hack until plug-ins
	have their own main loops. Added gimp_threads_enter() and
	gimp_threads_leave() instead.

	* app/gui/gui.c: ditto: removed the main loop stuff and added
	functions which call GDK_THREADS_ENTER() and GDK_THREADS_LEAVE()
	instead.

	* app/app_procs.c: create the main GMainLoop here and use
	gimp_threads_enter,leave().

	* app/plug-in/plug-in.[ch]: added a ref_count per plug-in so the
	plug-in is not destroyed under our feet while running a recursive
	main loop. Added plug_in_ref(). Changed plug_in_destroy() to
	plug_in_unref(). Don't destroy the plug-in if plug_in_open()
	fails. Call gimp_threads_enter,leave() around g_main_loop_run().
	Changed the way plug_in_push,pop() are used: "current_plug_in" is
	no longer the plug-in which currently uses the wire, but the
	plug-in which currently preforms a PDB call (the former meaning
	was needed when wire callbacks had no plug-in context but needed
	to get the plug-in from the global "current_plug_in" variable).
	Removed all calls to plug_in_push,pop() from this file.

	* app/plug-in/plug-in-message.c (plug_in_handle_proc_run): added
	plug_in_push,pop() around procedural_db_execute(). No need
	to construct an error return value if the procedure was not found
	because procedural_db_execute() already does this.

	Removed all other plug_in_push,pop(). Added more checks to plug-in
	message handlers and kill the plug-in if it misbehaves. Cleanup.

	* app/plug-in/plug-in-progress.c (plug_in_progress_cancel): if the
	plug-in runs synchronously, provide a GIMP_PDB_CANCEL return value
	so we don't see error messages about the "failed" procedure.

	* app/plug-in/plug-in-run.c: removed plug_in_push,pop() stuff.
	Set the new plug_in->starting_ext boolean while starting an
	extension so the extension_ack handler knows that it wasn't called
	from a buggy plug-in. Cleanup.

	* app/plug-in/plug-ins.c: Cleanup.
2003-02-03 13:21:31 +00:00
Michael Natterer a3c388149d renamed plug_in->busy to plug_in->in_temp_proc. Added a stack of
2003-01-30  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-in.[ch]: renamed plug_in->busy to
	plug_in->in_temp_proc. Added a stack of GMainLoops to each
	plug-in. Added the "current_return_vals" to the PlugIn
	struct. Renamed plug_in_kill() to plug_in_exit(). Removed
	the stuff added below. Cleanup.

	* app/plug-in/Makefile.am
	* app/plug-in/plug-in-message.[ch]
	* app/plug-in/plug-in-run.[ch]
	* app/plug-in/plug-in-shm.[ch]: new files taking out functionality
	from the overloaded plug-in.c. Added the code back in that implements
	temp proc return messages (inside an #ifdef) because i don't
	really get why it was removed on Sep 19 1998.

	* app/plug-in/plug-ins.c: changed accordingly.

	* app/plug-in/plug-in-def.c
	* app/plug-in/plug-in-params.c: removed inclusion of <gtk/gtk.h>.

	* app/gui/file-save-dialog.c
	* app/gui/paths-dialog.c
	* app/gui/plug-in-commands.c
	* app/gui/plug-in-menus.c
	* app/pdb/procedural_db.c
	* app/widgets/gimphelp.c: changed plug-in includes accordingly.

	* app/gui/plug-in-commands.c: don't use "the_gimp" from
	"app_procs.h" but get it from the GimpItemFactory that invoked the
	plug-in callback.
2003-01-30 11:20:12 +00:00
Michael Natterer d407244f7e renamed plug_in_progress_init() to plug_in_progress_start() so it matches
2003-01-20  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-in-progress.[ch]: renamed plug_in_progress_init()
	to plug_in_progress_start() so it matches plug_in_progress_end().
	Added g_return_if_fail() to all functions.

	* app/plug-in/plug-in.[ch]: plug_in_new(): require the passed
	path to be absolute. Removed plug_in_search_in_path(). Replaced
	some if(plug_in){...} by g_return_if_fail(plug_in!=NULL). Cleanup.

	* app/plug-in/plug-ins.c: plug_ins_def_add_from_rc(): refuse to
	add plug_in_defs with non-absolute paths (should never happen).
	Misc cleanup all over the place like s/GSList *tmp/GSList *list/.

	* app/plug-in/plug-in-params.c: cleanup.

	* tools/pdbgen/pdb/plug_in.pdb: changed accordingly.

	* app/pdb/plug_in_cmds.c: regenerated.

	* app/gui/brush-select.c
	* app/gui/gradient-select.c
	* app/gui/palette-select.c
	* app/gui/pattern-select.c: some code review & cleanup.
2003-01-20 12:17:32 +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
Michael Natterer b1ebd9cddf The unbelievable happened: a menu bar per display (optionally)
2002-12-10  Michael Natterer  <mitch@gimp.org>

	The unbelievable happened: a menu bar per display (optionally)

	* app/widgets/gimpitemfactory.[ch]: Added the possibility to have
	more than one item factory per <Prefix>. Added
	gimp_item_factories_set_foobar() variants of all functions which
	set menu item properties (label, sensitive, ...). Removed
	the #ifndef ENABLE_NLS code since that's no longer possible.

	* app/widgets/gimptoolbox.c: made it robust againt the <Image>
	factory not existing at the time of toolbox creation.

	* app/config/gimpconfig-blurbs.h
	* app/config/gimpdisplayconfig.[ch]: added boolean
	"menu_bar_per_display" property.

	* app/gui/preferences-dialog.c: added a toggle for the new option.

	* app/gui/menus.[ch]: added menus_get_new_image_factory() as
	temporary solution. Will add a GimpMenuFactory which creates the
	item factories soon.

	* app/display/gimpdisplayshell.c: add the menu bar if requested.
	Changed widget packing slightly for the menu bar case.

	* app/display/gimpdisplayshell-callbacks.c: changed accordingly.
	Currently there is no right-click popup menu when we have a menu
	bar. This will change soon.

	* app/gui/file-dialog-utils.c
	* app/gui/gui.c: use gimp_item_factories_set_foo().

	* app/gui/channels-commands.c
	* app/gui/dialogs-commands.c
	* app/gui/dialogs-constructors.c
	* app/gui/drawable-commands.c
	* app/gui/edit-commands.c
	* app/gui/file-commands.c
	* app/gui/image-commands.c
	* app/gui/layers-commands.c
	* app/gui/plug-in-commands.c
	* app/gui/select-commands.c
	* app/gui/tools-commands.c
	* app/gui/vectors-commands.c
	* app/gui/view-commands.c: per-display item factories pass the
	GimpDisplay as user_data to callbacks, not a Gimp. Changed all
	return_if_no_foo() macros to handle both cases.

	Cleaned up the plug-in menu stuff:

	* app/plug-in/plug-in-types.h: removed PlugInMenuEntry type.

	* app/plug-in/plug-ins.[ch]: added plug_ins_proc_def_add() as
	counterpart to plug_ins_proc_def_remove(). Added
	plug_ins_locale_domain() as counterpart to plug_ins_help_path().
	Remember the locale domains just as the help paths. Changed
	plug-in initialization so that their menus can be created multiple
	times.

	* app/plug-in/plug-in.[ch]: use plug_ins_proc_def_add() instead of
	doing it manually.

	* app/gui/plug-in-menus.[ch]: added plug_in_menus_init() which
	just registers the locale domains. Changed plug_in_make_menu() to
	take a list of proc_defs, not plug_ins_defs so it can be used
	after plug-in query.
2002-12-10 16:38:16 +00:00
Manish Sing 303e5c6a1f use g_spawn_async now. If the OS/2 port is still being maintained, there
2002-11-16  Manish Sing  <yosh@gimp.org>

        * app/plug-in/plug-in.c: use g_spawn_async now. If the OS/2 port
        is still being maintained, there needs to be work done Glib side.
        If not, we should probably drop the other support code.

        * app/plug-in/plug-in.h: remove unused Win32 only structure members
2002-11-16 19:01:46 +00:00
Sven Neumann f8de6fe33f removed (wrong) definition of LOCALEDIR.
2002-05-07  Sven Neumann  <sven@gimp.org>

	* libgimp/gimpintl.h: removed (wrong) definition of LOCALEDIR.

	* libgimp/stdplugins-intl.h: fixed typo in domainname that broke i18n
	of plug-ins.

	* app/gui/Makefile.am: define LOCALEDIR.

	* app/gui/plug-in-menus.c
	* app/plug-in/plug-in.h
	* app/plug-in/plug-ins.[ch]: declared translation domain and help path
	as const strings.

	* plug-ins/print/print.c
	* plug-ins/print/print_gimp.h: minor cleanups.
2002-05-07 11:33:58 +00:00
Michael Natterer 47c5473e46 badly chopped into the new files below. Pass around much more "PlugIn" and
2002-03-20  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-in.[ch]: badly chopped into the new files below.
	Pass around much more "PlugIn" and "Gimp" pointers instead of
	using "current_plug_in" and "the_gimp". Needs much more hacking
	though... :(

	* app/plug-in/Makefile.am
	* app/plug-in/plug-in-def.[ch]
	* app/plug-in/plug-in-params.[ch]
	* app/plug-in/plug-in-progress.[ch]
	* app/plug-in/plug-ins.[ch]: new files.

	* app/gui/Makefile.am
	* app/gui/plug-in-commands.[ch]
	* app/gui/plug-in-menus.[ch]: ditto.

	* app/plug-in/plug-in-rc.c
	* app/plug-in/plug-in-types.h: changed accordingly.

	* app/pdb/procedural_db.c: changed procedural_db_destroy_args()
	so it can be used from plug_in_args_destroy(). Fixed a parasite
	memory leak (or introduced a new SEGV, we'll see...).

	* app/display/Makefile.am: another "truly ugly hack" until the
	plug-in menu stuff is chopped even more...

	* app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here,
	it is now in plug-in-commands.[ch].

	* app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*()
	hacks. We have a GimpItemFactory available in most cases we used
	to call this functions, and can use gimp_item_factors_from_path()
	in all other cases. The item factory stuff needs more work
	anyway...

	* app/app_procs.c
	* app/gimphelp.c
	* app/display/gimpdisplayshell.c
	* app/gui/file-dialog-utils.c
	* app/gui/file-open-dialog.[ch]
	* app/gui/file-save-dialog.[ch]
	* app/gui/gui.c
	* app/gui/menus.c
	* app/gui/paths-dialog.c
	* app/xcf/xcf.c
	* tools/pdbgen/pdb/fileops.pdb
	* tools/pdbgen/pdb/help.pdb
	* tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes,
	renamed functions and gimp_menu_item_*() removal).

	* app/pdb/fileops_cmds.c
	* app/pdb/help_cmds.c
	* app/pdb/plug_in_cmds.c: regenerated.
2002-03-20 17:46:13 +00:00
Nate Summers e1db698bfd implement a new pluginrc flag, "has-init", so that only plug-ins with init
* app/plug-in/plug-in-rc.c: implement a new pluginrc flag,
 	"has-init", so that only plug-ins with init functions are
 	initialized.

	* app/plug-in/plug-in.ch
 	* libgimp/gimp.c
 	* libgimpbase/gimpprotocol.ch: send a new gimpwire message,
 	GP_HAS_INIT during the query stage if the plug-in needs to be
 	initialized.  Only invoke the plug-in in init mode if the plug-in
 	has an init function.
2002-02-12 07:59:16 +00:00
Nate Summers 3d5548b50b app/plug-in/plug-in.[ch] added support for the init function in plug-ins.
* app/plug-in/plug-in.[ch]
	* libgimp/gimp.c: added support for the init function in plug-ins.
2002-02-12 02:41:01 +00:00
Sven Neumann 9782493033 app/plug-in/Makefile.am new files that parse pluginrc using a GScanner.
2001-12-28  Sven Neumann  <sven@gimp.org>

	* app/plug-in/Makefile.am
	* app/plug-in/plug-in-rc.[ch]: new files that parse pluginrc using a
	GScanner.

	* app/plug-in/plug-in.[ch]: made PlugInDef public again so we can use
	it from the pluginrc parser.

	* tools/pdbgen/pdb/procedural_db.pdb: made regex string matching
	robust against NULL pointers.

	* app/pdb/procedural_db_cmds.c: regenerated.

	* app/gimprc.c: removed old pluginrc parser.
2001-12-27 23:45:12 +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
Michael Natterer 3726976963 added GIMP_IMAGE_TYPE_IS_[RGB|GRAY|INDEXED]() and
2001-12-14  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage.[ch]: added
	GIMP_IMAGE_TYPE_IS_[RGB|GRAY|INDEXED]() and
	GIMP_IMAGE_TYPE_BASE_TYPE() macros.

	* app/plug-in/plug-in.[ch]: new enum PlugInImageType instead of
	multiple #defines.

	* app/gui/file-dialog-utils.[ch]: file_dialog_update_menus(): take
	a GimpImageType instead of the PlugInImageType.

	* app/core/gimpdrawable-preview.c
	* app/core/gimpdrawable-transform.c
	* app/core/gimpdrawable.c
	* app/core/gimpimage-contiguous-region.c
	* app/core/gimpimage-mask.c
	* app/core/gimpimage-merge.c
	* app/core/gimplayermask.c
	* app/core/gimppalette-import.c
	* app/display/gimpdisplay-handlers.c
	* app/display/gimpdisplayshell-render.c
	* app/gui/file-save-dialog.c
	* app/gui/toolbox.c
	* app/tools/gimpclonetool.c
	* app/tools/gimpcolorpickertool.c
	* tools/pdbgen/pdb/convert.pdb
	* tools/pdbgen/pdb/image.pdb: use the new macros, cleanups like
	storing GimpImageType in GimpImageType variables, not just gint.

	* app/pdb/convert_cmds.c
	* app/pdb/image_cmds.c: regenerated.

	* app/widgets/gimpdialogfactory.c: save the state of the "Auto"
	button in sessionrc.
2001-12-14 15:30:31 +00:00
Sven Neumann a65e1a39e4 app/core/Makefile.am new file that holds enums that are registered with
2001-12-08  Sven Neumann  <sven@gimp.org>

	* app/core/Makefile.am
	* app/core/core-enums.h: new file that holds enums that are registered
	with the type system and is used to generate core-enums.c.

	* app/core/core-types.h: include core-enums.h

	* app/base/base-types.h: namespace cleanup. Prefix all enumeration
	types with Gimp and their values with GIMP. Moved GimpLayerModeEffects
	enum ...

	* app/base/base-enums.h: ... here.

	* app/image_map.c
	* app/base/temp-buf.c
	* app/core/gimpcontext.[ch]
	* app/core/gimpdrawable-transform.c
	* app/core/gimpdrawable.c
	* app/core/gimpedit.c
	* app/core/gimpimage-mask.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage-new.c
	* app/core/gimpimage-projection.c
	* app/core/gimpimage.[ch]
	* app/core/gimplayer.[ch]
	* app/display/gimpdisplayshell-dnd.c
	* app/display/gimpdisplayshell-render.c
	* app/gui/brush-select.c
	* app/gui/layers-commands.c
	* app/gui/preferences-dialog.c
	* app/gui/toolbox.c
	* app/paint-funcs/paint-funcs.[ch]
	* app/tools/gimpconvolvetool.c
	* app/tools/gimperasertool.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimppainttool.[ch]
	* app/tools/gimptexttool.c
	* app/tools/paint_options.c
	* app/widgets/gimplayerlistview.c
	* app/widgets/gimpwidgets-constructors.[ch]
	* app/xcf/xcf-load.c
	* tools/pdbgen/pdb/brush_select.pdb
	* tools/pdbgen/pdb/brushes.pdb
	* tools/pdbgen/pdb/color.pdb
	* tools/pdbgen/pdb/layer.pdb
	* tools/pdbgen/pdb/tools.pdb: changed accordingly.

	* libgimpbase/gimpbasetypes.h: no need to chop GIMP prefix off the
	enums any longer.

	* app/pdb/brush_select_cmds.c
	* app/pdb/brushes_cmds.c
	* app/pdb/color_cmds.c
	* app/pdb/layer_cmds.c
	* app/pdb/message_cmds.c
	* app/pdb/procedural_db_cmds.c
	* app/pdb/tools_cmds.c
	* libgimp/gimpenums.h
	* plug-ins/script-fu/script-fu-constants.c
	* tools/pdbgen/enums.pl: regenerated.

	* app/gimprc.c: removed code to parse for "plug_in" keyword which was
	left over from some very early gimp days.

	* app/plug-in/plug-in.[ch]: removed now unused function plug_in_add().
2001-12-08 23:12:59 +00:00
Michael Natterer 77863d8868 app/Makefile.am removed...
2001-11-30  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/plug_in.[ch]: removed...

	* app/plug-in/Makefile.am
	* app/plug-in/plug-in-types.h
	* app/plug-in/plug-in.[ch]: ...and added here.

	* app/appenv.h: removed StackTraceMode and MessageHandlerType...

	* libgimpbase/gimpbasetypes.h: ...and added them here.

	* tools/pdbgen/Makefile.am: don't scan "app/apptypes.h" for enums.

	* tools/pdbgen/enumcode.pl: added a general check to prevent
	enums which are defined in libgimp* from being written to
	"libgimp/gimpenums.c".

	* libgimp/gimpenums.h
	* plug-ins/script-fu/script-fu-constants.c
	* tools/pdbgen/enums.pl: regenerated.

	* app/core/core-types.h: include "pdb/pdb-types.h" so including
	"core/core-types.h" gets the whole core type space.

	* app/core/gimp.[ch]: added a "stack_trace_mode" parameter to the
	constructor and store it in the Gimp struct because the value is
	also passed to plug-ins and nobody should include "appenv.h".

	* app/gimprc.[ch]: pass the alternate_system_gimprc and
	alternate_gimprc filenames from the command line to gimprc_prase()
	so we don't need to include "appenv.h".

	* app/batch.[ch]: pass the "batch_cmds" as parameter, don't
	include "append.h".

	* app/app_procs.c: pass more parameters around.

	* app/devices.c
	* app/errors.c
	* app/gimphelp.c
	* app/main.c
	* app/core/gimpgradient.c
	* app/display/gimpdisplay.c
	* app/display/gimpdisplayshell.c
	* app/file/file-open.c
	* app/file/file-save.c
	* app/file/file-utils.c
	* app/gui/commands.c
	* app/gui/error-console-dialog.c
	* app/gui/file-dialog-utils.c
	* app/gui/file-open-dialog.c
	* app/gui/file-save-dialog.c
	* app/gui/paths-dialog.c
	* app/gui/user-install-dialog.c
	* app/tools/gimpbezierselecttool.c
	* app/tools/xinput_airbrush.c
	* app/xcf/xcf.c
	* tools/pdbgen/pdb/fileops.pdb
	* tools/pdbgen/pdb/help.pdb
	* tools/pdbgen/pdb/message.pdb
	* tools/pdbgen/pdb/plug_in.pdb: changed accordingly:

	- changed "plug-in.h" include where needed.
	- don't call gimp_fatal_error() directly, it's called via the log
	  handler when calling g_error().
	- don't incude "errors.h" except from main.c.
	- changed stack_trace and message_handler enum names.
	- get "stack_trace_mode" from Gimp.
	- removed many inclusions of "appenv.h".

	* 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.c: regenerated.
2001-12-01 00:14:14 +00:00
Sven Neumann 1dc4b14f8d app/gimprc.c app/plug_in.[ch] app/pdb/plug_in_cmds.c started to clean
2001-11-24  Sven Neumann  <sven@gimp.org>

	* app/gimprc.c
	* app/plug_in.[ch]
	* app/pdb/plug_in_cmds.c
	* tools/pdbgen/pdb/plug_in.pdb: started to clean plug_in code a little.
	Still a long way to go...

	* app/gui/splash.c: simplified
2001-11-24 20:31:15 +00:00
Michael Natterer cc83594bf2 link the app in a different order as some init functions are called from
2001-10-19  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am: link the app in a different order as some init
	functions are called from core/gimp.c instead of app_procs.c now.

	* app/app_procs.[ch]: made app_init_update_status() private and
	pass it as callback to various init functions.

	* app/plug_in.[ch]: plug_in_init() take "gimp" and "status_callback"
	parameters.

	* app/undo.c: use "gimage->gimp" instead of "the_gimp", don't
	include "app_procs.h".

	* app/core/core-types.h: added "GimpInitStatusFunc" typedef.

	* app/core/gimp.[ch]: gimp_initialize() and gimp_restore() now
	take a "status_callback" as parameter. Don't include "app_procs.h".

	* app/core/gimpmodules.c: putting the modules in a strong
	container was a bad idea because it may be impossible to finalize
	a GimpModuleInfo object belonging to a stalled module.

	* app/gui/color-area.c: use G_N_ELEMENTS().

	* app/gui/session.c: don't call app_init_update_status() and don't
	include "app_procs.h" because this happens after the splash is
	hidden.

	* tools/pdbgen/app.pl
	* app/pdb/internal_procs.[ch]: pass a "status_callback" to
	internal_procs_init(), don't include "app_procs.h".

	* plug-ins/Makefile.am: build gfig, gimpressionist and imagemap
	again.

	* plug-ins/MapObject/mapobject_preview.c
	* plug-ins/MapObject/mapobject_ui.c: s/gdk_image_unref/g_object_unref/

	* plug-ins/gfig/gfig.c
	* plug-ins/gimpressionist/brush.c
	* plug-ins/gimpressionist/gimpressionist.c
	* plug-ins/gimpressionist/ppmtool.[ch]
	* plug-ins/gimpressionist/presets.c
	* plug-ins/imagemap/imap_browse.[ch]
	* plug-ins/imagemap/imap_csim.y
	* plug-ins/imagemap/imap_edit_area_info.c
	* plug-ins/imagemap/imap_file.c
	* plug-ins/imagemap/imap_main.c
	* plug-ins/imagemap/imap_menu.c
	* plug-ins/imagemap/imap_polygon.c
	* plug-ins/imagemap/imap_popup.c
	* plug-ins/imagemap/imap_preferences.c
	* plug-ins/imagemap/imap_taglist.c
	* plug-ins/imagemap/imap_tools.c: ported to current GLib/Gtk+.

	* plug-ins/gap/gap_arr_dialog.c
	* plug-ins/gap/gap_decode_xanim.c
	* plug-ins/gap/gap_filter_foreach.c
	* plug-ins/gap/gap_filter_main.c
	* plug-ins/gap/gap_frontends_main.c
	* plug-ins/gap/gap_lib.c
	* plug-ins/gap/gap_main.c
	* plug-ins/gap/gap_mod_layer.c
	* plug-ins/gap/gap_mov_dialog.c
	* plug-ins/gap/gap_navigator_dialog.c
	* plug-ins/gap/resize.c: half-way fixed this one too but I'm not
	willing to fix tons of duplicated and deprecated app/ code...
2001-10-19 16:41:09 +00:00
Michael Natterer 18dd072836 app/gimpprogress.[ch] s/GDisplay/GimpDisplay/
2001-10-16  Michael Natterer  <mitch@gimp.org>

	* app/gimpprogress.[ch]
	* app/undo.c: s/GDisplay/GimpDisplay/

	* app/plug_in.[ch]: removed unused boolean "destroy" field of
	the PlugIn struct.

	* app/core/gimpedit.c: don't include "app_procs.h"

	* app/display/gimpdisplay-callbacks.c: moved the "grab_abd_scroll"
	stuff from gimpdisplay-scroll.* here (less complicated and easier
	to cleanup...)

	* app/display/gimpdisplay-scroll.[ch]: removed here.

	* app/display/gimpdisplay-render.[ch]
	* app/display/gimpdisplay-selection.[ch]
	* app/display/gimpdisplayshell.c: s/GDisplay/GimpDisplay/g

	* app/display/gimpdisplay.[ch]: ditto, removed gdisplay_active()
	which was just a wrapper around
	"gimp_context_get_display (gimp_get_user_context (the_gimp))"
	(which is more to type but makes the use of the global
	"the_gimp" variable more obvious).

	* app/gui/color-area.h
	* app/gui/edit-commands.c
	* app/gui/file-commands.c
	* app/gui/file-dialog-utils.c
	* app/gui/image-commands.c
	* app/gui/info-window.h
	* app/gui/paths-dialog.h
	* app/gui/select-commands.c
	* app/gui/tool-options-dialog.c
	* app/gui/tools-commands.c
	* app/gui/view-commands.c: s/GDisplay/GimpDisplay/, gdisplay_active()
	removal, include "app_procs.h" for "the_gimp".

	* app/tools/gimpbezierselecttool.h
	* app/tools/gimpbrightnesscontrasttool.[ch]
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpcolorbalancetool.[ch]
	* app/tools/gimpcurvestool.[ch]
	* app/tools/gimpeditselectiontool.h
	* app/tools/gimphistogramtool.[ch]
	* app/tools/gimphuesaturationtool.[ch]
	* app/tools/gimplevelstool.[ch]
	* app/tools/gimpmovetool.h
	* app/tools/gimpperspectivetool.h
	* app/tools/gimpposterizetool.[ch]
	* app/tools/gimprotatetool.h
	* app/tools/gimpscaletool.h
	* app/tools/gimpsheartool.h
	* app/tools/gimptexttool.h
	* app/tools/gimpthresholdtool.[ch]
	* app/tools/gimptool.[ch]
	* app/tools/gimptransformtool.h
	* app/tools/tool_manager.[ch]: lots of s/GDisplay/GimpDisplay/, made
	all *_dialog_hide() functions private, cleanup.

	* app/widgets/*: removed GtkType and gtk_type_* stuff entirely and
	use GObject functions, removed lots of empty "destroy" methods and
	use more type checking class cast macros instead of casting
	directly.

	* app/widgets/gimpcontainermenu.c: fixed item insert order.

	* app/widgets/gimphistogramview.[ch]: cleaned up and renamed all
	functions.

	* app/widgets/gimpwidgets-utils.[ch]: removed gimp_dialog_hide() as
	Gtk+ does the right thing (TM) now.

	* tools/pdbgen/pdb/color.pdb: implemented "histogram" without
	digging into tools/ and widgets/ (needs to be done for all
	color PDB functions).

	* tools/pdbgen/pdb/gimprc.pdb: no need to use "the_gimp" in a PDB
	function as a "Gimp" pointer is passed to them all.

	* tools/pdbgen/pdb/image.pdb: don't include "app_procs.h"

	* app/pdb/color_cmds.c
	* app/pdb/gimprc_cmds.c
	* app/pdb/image_cmds.c: regenerated.

	* app/pdb/procedural_db.c: don't include "app_procs.h"
2001-10-17 11:33:43 +00:00
Michael Natterer 01b780d682 added app/display/ and app/plug-in/. Empty for now except for the types
2001-08-17  Michael Natterer  <mitch@gimp.org>

	* configure.in: added app/display/ and app/plug-in/. Empty for
	now except for the types files.

	* app/Makefile.am
	* app/appenums.h
	* app/apptypes.h: removed.

	* app/display/Makefile.am
	* app/display/display-types.h
	* app/plug-in/Makefile.am
	* app/plug-in/plug-in-types.h
	* app/gui/Makefile.am
	* app/gui/gui-types.h
	* app/pdb/Makefile.am
	* app/pdb/pdb-types.h: new files for typedefs.

	* app/appenv.h: added MessageHandlerType and StackTraceMode here.

	* app/undo_types.h: moved undo struct typedefs here.

	* app/tools/tools-types.h
	* app/core/core-types.h: added some enums and Tattoo here
	(renamed to GimpTattoo).

	* app/gdisplay.h: temp_hack: #include "display/display-types.h"

	* app/gimphelp.c: s/gtk_idle_add/g_idle_add/

	* app/gimprc.c: don't use "gimprc" in token handlers but the
	passed "val1p" and "val2p".

	* app/image_map.[ch]: cleanup in preparation of making a GObject
	out of it.

	* app/base/pixel-region.[ch]: no need to pass the
	PixelRegionIterator around as void pointer.

	* app/core/gimp.[ch]
	* app/core/gimpcontext.[ch]
	* app/core/gimptoolinfo.[ch]
	* app/tools/tool_manager.c
	* app/widgets/gimpdnd.c: added the standard_tool_info to the Gimp
	object.

	* app/batch.c
	* app/file-open.c
	* app/file-save.c
	* app/file-utils.c
	* app/interface.c
	* app/main.c
	* app/path.[ch]
	* app/pathP.h
	* app/plug_in.h
	* app/core/gimpdrawable.[ch]
	* app/core/gimpimage-mask.c
	* app/core/gimpimage.[ch]
	* app/core/gimplayer.c
	* app/gui/color-area.c
	* app/gui/color-notebook.c
	* app/gui/colormap-dialog.c
	* app/gui/dialogs-commands.c
	* app/gui/dialogs-constructors.c
	* app/gui/error-console-dialog.c
	* app/gui/gradient-editor.c
	* app/gui/gradient-select.c
	* app/gui/indicator-area.c
	* app/gui/info-dialog.c
	* app/gui/palette-editor.c
	* app/gui/palette-select.c
	* app/gui/pattern-select.c
	* app/gui/session.c
	* app/gui/splash.c
	* app/gui/view-commands.c
	* app/tools/gimpinktool-blob.c
	* app/widgets/gimpcolorpanel.c
	* app/widgets/gimpdockbook.c
	* app/widgets/gimppreview.c
	* app/xcf/xcf-load.c
	* app/xcf/xcf-save.c
	* app/xcf/xcf.c: changed accordingly: s/Tattoo/GimpTattoo/, include
	the new types files, include <glib-object.h> instead of >gtk/gtk.h>.
	Bad hacks to get rid of SELECTION_OFF and friends in core/ (will
	be replaced ba a signal soon).

	* tools/pdbgen/Makefile.am: changed list of headers scanned for
	enums accordingly.

	* app/pdb/procedural_db.c
	* tools/pdbgen/app.pl
	* tools/pdbgen/pdb/channel.pdb
	* tools/pdbgen/pdb/display.pdb
	* tools/pdbgen/pdb/gradient_select.pdb
	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/layer.pdb
	* tools/pdbgen/pdb/pattern_select.pdb: same fixes as above, added
	hacks to ensure that all foo-types.h files are included before all
	other gimp internal includes, include "pdb-types.h" unconditionally.

	* tools/pdbgen/enums.pl
	* app/pdb/*_cmds.c: regenerated.
2001-08-17 14:27:31 +00:00
Michael Natterer 06f63a44d5 added RunModeType. removed RunModeType. don't scan app/plug_in.h for
2001-04-28  Michael Natterer  <mitch@gimp.org>

	* app/appenums.h: added RunModeType.
	* app/plug_in.h: removed RunModeType.
	* tools/pdbgen/Makefile.am: don't scan app/plug_in.h for enums.
	* tools/pdbgen/enums.pl: regenerated.

	* app/file-open.[ch]
	* app/file-save.[ch]
	* app/file-utils.[ch]: removed all GUI specific code.

	* app/gui/Makefile.am
	* app/gui/file-dialog-utils.[ch]
	* app/gui/file-open-dialog.[ch]
	* app/gui/file-save-dialog.[ch]: new files.
	Renamed file_open() to 	file_open_with_display().

	* app/app_procs.c
	* app/docindex.c
	* app/gimpdnd.c
	* app/gui/commands.c
	* app/gui/gui.c
	* app/gui/menus.c: changed accordingly.
2001-04-28 15:11:29 +00:00
Hans Breuer e6928cba2d changes to allow to build on win32 with msvc again 2001-02-07 01:16:18 +00:00
Sven Neumann 6a31b131d1 changed destdir for app-side PDB wrappers to app/pdb
2001-01-21  Sven Neumann  <sven@gimp.org>

	* tools/pdbgen/app.pl: changed destdir for app-side PDB wrappers to
	app/pdb

	* app/Makefile.am: don't create libgimpim.a in app.

	* configure.in
	* app/pdb/Makefile.am
	* app/pdb/internal_procs.[ch]
	* app/pdb/procedural_db.[ch]
	* app/pdb/*_cmds.c: moved PDB functions into their own subdirectory.

	* app/internal_procs.[ch]
	* app/procedural_db.[ch]
	* app/*_cmds.c: removed here

	* app/app_procs.c
	* app/batch.c
	* app/bezier_select.c
	* app/brush_select.c
	* app/bucket_fill.c
	* app/colormap_dialog.c
	* app/fileops.c
	* app/gimage.c
	* app/gimage_mask.c
	* app/gimphelp.c
	* app/gradient_select.c
	* app/info_window.c
	* app/invert.c
	* app/lc_dialog.c
	* app/menus.c
	* app/nav_window.c
	* app/palette_import.c
	* app/paths_dialog.c
	* app/pattern_select.c
	* app/plug_in.h
	* app/text_tool.c
	* app/xcf.c
	* po/POTFILES.in: changed accordingly
2001-01-21 21:58:16 +00:00
Michael Natterer cac3f7cb25 app/apptypes.h app/brush_edit.c app/brush_select.c app/brushes_cmds.c
2001-01-14  Michael Natterer  <mitch@gimp.org>

	* app/apptypes.h
	* app/brush_edit.c
	* app/brush_select.c
	* app/brushes_cmds.c
	* app/channel.h
	* app/colormap_dialog.c
	* app/datafiles.[ch]
	* app/devices.c
	* app/docindex.c
	* app/fileops.c
	* app/gdisplay.c
	* app/gimage.c
	* app/gimpbrush.[ch]
	* app/gimpbrushgenerated.[ch]
	* app/gimpbrushlist.[ch]
	* app/gimpbrushpipe.[ch]
	* app/gimpcontext.[ch]
	* app/gimpcontextpreview.c
	* app/gimpdnd.c
	* app/gimpdrawable.h
	* app/gimpimage.[ch]
	* app/gimplist.h
	* app/gimpobject.h
	* app/gimpset.[ch]
	* app/gradient.c
	* app/info_window.c
	* app/layer.[ch]
	* app/module_db.c
	* app/palette.[ch]
	* app/patterns.[ch]
	* app/plug_in.[ch]
	* app/undo_history.c
	* app/xcf.c
	* tools/pdbgen/pdb/brushes.pdb

	- Removed the "name" argument from all objects and use
	  GimpObject's name.
	- Use the same code in all "uniquefy name" functions (this
	  functionality will be a method of the "GimpContainer" class).
	- Renamed the parent instances of all objects to "parent instance".
	- Added missing instance and class cast macros.
	- Changed some "gchar *" to "const gchar *" parameters.
2001-01-14 03:55:56 +00:00
Michael Natterer f16e01a237 cleaned up a bit.
2000-12-31  Michael Natterer  <mitch@gimp.org>

	* app/apptypes.h: cleaned up a bit.

	* app/asupsample.[ch]
	* app/blend.[ch]
	* app/channel.h
	* app/gimpprogress.[ch]
	* app/layer.h
	* app/perspective_tool.c
	* app/plug_in.h
	* app/rotate_tool.c
	* app/scale_tool.c
	* app/shear_tool.c
	* app/transform_core.[ch]: s/gimp_progress/GimpProgress/g and some
	changes related to the apptypes.h cleanup.
2000-12-31 05:31:43 +00:00
Michael Natterer 8d6c335f8f app/Makefile.am app/channel_pvt.h app/drawable_pvt.h app/gdisplayF.h
2000-12-29  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/channel_pvt.h
	* app/drawable_pvt.h
	* app/gdisplayF.h
	* app/gimpdrawableP.h
	* app/gimpimageP.h
	* app/layer_pvt.h
	* app/toolsF.h: removed these files.

	* app/apptypes.h
	* tools/pdbgen/enums.pl: added tons of opaque typedefs and enums.

	* tools/pdbgen/pdb/brush_select.pdb
	* tools/pdbgen/pdb/brushes.pdb
	* tools/pdbgen/pdb/channel.pdb
	* tools/pdbgen/pdb/color.pdb
	* tools/pdbgen/pdb/convert.pdb
	* tools/pdbgen/pdb/display.pdb
	* tools/pdbgen/pdb/drawable.pdb
	* tools/pdbgen/pdb/fileops.pdb
	* tools/pdbgen/pdb/gradient_select.pdb
	* tools/pdbgen/pdb/gradients.pdb
	* tools/pdbgen/pdb/help.pdb
	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/layer.pdb
	* tools/pdbgen/pdb/pattern_select.pdb
	* tools/pdbgen/pdb/patterns.pdb
	* tools/pdbgen/pdb/selection.pdb
	* tools/pdbgen/pdb/tools.pdb
	* app/*: chainsaw #include cleanup:

	- Never (never!!) include stuff in header files except where we
	  need access to structures' contents (like derived objects).
	- Added prototypes and proper formating in many files.
	- The #include order in *all* *.c files is as follows:

	#include "config.h"

	#include <system stuff>

	#include <gtk/gtk.h>

	#include "apptypes.h"

	#include "gimp stuff"

	#include "libgimp stuff"

	#include "libgimp/gimpintl.h"

	By following this scheme we can easily see a file's dependencies
	from it's #include's and can grep for the inclusion to find out
	where a file is used.

	* tools/pdbgen/app.pl: changed to follow the include scheme above.

	* libgimp/Makefile.am
	* libgimp/gimpuitypes.h: new file, included from libgimp/gimpui.h
	and from app/apptypes.h.

	* libgimp/gimpcolorbutton.[ch]
	* libgimp/gimpdialog.[ch]
	* libgimp/gimphelpui.[ch]
	* libgimp/gimpparasite.[ch]
	* libgimp/gimppatheditor.[ch]
	* libgimp/gimpprotocol.c
	* libgimp/gimpquerybox.[ch]
	* libgimp/gimpsizeentry.[ch]
	* libgimp/gimptypes.h
	* libgimp/gimpui.h
	* libgimp/gimpunit.h
	* libgimp/gimpunitmenu.[ch]
	* libgimp/gimpwidgets.[ch]: changed accordingly.

	* plug-ins/FractalExplorer/Dialogs.c
	* plug-ins/gdyntext/message_window.c
	* plug-ins/imagemap/imap_default_dialog.c
	* plug-ins/imagemap/imap_file.c: these files used to include
	"libgimp/gimpui.h" without including "libgimp/gimp.h". This is
	no longer possible because the libgimpui headers don't inlcude
	"libgimp/gimpunit.h" any more.
2000-12-29 15:22:01 +00:00
Sven Neumann dfa2bed505 Last-minute cleanup:
2000-12-16  Sven Neumann  <sven@gimp.org>

	Last-minute cleanup:

	* app/gimpdrawableF.h
	* app/gimphistogramF.h
	* app/gimpimageF.h
	* app/gimplistF.h
	* app/gimplutF.h
	* app/gimpobjectF.h
	* app/gimpsetF.h
	* app/layerF.h
	* app/parasitelistF.h: removed these files

	* app/Makefile.am
	* tools/pdbgen/Makefile.am: changed accordingly

	* app/[almost every file]: include cleanup
2000-12-16 21:37:03 +00:00
Michael Natterer 9c6b0b0c33 These changes enable help support for 3rd party plug-ins which install
2000-05-21  Michael Natterer  <mitch@gimp.org>

	These changes enable help support for 3rd party plug-ins which
	install their help files outside GIMP's main help dir.

	Instead of calling gimp_help(), gimp_plugin_help_func() etc.,
	all help callbacks now have to call gimp_standard_help_func()
	which has different implementations in the app and in libgimp.

	There is a new function gimp_plugin_help_register() which can
	be called during plug-in query. plug_in.c keeps a list of
	executable_name/help_path pairs. Plug-ins have to pass their
	exec. name to gimp_help() which uses the list to find the plug-in's
	help directory.

	* app/gimphelp.[ch]: gimp_help() now takes a help_path parameter.
	help_path == NULL means the standard help directory. Various
	changes to pass the help_path to the help browser.

	* app/gimprc.c: save the plug-in's help_path in the pluginrc file.

	* app/menus.c: ugly hack to enable help_paths in the "F1" callback.

	* app/plug_in.[ch]: many help_path related changes. Use g_basename()
	instead of strrchr(str,G_DIR_SEPARATOR), cosmetic cleanups.

	* app/internal_procs.c
	* app/gimphelp_cmds.c
	* tools/pdbgen/pdb/gimphelp.pdb: new procedure
	gimp_plugin_help_register(). gimp_help() takes a second parameter
	which is the executable name (not the help_path).

	* app/color_notebook.c
	* app/commands.c
	* app/lc_dialog.c
	* app/preferences_dialog.c
	* app/tools.c: call gimp_standard_help_func() instead of gimp_help().

	* libgimp/gimp.c: new function gimp_get_progname() which returns
	the full path of the plug-in's executable.

	* libgimp/gimp.h: export the new function,
	removed gimp_plugin_help_func(), gimp_help() takes the executable
	name as second parameter.

	* libgimp/gimpcompat.h: added gimp_plugin_help_func().

	* libgimp/gimphelp.c: a wrapper for gimp_plugin_help_register(),
	changed the calls to gimp_help.

	* libgimp/gimphelpui.[ch]: call gimp_standard_help_func() instead
	of gimp_help().

	* plug-ins/helpbrowser/helpbrowser.c: now called with an additional
	help_path parameter. Various changes to enable
	help_path != gimp_standard_help_path.

	Unrelated stuff:

	* app/batch.h: added missing GPL header.

	* app/gimpunit.c: had a LGPL header, merged some fprintf's into
	one call.

	* app/procedural_db.[ch]: cosmetic: g* types, s/g_malloc/g_new/,
	prototypes, indentation.

	* app/resize.c: use less packing widgets. didn't find the "offset"
	redraw bug :(
2000-05-21 17:41:02 +00:00
Sven Neumann 9ac098c3ce app/fileops_cmds.c don't add an already registered load|save handler twice
* app/fileops_cmds.c
 * tools/pdbgen/pdb/fileops.pdb: don't add an already registered
 load|save handler twice to the list. This fixes the problem
 that extension were listed twice if a load|save plugin changed.

 * app/plug_in.[ch]: code cleanup, indentation

 * app/xcf.[ch]: same here, include copyright headers

 * plug-ins/common/wmf.c: properly cancel the load if the user
   pressed Cancel in the dialog (fixes bug #6500)


--Sven
2000-02-24 16:11:26 +00:00
Sven Neumann 7c3c4c3091 new functions gimp_plugin_domain_add() and gimp_plugin_domain_add_with_path()
that allow a plugin to specify its textdomain in the query() function. The
info is saved and read in from the pluginrc, but not yet used.


--Sven
2000-02-23 18:07:53 +00:00
Nick Lamb /GIMP 500f5ae2cb Really fixed #2152 this time. Yosh asked me to rename *_OK as PLUG_IN_*
so that's also changed this time.
1999-10-19 04:58:17 +00:00
Nick Lamb /GIMP 7590b2da36 Fixed #2169 and as a side-effect discovered that RGB_IMAGE means
something quite different for app vs plug-ins. The one in app is
now called RGB_IMAGE_OK to differentiate them.
1999-10-19 04:24:21 +00:00
Manish Singh d0519fd33d use G_OS_WIN32 and G_HAVE_CYGWIN #defines
* app/app_procs.c
* app/gdisplay_color.[ch]
* app/gdisplay_color_ui.c: make the ui usable

* app/gdisplay.c: enable cdisplay support

* modules/Makefile.am
* modules/cdisplay_gamma.c: moved gamma functionality to separate

-Yosh
1999-10-04 19:26:07 +00:00
Tor Lillqvist f6858e21d1 Actually use the enum types GimpImageType, GimpImageBaseType,
* app/*.[ch]: Actually use the enum types GimpImageType,
	GimpImageBaseType, LayerModeEffects, PaintApplicationMode,
	BrushApplicationMode, GimpFillType and ConvertPaletteType, instead
	of just int or gint. Hopefully I catched most of the places
	where these should be used.

	Add an enum ConvolutionType, suffix the too general constants
	NORMAL, ABSOLUTE and NEGATIVE with _CONVOL. Use NORMAL_MODE
	instead of NORMAL in some places (this was what was intended). Fix
	some minor gccisms.

	* app/apptypes.h: New file. This file contains the above
	enumeration types, and some opaque struct typedefs. It was
	necessary to collect these in one header that doesn't include
	other headers, because when we started using the above mentioned
	types in the headers, all hell broke loose because of the
	spaghetti-like cross-inclusion mess between headers.

	(An example: Header A includes header B, which includes header C
	which includes A. B uses a type defined in A. This is not defined,
	because A hasn't defined it yet at the point where it includes B,
	and A included from B of course is skipped as we already are
	reading A.)
1999-08-18 23:41:39 +00:00
Manish Singh 7cb07a90bf add sample_colorize and curve_bend defs
* plug-ins/common/plugin-defs.pl: add sample_colorize and
curve_bend defs

* libgimp/color_selector.h: minor consistency cleanup

* libgimp/gimpchainbutton.[ch]: use new style gtk object helper macros

* libgimp/gimpfileselection.c
* libgimp/gimpmatrix.h: minor cleanup

* libgimp/gimpintl.h: resync with gnome-i18n.h


* libgimp/color_display.h
* app/gimp.sym
* app/gdisplay_color.[ch]
* app/app_procs.c
* app/gdisplay.h
* app/image_render.c: color display transformation code. Still
unfinished, so it's not activated yet.

* app/buildmenu.h: remove unused defines (PULLDOWN, POPUP, OPTION)

* app/colormaps.[ch]
* app/image_render.c: remove vestigal dithering stuff

* app/convolve.h
* app/gimpdrawable.h
* app/gimpimage.h
* app/lut_funcs.h
* app/paint_funcs.h
* app/plug_in.h: enum nick changes from Marc

* app/channel_ops.c
* app/crop.c
* app/gdisplay.c
* app/gimpimage.[ch]
* app/move.c: s/([A-Z]+)_GUIDE/ORIENTATION_$1/

* app/flip_tool.[ch]
* app/shear_tool.[ch]: use ORIENTATION_* constants instead of our own

* app/disp_callbacks.c: remove HORIZONTAL and VERTICAL #defines

* app/general.h: enumified TOKEN_* symbols

* app/lc_dialog.c
* app/paint_funcs.c: remove unused variables

* tools/pdbgen/lib.pl: autogen gimpenums.h (unfinished)

* tools/pdbgen/stddefs.pdb: new std_orientation_enum, remove
layer_mode shortcut since we've skipped it in app/

* tools/pdbgen/pdb/brush_select.pdb
* tools/pdbgen/pdb/brushes.pdb
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/gimage.pdb
* tools/pdbgen/pdb/guides.pdb
* tools/pdbgen/pdb/layer.pdb
* tools/pdbgen/pdb/tools.pdb: reflect above enum changes, whitespace
cleanups

* tools/pdbgen/enums.pl
* app/brush_select_cmds.c
* app/brushes_cmds.c
* app/color_cmds.c
* app/drawable_cmds.c
* app/gimage_cmds.c
* app/layer_cmds.c
* app/procedural_db_cmds.c
* app/tools_cmds.c: reflect pdb and enum nick changes above

-Yosh
1999-07-28 23:00:08 +00:00
Manish Singh 030009d780 tools/pdbgen/plug_in.pdb new files
* tools/pdbgen/plug_in.pdb
* tools/pdbgen/interface.pdb: new files

* tools/pdbgen/app.pl: add no_id_lookup option

* tools/pdbgen/Makefile.am: added new pdb files, plug_in.h

* tools/pdbgen/enums.pl: plug_in.h enums

* app/plug_in.[ch]: removed PDB stuff, exported current_plug_in,
proc_defs, and plug_in_progress_{init,update}

* app/interface_cmds.c
* app/plug_in_cmds.c
* app/internal_procs.c: pdbgenned files

* app/Makefile.am: new files: interface_cmds.c, plug_in_cmds.c

-Yosh
1999-05-03 19:22:58 +00:00