Commit Graph

237 Commits

Author SHA1 Message Date
Michael Natterer 74710fccf4 changed GimpDatafileLoaderFunc to take a separate "gpointer user_data"
2003-07-02  Michael Natterer  <mitch@gimp.org>

	* libgimpbase/gimpbasetypes.h: changed GimpDatafileLoaderFunc to
	take a separate "gpointer user_data" parameter (passing user_data
	in a struct was a quite nonstandard API design). Made the
	GimpDatafileData pointer const.

	* libgimpbase/gimpdatafiles.[ch]: removed user_data from the
	GimpDatafileData struct and added "const gchar *basename" so we
	don't need to g_path_get_basename() in many callbacks.

	* libgimp/gimpmiscui.[ch]: changed gimp_plug_in_parse_path() to
	gimp_plug_in_get_path() and return the unparsed path.

	* app/core/gimpdatafactory.c
	* app/core/gimpenvirontable.c
	* app/gui/gui.c
	* app/plug-in/plug-ins.c
	* libgimpmodule/gimpmoduledb.c
	* plug-ins/script-fu/script-fu-scripts.c: changed accordingly.

	* plug-ins/FractalExplorer/Dialogs.c
	* plug-ins/FractalExplorer/FractalExplorer.[ch]
	* plug-ins/FractalExplorer/Globals.c
	* plug-ins/gfig/gfig.c
	* plug-ins/gflare/gflare.c: use gimp_datafiles_read_directories()
	instead of fiddling with g_dir_open() manually. Random cleanups.
2003-07-02 17:11:00 +00:00
Sven Neumann f30586d112 app/config/gimpconfig.[ch] app/config/gimpconfigwriter.[ch] added support
2003-06-23  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig.[ch]
	* app/config/gimpconfigwriter.[ch]
	* app/config/gimpscanner.[ch]: added support for serializing to
	and deserializing from strings. Had to do some smaller changes to
	the GimpConfig API.

	* app/config/test-config.c: added a simple test for the new
	functions.

	* app/config/gimpconfig-dump.c
	* app/config/gimprc.c
	* app/core/gimp-documents.c
	* app/core/gimp-parasites.c
	* app/core/gimp-templates.c
	* app/core/gimpunits.c
	* app/gui/session.c
	* app/plug-in/plug-in-rc.c
	* app/tools/tool_options.c
	* app/widgets/gimpdevices.c: follow GimpConfig API changes.

	* libgimpbase/gimpparasite.[ch]: declared the return value of
	gimp_parasite_data() as gconstpointer.
2003-06-23 22:02:56 +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 ecb0b58439 Changed the semantics of GIMP_EXTENSION and (to some extent) of
2003-06-19  Michael Natterer  <mitch@gimp.org>

	Changed the semantics of GIMP_EXTENSION and (to some extent)
	of GIMP_PLUGIN:

	The old meaning of EXTENSION was "I live in the toolbox" and
	PLUGIN meant "I take RUN-MODE,IMAGE,DRAWABLE args (but only if I
	am invoked interactively)". This is completely useless, since
	living in the toolbox means having "<Toolbox>" in the menu_path
	and taking RUN-MODE,IMAGE,DRAWABLE means just that, regardless of
	what type of procedure we are.

	The new meaning of GIMP_PLUGIN is just "I am an ordinary procedure,
	I am invoked, do my job and finish", while GIMP_EXTENSION means
	"I will install temporary procedures and I will keep running to
	keep them available".

	(A GIMP_EXTENSION *must* call gimp_extension_ack() now to tell the
	core that it's ready to run, or the core will block waiting for
	the message !!!).

	* configure.in: bumped version number to 1.3.16.

	* libgimpbase/gimpprotocol.h: increased protocol version number so
	old extensions will refuse to load.

	* app/gui/plug-in-commands.c (plug_in_run_cmd_callback): don't
	blindly pass RUN-MODE,IMAGE,DRAWABLE to GIMP_PLUGIN procedures but
	look at their parameters and pass them either RUN-MODE, or
	RUN-MODE,IMAGE, or RUN-MODE,IMAGE,DRAWABLE.

	* app/pdb/procedural_db.c: cleaned up, better error reporting,
	replaced an impossible error message by g_return_if_fail()

	* app/plug-in/plug-in-message.c (plug_in_handle_proc_install):
	better error messages.

	* app/plug-in/plug-in-params.c: allocate parameter arrays using
	g_new0() so we don't have to worry about uninitialized stuff
	later.

	* app/plug-in/plug-in-run.c (plug_in_run): wait for
	gimp_extension_ack() installation confirmation for ALL extensions,
	not just for automatically started ones.

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

	* libgimp/gimp.[ch]: cleaned up and API-documented massively. Made
	all magic values given in the GPConfig message static and added
	accessor functions for them. Added gimp_tile_width()/height().
	Added new function gimp_extension_enable() which turns on
	asynchronous processing of temp_proc run requests without having
	to enter an endless gimp_extension_process() loop. Moved all
	private functions to the end of the file. Added tons of
	g_return_if_fail() all over the place.  Call gimp_run_procedure2()
	from gimp_run_procedure() instead of duplicating the
	code. Indentation, spacing, stuff...

	* libgimp/gimptile.[ch]: removed gimp_tile_width()/height().

	* libgimp/gimpdrawable.c
	* libgimp/gimppixelrgn.c
	* libgimp/gimptile.c: use the gimp_tile_width()/height() accessor
	functions.

	* libgimp/gimp.def: added gimp_extension_enable.

	* libgimp/gimpmenu.c: removed evil code which connected to
	_readchannel manually and use gimp_extension_enable() for watching
	temp_procs.

	* plug-ins/helpbrowser/helpbrowser.c: removed the same evil code
	here and call gimp_extension_enable(). Call gimp_extension_ack()
	to let the core know that the temp_proc is installed.

	* plug-ins/script-fu/script-fu.c: made all procedures except the
	permanently running "extension_script_fu" ordinary GIMP_PLUGIN
	procedures.

	* plug-ins/common/curve_bend.c
	* plug-ins/common/plugindetails.c
	* plug-ins/common/screenshot.c
	* plug-ins/common/uniteditor.c
	* plug-ins/common/winclipboard.c
	* plug-ins/dbbrowser/dbbrowser.c
	* plug-ins/gfli/gfli.c
	* plug-ins/twain/twain.c
	* plug-ins/webbrowser/webbrowser.c
	* plug-ins/winsnap/winsnap.c: made them all ordinary GIMP_PLUGIN
	procedures and renamed them from "extension_*" to "plug_in_*".
	Random cleanups.

	* app/widgets/gimphelp.c
	* plug-ins/maze/maze_face.c: call "plug_in_web_browser" now.
2003-06-19 17:12:00 +00:00
Sven Neumann 4f24228456 wait 10 ms before killing the plug-in just like the comment says. The code
2003-05-13  Sven Neumann  <sven@gimp.org>

	* app/plug-in/plug-in.c (plug_in_close): wait 10 ms before killing
	the plug-in just like the comment says. The code used to wait 0.1 ms
	only.
2003-05-13 11:44:28 +00:00
Michael Natterer 31becaf4d0 Update the splash before calling plug_in_query() and plug_in_init()
2003-05-03  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-ins.c (plug_ins_init): Update the splash before
	calling plug_in_query() and plug_in_init() (applied a modified
	patch from Raphael Quinet). Fixes bug #112156.
2003-05-03 20:18:03 +00:00
Michael Natterer 5b631a8cab make sure all progress bars and at 1.0. Build the list of extension
2003-04-15  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-ins.c (plug_ins_init): make sure all progress
	bars and at 1.0. Build the list of extension procedures to start
	before starting them (and don't start them while iterating the
	list of procedures because the list changes if we start an
	extension).
2003-04-15 11:35:31 +00:00
Sven Neumann 28fddfd554 Makefile.am removed this header file.
2003-03-25  Sven Neumann  <sven@gimp.org>

	* Makefile.am
	* gimpintl.h: removed this header file.

	* gimpmiscui.c: include libgimp-intl.h.

	* gimp.c (gimp_main): call setlocale() and bind to the libgimp
	textdomain so that plug-ins don't need to do that explicitely.

	* libgimp/stdplugins-intl.h: added the functionality that used to
	live in gimpintl.h and removed the libgimp related stuff. Got rid
	of the INIT_I18N_UI() macro.

	* plug-ins/*/*.c: removed all occurances of INIT_I18N_UI().
	Plug-ins simply call INIT_I18N() once in their run() function.

	* plug-ins/script-fu/script-fu-intl.h: added the functionality
	that used to live in gimpintl.h and removed the libgimp related
	stuff.

	* app/Makefile.am
	* app/gimp-intl.h: new file that defines the gettext macros for
	the GIMP core.

	* app/*/*.c: include gimp-intl.h instead of libgimp/gimpintl.h.

	* plug-ins/script-fu/scripts/test-sphere.scm: fixed typos.
2003-03-25 16:38:19 +00:00
Sven Neumann a981e607c2 added G_SPAWN_CHILD_INHERITS_STDIN to the flags passed to g_spawn_async().
2003-03-21  Sven Neumann  <sven@gimp.org>

	* app/plug-in/plug-in.c (plug_in_open): added
	G_SPAWN_CHILD_INHERITS_STDIN to the flags passed to g_spawn_async().
	Needed to get batch-mode working again.

	* app/batch.[ch]: some cleanup.

	* plug-ins/script-fu/script-fu-text-console.c: improved error
	reporting.
2003-03-21 16:50:55 +00:00
Sven Neumann 6f3f9556c4 fixed creation of config file, added new function
2003-03-10  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfigwriter.[ch]: fixed creation of config file,
	added new function gimp_config_writer_string() and improved
	gimp_config_writer_linefeed().

	* app/config/gimpconfig-serialize.c
	* app/core/gimpcontext.c
	* app/core/gimpdocumentlist.c: use gimp_config_writer_string()
	instead of escaping the string manually.

	* app/core/gimpunits.c (gimp_unitrc_save): use a GimpConfigWriter.

	* app/plug-in/plug-in-rc.[ch] (plug_in_rc_write)
	* app/plug-in/plug-ins.c: use a GimpConfigWriter.
2003-03-10 15:48:16 +00:00
Hans Breuer 594bccd558 app/text/makefile.msc (new file) */makefile.msc */*/makefile.msc : updated
2003-03-03  Hans Breuer  <hans@breuer.org>

	* app/text/makefile.msc (new file)
	  */makefile.msc */*/makefile.msc : updated

	* app/core/gimpdata.c : define access() constants
	for G_OS_WIN32 case

	* app/text/gimptext.c : <stdlib.h> for getenv()

	* libgimp/gimp.def libgimp/gimpui.def : updated externals

	* libgimpwidgets/libgimp-glue.c : make dynamic_resolve
	actually work again for 'my' DLL naming convention

	* plug-ins/gap/gap_pdb_calls.c : reflect renaming
	of GIMP_VERTICAL to GIMP_ORIENTATION_VERTICAL
2003-03-03 18:14:31 +00:00
Manish Singh 3b486eb09c #include <sys/types.h> for ipc/shm headers. (Bug #106461)
2003-02-18  Manish Singh  <yosh@gimp.org>

        * app/plug-in/plug-in-shm.c: #include <sys/types.h> for ipc/shm
        headers. (Bug #106461)

        * app/plug-in/plug-in.c: remove unneeded includes of ipc/shm headers.
2003-02-18 22:47:13 +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 6afe30b923 remove a couple unused vars
2003-02-10  Manish Singh  <yosh@gimp.org>

        * app/plug-in/plug-in-debug.c: remove a couple unused vars

        * plug-ins/common/spheredesigner.c: G_OBJECT casts not needed
        for g_signal_connect.
2003-02-11 01:49:36 +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 a541421efe app/plug-in/plug-ins.c libgimp/libgimp-intl.h libgimpwidgets/gimpstock.c
2003-01-26  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-ins.c
	* libgimp/libgimp-intl.h
	* libgimpwidgets/gimpstock.c
	* plug-ins/perl/Gimp.xs
	* plug-ins/script-fu/script-fu.c
	* plug-ins/script-fu/script-fu-intl.h: replaced all remaining
	"gimp14" by GETTEXT_PACKAGE.
2003-01-26 12:24:05 +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 8d86ec25e0 Move away from creating all item_factories statically in menus_init() but
2003-01-10  Michael Natterer  <mitch@gimp.org>

	Move away from creating all item_factories statically in
	menus_init() but create a new one for each place where one is
	needed:

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpmenufactory.[ch]: new factory which creates and
	configures the GimpItemFactories it knows about on-the-fly.

	* app/widgets/gimpitemfactory.[ch]: added
	gimp_item_factory_update() which calls the "update_func". Added
	"gboolean update_on_popup" so item_factories can be configured to
	require manual updates (used for the <Image> factory).

	* app/gui/menus.[ch]: create a "global_menu_factory" and register
	all menus we have with it. Added various setup functions which
	do stuff like adding the "Open Recent" menu or reorder plug-in
	menu entries. Removed the debugging stuff...

	* app/gui/Makefile.am
	* app/gui/debug-commands.[ch]: ...and added it here.

	* app/gui/gui.c: create the <Toolbox>, the popup-<Image> and the
	<Paths> factories here because they are still global.

	* app/gui/plug-in-menus.[ch]: changed the "image_factory"
	parameters to "item_factory" and create/update the entries for the
	passed item_factory only. Makes the whole stuff much more
	straightforward.

	* app/plug-in/plug-ins.c: don't call plug_in_make_menu().

	* app/display/gimpdisplay.[ch]
	* app/display/gimpdisplayshell.[ch]: added "menu_factory" and
	"popup_factory" parameters to gimp_display_new() and
	gimp_display_shell_new(). Create the menubar_factory and the
	qmask_factory dynamically. Pass the shell, not a Gimp to the QMask
	callbacks. Changed gimp_display_shell_set_menu_sensitivity() to
	gimp_display_shell_menu_update() and don't call it directly (it's
	a GimpItemFactory update_func now). Call gimp_item_factory_update()
	on the resp. factories instead.

	* app/gui/qmask-commands.c
	* app/display/gimpdisplayshell-callbacks.c
	* app/tools/gimpimagemaptool.c: changed accordingly.

	* app/widgets/gimpbrusheditor.c
	* app/widgets/gimpbrushfactoryview.[ch]
	* app/widgets/gimpbufferview.[ch]
	* app/widgets/gimpcolormapeditor.[ch]
	* app/widgets/gimpcontainereditor.[ch]
	* app/widgets/gimpdataeditor.[ch]
	* app/widgets/gimpdatafactoryview.[ch]
	* app/widgets/gimpdialogfactory.[ch]
	* app/widgets/gimpdock.c
	* app/widgets/gimpdockbook.[ch]
	* app/widgets/gimpdocumentview.[ch]
	* app/widgets/gimpgradienteditor.[ch]
	* app/widgets/gimpimageview.[ch]
	* app/widgets/gimpitemlistview.[ch]
	* app/widgets/gimppaletteeditor.[ch]: pass around lots of
	GimpMenuFactory pointers and menu_identifiers so all views can
	create their item_factories themselves. Unref the factories when
	they are no longer needed because they belong to the views now.

	* app/gui/dialogs-commands.c
	* app/gui/dialogs-constructors.c
	* app/gui/dialogs.c
	* app/gui/brush-select.c
	* app/gui/gradient-select.c
	* app/gui/palette-select.c
	* app/gui/pattern-select.c: changed accordingly.

	* app/gui/file-dialog-utils.[ch] (file_dialog_new): require
	menu_factory and menu_identifier parameters.

	* app/gui/file-open-dialog.[ch]
	* app/gui/file-save-dialog.[ch]: removed file_*_dialog_menu_init()
	(they went to menus.c as setup_funcs). Added file_*_dialog_set_type()
	and moved the <Load> and <Save> factory callbacks to file-commands.c

	* app/gui/file-commands.[ch]: changed accordingly.

	* app/gui/view-commands.c: changed the statusbar, menubar, rulers
	and guides callbacks to do their job only if the setting has
	actually changed. Don't update whole item factories afterwards.
	Instead, just change the state of the items that actually need
	update.

	Unrelated:

	* app/core/gimpchannel.c (gimp_channel_init): set "bounds_known"
	and friends to FALSE since we don't know that the new channel will
	be empty (fixes QMask and probably other stuff).

	* app/gui/image-commands.c
	* app/gui/vectors-commands.c: cleanup.
2003-01-10 17:55:53 +00:00
Michael Natterer bbc13c5199 removed gimp_help_init() and gimp_help_free(). Added _gimp_help_init()
2003-01-07  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimphelpui.[ch]: removed gimp_help_init() and
	gimp_help_free(). Added _gimp_help_init() instead.

	* libgimpwidgets/gimpwidgets.def: changed accordingly.

	* libgimpwidgets/gimpwidgets.c (gimp_widgets_init): call
	_gimp_help_init() so it doesn't need to be done in all plug-ins
	manually.

	* libgimp/gimpcompat.h: added gimp_help_init() and gimp_help_free()
	here as COMPAT_CRUFT.

	* app/gui/gui.c
	* plug-ins/FractalExplorer/Dialogs.c
	* plug-ins/Lighting/lighting_ui.c
	* plug-ins/MapObject/mapobject_ui.c
	* plug-ins/common/AlienMap.c
	* plug-ins/common/AlienMap2.c
	* plug-ins/common/CML_explorer.c
	* plug-ins/common/blur.c
	* plug-ins/common/curve_bend.c
	* plug-ins/common/gtm.c
	* plug-ins/common/illusion.c
	* plug-ins/common/jigsaw.c
	* plug-ins/common/plasma.c
	* plug-ins/common/polar.c
	* plug-ins/common/ps.c
	* plug-ins/common/randomize.c
	* plug-ins/common/sinus.c
	* plug-ins/common/snoise.c
	* plug-ins/common/sparkle.c
	* plug-ins/common/uniteditor.c
	* plug-ins/common/warp.c
	* plug-ins/common/wind.c
	* plug-ins/gap/gap_arr_dialog.c
	* plug-ins/gap/gap_mov_dialog.c
	* plug-ins/gap/gap_navigator_dialog.c
	* plug-ins/gdyntext/gdyntext_ui.c
	* plug-ins/gfig/gfig.c
	* plug-ins/gflare/gflare.c
	* plug-ins/gimpressionist/gimpressionist.c
	* plug-ins/maze/maze_face.c
	* plug-ins/print/gimp_main_window.c
	* plug-ins/sel2path/sel2path.c: removed the calls to
	gimp_help_init() and gimp_help_free().

	Fixed bug #81017:

	* libgimpbase/gimpprotocol.[ch]: added "guint8 show_tool_tips"
	to the GPConfig message. Increased the protocol version number.

	* app/plug-in/plug-in.c: pass the value of gui_config->show_tool_tips.

	* libgimp/gimp.[ch]: added gimp_show_tool_tips() to get the value
	which was passed in the GPConfig message.

	* libgimp/gimpui.c (gimp_ui_init): disable the tooltips
	if show_tool_tips is FALSE.

	* plug-ins/MapObject/mapobject_main.[ch]
	* plug-ins/MapObject/mapobject_ui.c
	* plug-ins/common/jigsaw.c
	* plug-ins/gap/gap_navigator_dialog.c
	* plug-ins/gfig/gfig.c: removed all plug-in specific GUI for
	enabling/disabling tooltips.
2003-01-07 17:00:49 +00:00
Manish Singh 013e30db54 app/undo_history.c app/core/gimpbrush.c app/core/gimpimage-new.c
2003-01-05  Manish Singh  <yosh@gimp.org>

        * app/undo_history.c
        * app/core/gimpbrush.c
        * app/core/gimpimage-new.c
        * app/core/gimpobject.c
        * app/core/gimppalette-import.c
        * app/core/gimppattern.c
        * app/plug-in/plug-in.c
        * app/tools/gimpbezierselecttool.c
        * libgimpwidgets/gimpunitmenu.c
        * plug-ins/MapObject/mapobject_ui.c
        * plug-ins/common/convmatrix.c
        * plug-ins/common/curve_bend.c
        * plug-ins/common/sample_colorize.c
        * plug-ins/common/tiff.c
        * plug-ins/flame/flame.c
        * plug-ins/gflare/gflare.c
        * plug-ins/gimpressionist/general.c
        * plug-ins/gimpressionist/orientation.c
        * plug-ins/gimpressionist/preview.c
        * plug-ins/gimpressionist/size.c
        * plug-ins/imagemap/imap_grid.c
        * plug-ins/imagemap/imap_menu.c
        * plug-ins/maze/algorithms.c
        * plug-ins/script-fu/interp_regex.c
        * plug-ins/script-fu/interp_sliba.c
        * plug-ins/script-fu/script-fu-console.c
        * plug-ins/script-fu/script-fu-server.c
        * plug-ins/webbrowser/webbrowser.c: added GINT_TO_POINTER and friends,
        fixed format strings, for 64-bitness.

        * modules/colorsel_triangle.c
        * plug-ins/tools/tool-safe-mode-plug-in.c: #include missing header
        files
2003-01-05 20:38:21 +00:00
Hans Breuer 8364722f2d when checking for 'excecutable' make sure it is a regular file too (on
2003-01-01  Hans Breuer  <hans@breuer.org>

	* libgimpbase/gimpdatafiles.c : when checking for
	'excecutable' make sure it is a regular file too
	(on win32 even directories carry the IXUSR flag)

	* app/app_procs.h : there is still no #warning with
	msvc, special case to make it build with non GCC

	* makefile.msc */makefile.msc */*/makefile.msc : updated

	* app/gui/user-install-dialog.c : get prototype for mkdir

	* libgimpwidgets/libgimp-glue.c : make it compile without
	LT_RELEASE being defined

	* modules/module.def : removed
	  modules/Makefile.am : no export file needed when
	functions get exported by G_MODULE_EXPORT
2003-01-01 13:33:27 +00:00
Sven Neumann 939b431045 one more place that was missing a call to gimp_config_path_expand() 2002-12-30 00:18:33 +00:00
Sven Neumann 1f47a470b3 app/app_procs.c app/core/gimp.c app/gui/gui.c removed debugging output.
2002-12-30  Sven Neumann  <sven@gimp.org>

	* app/app_procs.c
	* app/core/gimp.c
	* app/gui/gui.c
	* app/widgets/gimpitemfactory.c: removed debugging output.

	* app/plug-in/plug-ins.c: need to expand the plug_in_path before
	using it.

	* app/gui/plug-in-menus.c (plug_in_menus_init): removed an
	unneeded assertion.

	* plug-ins/imagemap/Makefile.am (EXTRA_DIST): removed references
	to files that were removed some time ago.
2002-12-30 00:01:30 +00:00
Sven Neumann 023c76978f configure.in etc/Makefile.am etc/gimprc.in removed templates for gimprc
2002-12-29  Sven Neumann  <sven@gimp.org>

	* configure.in
	* etc/Makefile.am
	* etc/gimprc.in
	* etc/gimprc_user.in: removed templates for gimprc files.

	* etc/gimprc: added this file as generated by gimp-config-dump.

	* app/gui/user-install-dialog.c
	* data/misc/user_install: don't install an empty user gimprc.

	* app/config/Makefile.am
	* app/config/gimpconfig-substitute.[ch]: removed these files.
	* app/config/gimpconfig-path.[ch]: and added them again with
	reduced functionality. Paths found in config files are now
	basically handled like standard strings by the config system.
	Users of the GimpConfig path variables need to expand the path
	themselves.

	* app/config/gimpbaseconfig.c
	* app/config/gimpconfig-deserialize.c
	* app/config/gimpconfig-dump.c
	* app/config/gimpconfig-utils.c
	* app/config/gimpconfig.c
	* app/config/gimpcoreconfig.c
	* app/config/gimprc.c:
	* app/base/base.c
	* app/base/temp-buf.c
	* app/core/gimp.c
	* app/core/gimpdatafactory.c
	* app/core/gimpmodules.c
	* app/gui/user-install-dialog.c
	* app/plug-in/plug-in.c
	* app/tools/tools.c
	* app/widgets/gimppropwidgets.c: changed accordingly.
2002-12-29 18:58:24 +00:00
Manish Singh 2bb5acc246 added some rudimentary support to prepend values to existing environment
2002-12-17  Manish Singh  <yosh@gimp.org>

        * app/core/gimpenvirontable.[ch]: added some rudimentary support
        to prepend values to existing environment variables. You can do
        "separator name=value" now. API change to gimp_environ_table_add
        for it too. Also added some error checking.

        * app/gui/gui.c: change to new above API

        * plug-ins/pygimp/Makefile.am: write ": PYTHONPATH=" out to env
        file

        * po/POTFILES.in: add gimpenvirontable.c
2002-12-18 02:47:39 +00:00
Michael Natterer c7afb9fb57 fixed a comment.
2002-12-14  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-ins.c (plug_ins_proc_def_add): fixed a comment.
2002-12-14 19:11:22 +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
Michael Natterer 319173b14c added "gboolean use_shm" to the Gimp struct and to gimp_new().
2002-12-01  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp.[ch]: added "gboolean use_shm" to the Gimp struct
	and to gimp_new().

	* app/app_procs.c: pass "use_shm" to gimp_new().

	* app/plug-in/plug-in.c (plug_in_init): get "use_shm" from the
	passed "gimp".  Don't include "appenv.h" and "app_procs.h".
2002-12-01 12:16:03 +00:00
Manish Singh 2b16283b32 moved FINITE definition to $extra code. Changed to use #elif, much
2002-11-24  Manish Singh <yosh@gimp.org>

        * tools/pdbgen/pdb/image.pdb: moved FINITE definition to $extra
        code. Changed to use #elif, much cleaner.

        * app/pdb/image_cmds.c: regenerated

        * app/core/gimpenvirontable.[ch]: added support for app internal
        environment variable settings. These override any *.env files if
        there are collisions. Not sure on that policy. Also, envp is now
        generated on the first get_envp call.

        * app/gui/gui.[ch]: added gui_environ_init, which uses
        gimp_environ_table_add. Moved the setting of DISPLAY to here.
        Added setting of GDK_DISPLAY instead for the fb backends. Hm,
        perhaps GDK should do this itself...

        * app_procs.c: call gui_environ_init.

        * libgimpwidgets/gimpcolorscale.c
        * libgimpwidgets/gimpcolorscales.c: #include <string.h> for
        strlen and memcpy.

-Yosh
2002-11-25 00:04:26 +00:00
Sven Neumann 073e533a8a Finally landed the new GimpConfig based gimprc parser. It's not finished
2002-11-18  Sven Neumann  <sven@gimp.org>

	Finally landed the new GimpConfig based gimprc parser. It's not
	finished yet but we need to start somewhere. This release removes
	the old gimprc.[ch] files. The gimprc format changes slightly, but
	the changes are minimal. The Preferences dialog is temporarily
	disabled since it still needs to be ported. If you are are afraid,
	stay away from CVS for a few days ;-)

	* app/Makefile.am
	* app/gimprc.[ch]: removed the old gimprc system.

	* app/base/Makefile.am
	* app/base/base-config.[ch]: removed these files in favor of
	config/gimpbaseconfig.[ch].

	* app/core/Makefile.am
	* app/core/gimpcoreconfig.[ch]: removed these files in favor of
	config/gimpcoreconfig.[ch].

	* app/config/Makefile.am
	* app/config/config-types.h: moved typedefs into this new file.

	* app/config/gimpbaseconfig.[ch]
	* app/config/gimpcoreconfig.[ch]
	* app/config/gimpdisplayconfig.[ch]
	* app/config/gimpguiconfig.[ch]
	* app/config/gimprc.[ch]
	* app/config/test-config.c: brought into shape for real use.

	* app/base/base-types.h: include config/config-types.h here. Added
	a global GimpBaseConfig *base_config variable to ease migration.

	* app/gui/Makefile.am: temporarily disabled the preferences dialog.

	* app/app_procs.c
	* app/undo.c
	* app/undo_history.c
	* app/base/base.[ch]
	* app/base/gimphistogram.c
	* app/base/pixel-processor.c
	* app/base/temp-buf.c
	* app/base/tile-cache.c
	* app/core/core-types.h
	* app/core/gimp-documents.c
	* app/core/gimp.c
	* app/core/gimpbrush.c
	* app/core/gimpbrushgenerated.c
	* app/core/gimpcontext.c
	* app/core/gimpdrawable-transform.c
	* app/core/gimpimage-new.c
	* app/core/gimpimage.c
	* app/core/gimpimagefile.c
	* app/core/gimpmodules.c
	* app/core/gimppattern.c
	* app/display/Makefile.am
	* app/display/gimpdisplay-handlers.c
	* app/display/gimpdisplay.[ch]
	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell-handlers.c
	* app/display/gimpdisplayshell-layer-select.c
	* app/display/gimpdisplayshell-render.c
	* app/display/gimpdisplayshell-scale.c
	* app/display/gimpdisplayshell-scroll.c
	* app/display/gimpdisplayshell-selection.c
	* app/display/gimpdisplayshell.[ch]
	* app/display/gimpnavigationview.c
	* app/file/file-save.c
	* app/gui/device-status-dialog.c
	* app/gui/dialogs-constructors.c
	* app/gui/file-commands.c
	* app/gui/file-new-dialog.c
	* app/gui/file-open-dialog.c
	* app/gui/file-save-dialog.c
	* app/gui/gui.c
	* app/gui/menus.c
	* app/gui/paths-dialog.c
	* app/gui/resize-dialog.c
	* app/gui/session.c
	* app/gui/test-commands.c
	* app/gui/tips-dialog.c
	* app/gui/tips-dialog.h
	* app/gui/user-install-dialog.c
	* app/gui/view-commands.c
	* app/paint/gimppaintcore.c
	* app/plug-in/plug-in.c
	* app/plug-in/plug-ins.c
	* app/tools/gimpbezierselecttool.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimpinktool.c
	* app/tools/gimpmagnifytool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimppainttool.c
	* app/tools/gimppathtool.c
	* app/tools/gimptexttool.[ch]
	* app/tools/selection_options.c
	* app/tools/tools.c
	* app/tools/transform_options.c
	* app/widgets/gimphelp.c
	* app/widgets/gimpitemfactory.c
	* app/widgets/gimpselectioneditor.c
	* app/xcf/xcf-load.c
	* tools/pdbgen/pdb/fileops.pdb
	* tools/pdbgen/pdb/gimprc.pdb
	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/layer.pdb
	* tools/pdbgen/pdb/transform_tools.pdb: use the new config system
	instead of the old gimprc stuff.

	* etc/gimprc.in
	* etc/gimprc_user.in: adapted to the new gimprc format. Will update
	the man-page later...

	* app/pdb/fileops_cmds.c
	* app/pdb/gimprc_cmds.c
	* app/pdb/image_cmds.c
	* app/pdb/layer_cmds.c
	* app/pdb/transform_tools_cmds.c
	* libgimp/gimpgimprc_pdb.c: regenerated.
2002-11-18 20:50:31 +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
Manish Singh 2eef2afbc1 don't say "Now type 'make'" if configure failed.
2002-11-11  Manish Singh  <yosh@gimp.org>

        * autogen.sh: don't say "Now type 'make'" if configure failed.

        * app/core/Makefile.am
        * app/core/core-types.h
        * app/core/gimpenvirontable.[ch]: Implemented GimpEnvironTable,
        keeps an envp array built from system environment and *.env files.

        * app/core/gimp.[ch]: keep a GimpEnvironTable around.

        * app/gimprc.c
        * app/config/gimpcoreconfig.[ch]
        * app/core/gimpcoreconfig.h
        * app/gui/preferences-dialog.c
        * app/gui/user-install-dialog.c: environ-path config stuff

        * themes/Default/images/preferences/Makefile.am
        * themes/Default/images/preferences/folder-environ.png: just copied
        folder.png here, need a better one.

        * app/plug-in/plug-in.c: quick hack to use the envp in the
        GimpEnvironTable. Only on unix now, should really port the
        code to use g_spawn_*.

        * data/misc/user_install
        * etc/gimprc.in: add environ-path stuff

        * data/environ/Makefile: creates system environ directory.

        * data/environ/default.env: sample env file info.

        * data/Makefile.am
        * configure.in: added data/environ dir

        * plug-ins/pygimp/Makefile.am: python module files get put in
        $(gimpplugindir)/python now, install pygimp.env to point to it.

        * plug-ins/pygimp/doc/Makefile.am: minor clean up.
2002-11-12 03:34:11 +00:00
Michael Natterer c7ac6aff52 Moved generic datafile loading to LibGimpBase:
2002-10-23  Michael Natterer  <mitch@gimp.org>

	Moved generic datafile loading to LibGimpBase:

	* app/core/gimpdatafiles.[ch]: removed...

	* libgimpbase/gimpdatafiles.[ch]: ...and add here with a changed
	API which requires no more global variables.

	* libgimpbase/Makefile.am
	* libgimpbase/gimpbase.h
	* libgimpbase/gimpbasetypes.h
	* app/core/Makefile.am
	* app/core/core-types.h
	* app/core/gimpdatafactory.c
	* app/gui/gui.c
	* app/plug-in/plug-in.c
	* app/plug-in/plug-ins.c
	* app/tools/tools.c: changed accordingly.

	Moved module loading to LibGimpModule:

	* app/core/gimpmodules.c: removed lots of code...

	* libgimpmodule/gimpmoduledb.[ch]: ...and added it here as
	GimpModuleDB object.

	* libgimpmodule/Makefile.am
	* libgimpmodule/gimpmoduletypes.h: changed accordingly.

	* app/core/gimp.[ch]: replaced gimp->modules by gimp->module_db.

	* libgimpmodule/gimpmodule.[ch]: added
	gimp_module_query(). Internal cleanup. Stuff...

	* app/gui/module-browser.c: changed accordingly. Unfinished...

	* app/core/gimpcontainer.c
	* app/core/gimplist.c: reverted the HACKS introduced recently.

	* app/core/gimpobject.[ch]: added gimp_g_object_get_memsize()
	utility function.

	* libgimpproxy/gimpobject.[ch]: regenerated.

	Changed display filter configuration stuff:

	* libgimpwidgets/gimpcolordisplay.[ch]: made the virtual
	configure() function return a GtkWidget instead of opening a
	dialog. Changed configure_cancel() to configure_reset(). Added
	"changed" signal.

	* app/display/gimpdisplayshell-filter-dialog.c: embed the filters'
	config GUI in the dialog. Connect to "changed" and added a "Reset"
	button which resets the filter.

	* modules/cdisplay_gamma.c
	* modules/cdisplay_highcontrast.c: changed accordingly.

	* modules/colorsel_triangle.c
	* modules/colorsel_water.c: minor fixes.

2002-10-23  Michael Natterer  <mitch@gimp.org>

	* libgimpbase/libgimpbase-docs.sgml
	* libgimpbase/libgimpbase-sections.txt
	* libgimpbase/tmpl/gimpbasetypes.sgml
	* libgimpbase/tmpl/gimpdatafiles.sgml: added GimpDatafiles

	* libgimpmodule/libgimpmodule-docs.sgml
	* libgimpmodule/libgimpmodule-sections.txt
	* libgimpmodule/tmpl/gimpmoduledb.sgml: added GimpModuleDB.

	* libgimpwidgets/libgimpwidgets.types: added gimp_dialog_get_type

	* libgimpmodule/tmpl/gimpmodule.sgml
	* libgimpwidgets/tmpl/gimpcolordisplay.sgml
	* libgimpwidgets/tmpl/gimpdialog.sgml: updated.
2002-10-23 14:55:07 +00:00
Michael Natterer 9b92804dcc don't forget to g_free() the proc_def struct after removing a temporary
2002-08-27  Michael Natterer  <mitch@gimp.org>

	* app/plug-ins/plug-in.c (plug_in_close,
	plug_in_handle_proc_uninstall): don't forget to g_free() the
	proc_def struct after removing a temporary procedure.

	* app/plug-ins/plug-ins.c: iterate lists with for() loops,
	cleanup.
2002-08-27 15:23:36 +00:00
Sven Neumann ff300cf575 configure.in allocate shared memory segments with permissions 0600 instead
2002-06-13  Sven Neumann  <sven@gimp.org>

	* configure.in
	* app/plug-in/plug-in.c (plug_in_init_shm): allocate shared memory
	segments with permissions 0600 instead of making them accessible
	by everyone.
2002-06-13 12:02:06 +00:00
Sven Neumann 3aae39405e app/base/Makefile.am automake-1.6 seems to use yet another variable to
2002-06-08  Sven Neumann  <sven@gimp.org>

	* app/base/Makefile.am
	* app/paint-funcs/Makefile.am: automake-1.6 seems to use yet another
	variable to pass flags to the assembler (bug #84514). Define
	AM_CCASFLAGS like AM_ASFLAGS to satisfy all versions of automake.

	* configure.in
	* all Makefiles: removed STRIP_BEGIN and STRIP_END since it's a
	GNU make extension that we don't really need and newer versions of
	automake don't seem to like it.
2002-06-07 23:00:46 +00:00
Michael Natterer c6948e6e95 configure the scanner the same way GimpConfig did (scanner->user_data is,
2002-05-31  Michael Natterer  <mitch@gimp.org>

	* app/config/gimpscanner.[ch]: configure the scanner the same
	way GimpConfig did (scanner->user_data is, if set, a GError).
	Added gimp_scanner_parse_color(). Added "GError **error" to
	gimp_scanner_new().

	* app/config/gimpconfig.c: use gimp_scanner_new().

	* app/config/gimpconfig-deserialize.c: use gimp_scanner_parse_color().

	* app/core/gimpunits.c
	* app/plug-in/plug-in-rc.c: changed accordingly.

	* app/plug-in/plug-in-rc.c: made the main parse loops consistent
	with the other places using GScanner.
2002-05-31 13:58:18 +00:00
Michael Natterer fd21dbfb18 some more minor cleanup.
2002-05-21  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-in.c: some more minor cleanup.
2002-05-21 10:58:50 +00:00
Michael Natterer dba356d815 libgimpbase/gimpprotocol.[ch] pass "gpointer user_data" to all functions,
2002-05-16  Michael Natterer  <mitch@gimp.org>

	* libgimpbase/gimpprotocol.[ch]
	* libgimpbase/gimpwire.[ch]: pass "gpointer user_data" to all
	functions, which in gets turn passed to the registered reader,
	writer, and flusher funcs.

	* libgimp/gimp.c
	* libgimp/gimptile.c: pass NULL as user_data. We have only one
	pipe on the plug-in side.

	* app/plug-in/plug-in.c: pass the PlugIn as user_data. As a
	consequence, got rid of more global variables. The global
	"current_plug_in" and the plug_in_push()/pop() madness are still
	there. Will reeplace them by some less ugly hack later...

2002-05-16  Michael Natterer  <mitch@gimp.org>

	* libgimpbase/tmpl/gimpprotocol.sgml
	* libgimpbase/tmpl/gimpwire.sgml: regenerated after API change.
2002-05-16 17:41:38 +00:00
Michael Natterer d6cffe5700 Pass PlugIn, not Gimp pointers to all message handler functions so they
2002-05-16  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-in.c: Pass PlugIn, not Gimp pointers to all
	message handler functions so they have a proper context to operate
	on. Use the PlugIn pointer passed instead of "current_plug_in".
	Removed global variables "current_readchannel" and
	"current_writechannel" because it is now always possible to use
	plug_in->my_read and plug_in->my_write.
2002-05-16 11:45:30 +00:00
Hans Breuer 8522a8470d add appconfig.lib. Statically link libgimptool/gimptool.lib.
2001-05-11  Hans Breuer  <hans@breuer.org>

	* app/makefile.msc : add appconfig.lib. Statically
	link libgimptool/gimptool.lib.

	* app/main.c : use gimp_locale_directory()

	* app/config/gimpconfig-utils.c : <string.h>

	* app/config/makefile.msc : add gimpscanner

	* app/core/gimpimagefile.c : some G_OS_WIN32 mess to get
	mkdir() and chmod()

	* app/display/gimpdisplayshell.c
	  app/plug-in/plug-in-progrss.c
	  app/tool/gimpcolorpickertool.c
	  app/tool/gimpcroptool.c
	  app/tool/gimpmeasuretool.c
	  app/tool/gimpperspectivetool.c
	  app/tool/gimprotatetool.c
	  app/tool/gimpscaletool.c
	  app/tool/gimpsheartool.c
	  app/tool/gimptransformtool.c
	  app/widgets/gimpcolormapeditor.c
	  app/widgets/gimpcolorpanel.c
	  app/widgets/gimptoolbox-color-area.c
	add #ifdef __GNUC__ to avoid breaking on non standard
	pragma #warning

	* app/tools/makefile.msc : add gimptoolcontrol remove
	tools-enum

	* app/tools/tool_manager.c : need to include
	libgimptool/gimptoolcontrol.h after core includes
	otherwise we would compile without prototypes or
	break miserably

	* app/gui/plug-in-menus.c : replace LOCALEDIR with
	gimp_locale_directory ()

	* app/gui/preferences-dialog.c (prefs_notebook_append_page) :
	only try to gdk_pixbuf_new_from_file() with a valid filename.
	It should simply return NULL otherwise, but fails if the
	filename is an empty string.

	* app/paint-funcs/makefile.msc : add -FImsvc_recommended_pragmas.h

	* app/widgets/gimpcolormapeditor.c : the 'row'
	allocated needs to be 'xn * cellsize * 2' (to avoid
	accessing unowned memory) not only width, which has
	become allocation.width by someone commenting out
	the correct size calculation

	* app/widgets/gimpdialogfactory.c : varargs to macros
	are GCCism or at least non standard. #define DEBUG
	to g_print or nothing - without arguments - does fix
	it somewhat dirty as the compiler needs to tolerate
	the '(blah, foo, bar);' statement than

	* app/widgets/makefile.msc : updated

	* app/xcf/makefile.msc : add -FImsvc_recommended_pragmas.h

	* etc/gimprc.win32 : use ';' to separate theme-path

	* libgimpbase/gimpenv.c : #include <stdio.h>
	for sprintf()

	* app/widgets/gimpdnd.c (gimp_dnd_set_file_data) :
	the passed in vals chunk is not always null-terminated
	(at least not on win32). Use the length parameter too
	to avoid reading junk filenames.

	* libgimp/gimp.def : export gimp_image_get_name()

	* libgimpbase/gimpbase.def : export gimp_locale_directory()
	* libgimpbase/gimpenv.[ch] : added gimp_locale_directory ()

	* libgimpbase/makefile.msc : define DATADIR and SYSCONFDIR
	to empty string to let gimp find its files in the common
	place (win32: relative to the top level gimp dir)

	* plug-ins/common/pixelize.c : <string.h>

	* plug-ins/flame/cmap.c : #include <glib.h> for g_random_int()

	* plug-ins/makefile.msc : -FImsvc_recommended_pragams.h
	and a little hack to give imagemap the prototypes it
	desires without changing the lexed source

	* themes/Default/images/makefile.msc : now added (see below)

	* themes/Default/images/stock-button-reset.png : made it binary
2002-05-10 23:30:09 +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 a74a8997b4 devel-docs/Makefile.am new file documenting the core's include policy.
2002-05-03  Michael Natterer  <mitch@gimp.org>

	* devel-docs/Makefile.am
	* devel-docs/includes.txt: new file documenting the core's
	include policy.

	* HACKING: mention it here.

	* libgimptool/gimptooltypes.h: removed GimpToolOptions here.

	* app/core/core-types.h: and added it here. This is a temp hack
	needed because GimpToolInfo needs to know the GimpToolOptions
	type.

	* libgimpproxy/gimpproxytypes.h: regenerated.

	* libgimptool/gimptoolmodule.h: don't include gimptooltypes.h here...
	* libgimptool/gimptoolmodule.c: ...but here.

	* app/config/gimpconfig-params.c: include "libgimpbase/gimpbase.h"
	entirely, not single files from it.

	* app/core/gimp.c
	* app/core/gimpcontext.c
	* app/core/gimpcoreconfig.c
	* app/core/gimpdatafactory.c
	* app/core/gimpdocuments.c
	* app/core/gimpdrawable-blend.c
	* app/core/gimpdrawable-bucket-fill.c
	* app/core/gimpdrawable-offset.c
	* app/core/gimpdrawable-transform.c
	* app/core/gimpdrawable.c
	* app/core/gimpedit.c
	* app/core/gimpimage-convert.c
	* app/core/gimpimage-crop.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-guides.c
	* app/core/gimpimage-mask.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage-new.c
	* app/core/gimpimage-projection.c
	* app/core/gimpimage-qmask.c
	* app/core/gimpimage-resize.c
	* app/core/gimpimage-scale.c
	* app/core/gimpimage.c
	* app/core/gimpitem.c
	* app/core/gimpmodules.c
	* app/core/gimppaintinfo.c
	* app/core/gimpparasite.c
	* app/core/gimppreviewcache.c
	* app/core/gimptoolinfo.c
	* app/core/gimpunit.c: include "core-types.h" and no other types file.

	* app/display/gimpdisplay.c
	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell.c: include "tools/tools-types.h"
	instead of "libgimptool/gimptooltypes.h", warn about inclusion
	on "gui/gui-types.h"

	* app/file/file-open.c
	* app/file/file-save.c: don't include "libgimptool/gimptooltypes.h".

	* app/gui/about-dialog.c
	* app/gui/brush-select.c
	* app/gui/brushes-commands.c
	* app/gui/color-select.c
	* app/gui/data-commands.c
	* app/gui/device-status-dialog.c
	* app/gui/dialogs.c
	* app/gui/gradients-commands.c
	* app/gui/help-commands.c
	* app/gui/info-window.c
	* app/gui/palettes-commands.c
	* app/gui/patterns-commands.c
	* app/gui/resize-dialog.c
	* app/gui/tips-dialog.c
	* app/gui/tool-options-dialog.c: include "gui-types.h" and no
	other types file.

	* app/paint/gimpairbrush.c
	* app/paint/gimpclone.c
	* app/paint/gimpconvolve.c
	* app/paint/gimpdodgeburn.c
	* app/paint/gimperaser.c
	* app/paint/gimppaintbrush.c
	* app/paint/gimppaintcore-stroke.c
	* app/paint/gimppaintcore.c
	* app/paint/gimppaintoptions.c
	* app/paint/gimppencil.c
	* app/paint/gimpsmudge.c
	* app/paint/paint.c: include "paint-types.h" and no other types file.

	* app/pdb/pdb-types.h: don't include "libgimptool/gimptooltypes.h".

	* app/plug-in/plug-in-progress.c: warn about inclusion of
	"display/display-types.h"

	* app/tools/tools-types.h: include "libgimptool/gimptooltypes.h".

	* app/tools/gimpairbrushtool.c
	* app/tools/gimpbezierselecttool.c
	* app/tools/gimpblendtool.c
	* app/tools/gimpbrightnesscontrasttool.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpclonetool.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpconvolvetool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimpdodgeburntool.c
	* app/tools/gimpdrawtool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpellipseselecttool.c
	* app/tools/gimperasertool.c
	* app/tools/gimpfliptool.c
	* app/tools/gimpfreeselecttool.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimphistogramtool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimpinktool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpmagnifytool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimppaintbrushtool.c
	* app/tools/gimppainttool.c
	* app/tools/gimppathtool.c
	* app/tools/gimppenciltool.c
	* app/tools/gimpperspectivetool.c
	* app/tools/gimpposterizetool.c
	* app/tools/gimprectselecttool.c
	* app/tools/gimprotatetool.c
	* app/tools/gimpscaletool.c
	* app/tools/gimpselectiontool.c
	* app/tools/gimpsheartool.c
	* app/tools/gimpsmudgetool.c
	* app/tools/gimptexttool.c
	* app/tools/gimpthresholdtool.c
	* app/tools/gimptoolcontrol.c
	* app/tools/gimptoolcontrol.h
	* app/tools/gimptransformtool.c
	* app/tools/gimpvectortool.c
	* app/tools/tools.c: include "tools-types.h" and no other types file,
	warn about inclusion of "gui/gui-types.h".

	* app/widgets/gimpcolorpanel.c
	* app/widgets/gimptoolbox-color-area.c: warn about inclusion of
	"gui/gui-types.h".

	* app/xcf/xcf-load.c
	* app/xcf/xcf.c: don't include "libgimptool/gimptooltypes.h".

	Split tool-safe-mode up in two files, one including libgimpproxy,
	one libgimp.

	* plug-ins/tools/Makefile.am
	* plug-ins/tools/tool-safe-mode-plug-in.[ch]: new files including
	libgimp/ stuff only.

	* plug-ins/tools/tool-safe-mode.[ch]: include libgimpproxy/ and
	libgimptool/ but don't include libgimp/ because of conflicting
	declarations.

	Unrelated:

	* app/tools/gimpclonetool.c: create the clone core so we don't crash.

	* app/gui/file-open-dialog.c: changed the way we create previews
	so that only out-of-date previews are created on a click in the
	preview area. Unconditional creation can still be forced by
	<Ctrl>+click. Changed the tooltip to document this.
2002-05-03 12:45:22 +00:00
Hans Breuer de5f8b5f43 #define GETTEXT_PACKAGE
2001-03-28  Hans Breuer  <hans@breuer.org>

	* config.h.win32 : #define GETTEXT_PACKAGE

	* makefile.msc : add theme rule

	* app/makefile.msc : gimp.exe depends on all the libs
	and general update

	* app/base/makefile.msc : updated

	* app/config/gimpconfig-serialize.c : #include <io.h> for win32
	* app/config/gimpconfig-types.c : #include <string.h>

	* app/core/gimpcontext.c app/core/gimpcontainer.c
	  app/core/gimptoolinfo.c : #include <string.h>

	* app/core/gimpdocuments.c (gimp_documents_save_func) :
	need to g_strescape() the filename to not make
	backslashes vanish during de-serialization

	* app/core/gimpimagefile.c : #define S_ISREG for G_OS_WIN32

	* app/core/makefile.msc : add -DGIMP_COMPILATION
	required for cpercep.c build

	* app/display/gimpdisplayshell.c : #include <string.h>

	* app/display/makefile.msc : -FImsvc_recommended_pragmas.h,
	G_LOG_DOMAIN definition and object file update

	* app/file/makefile.msc : -FImsvc_recommended_pragmas.h,
	G_LOG_DOMAIN definition

	* app/file/file-open.c (file_open_with_proc_and_display) :
	use absolute filename for gimp_documents_add()

	* app/gui/channel-commands.c app/gui/colormap-editor-commands.c
	  app/gui/edit-commands.c app/gui/vectors-commands.c :
	#include <string.h>

	* app/gui/makefile.msc : updated

	* app/gui/menus.c : use g_file_test() instead of access()
	to avoid inclusion <unistd.h>

	* app/paint/makefile.msc : updated

	* app/plug-in/plug-in-params.c : #include <string.h>

	* app/plug-in/makefile.msc : updated

	* app/plug-in/plug-in-def.h : #include <time.h> for time_t

	* app/plug-in/plug-in.c : remove definition of S_IFREG

	* app/plug-in/gap/gap_arr_dialog.c : include <config.h>
	before including libgimp/libgimp-intl.h

	* app/tools/makefile.msc : updated

	* app/vectors/makefile.msc : new file

	* app/widgets/makefile.msc : updated

	* libgimp/gimp.def : updated externals

	* libgimpwidgets/gimpwidgets.def : updated externals

	* modules/makefile.msc : updated and disabled colorsel_gtk.

	* plug-in/makefile.msc : don't define GETTEXT_PACKAGE

	* themes/Default/images/makefile.msc : moved makefile.msc from ..
	and adapted pathes to images
2002-03-28 00:10:56 +00:00
Michael Natterer 75c63ee334 app/config/Makefile.am new files containing a convenience constructor for
2002-03-28  Michael Natterer  <mitch@gimp.org>

	* app/config/Makefile.am
	* app/config/gimpscanner.[ch]: new files containing a convenience
	constructor for GScanner and some parse utility functions, mostly
	cut out of app/plug-in/plug-in-rc.c

	* app/plug-in/plug-in-rc.c: removed the stuff here, added scopes
	to the scanner symbols.

	* app/core/Makefile.am
	* app/core/gimpunits.[ch]: moved the user_unit list handling and
	unitrc stuff to this file. Parse unitrc here, using the new
	utility functions instead of using gimprc.

	* app/core/gimpunit.[ch]: removed here.

	* app/core/gimpdocuments.c: same here: added a scanner for the
	document history instead of using gimprc.

	* app/gimprc.c: removed unitrc and document history parsing stuff
	along with some old unused cruft.

	* app/app_procs.c
	* app/core/gimp.c
	* app/gui/user-install-dialog.c: #include "core/gimpunits.h".

	* app/core/gimpdrawable-bucket-fill.c: don't include "gimprc.h".
2002-03-27 23:15:00 +00:00
Sven Neumann a226586d9f app/plug-in/plug-in-rc.c app/plug-in/plug-ins.c app/tools/tool_manager.c
2002-03-22  Sven Neumann  <sven@gimp.org>

	* app/plug-in/plug-in-rc.c
	* app/plug-in/plug-ins.c
	* app/tools/tool_manager.c
	* app/widgets/gimppreview.c
	* app/widgets/gimptoolinfopreview.c: plugged a couple of mem leaks
	found using valgrind.

	* libgimpwidgets/gimpcolorarea.c (gimp_color_area_expose): don't draw
	anything if an idle update is pending.
2002-03-22 15:21:18 +00:00