Commit Graph

203 Commits

Author SHA1 Message Date
Michael Natterer 513f5eac36 added new signal "buffer_changed" and new function
2004-02-19  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp.[ch]: added new signal "buffer_changed" and new
	function gimp_set_global_buffer() which emits it when the global
	buffer changes.

	* app/core/gimp-edit.c (gimp_edit_extract): use it instead
	of fiddling with gimp->global_buffer manually.

	* app/gui/image-menu.c: connect to "buffer_changed" and set the
	"Paste" menu entries sensitive. Fixes bug #134752.

	(image_menu_update): changed accordingly. Also changed a lot of
	buggy SET_SENSITIVE() lines which made menu items which work fine
	on any drawable insensitive when there were no layers (instead
	of no drawable).

	* app/gui/edit-commands.c: added new macro return_if_new_drawable()
	and use it instead of return_if_no_image() so we don't run
	into assertions if there is no active drawable.

	(cut,copy_named_buffer_callback): unfortunately had to introduce
	two new translated messages about not being able to cut/copy when
	there is no active drawable.
2004-02-19 12:49:15 +00:00
Simon Budig 645a1ab652 Store the zoom factor as float, not as a ratio.
2004-01-29  Simon Budig  <simon@gimp.org>

	* app/display/gimpdisplayshell.[ch]: Store the zoom factor as
	float, not as a ratio.

	* app/display/gimpdisplayshell-scale.[ch]: change the API to
	expose the Float instead a weirdly encoded integer. Implement
	functions to get a ratio from the scale factor. Implement a set
	as presets as discussed on the mailinglist. Changed Zoom->Other
	dialog to enable entering a float.

	* app/display/gimpdisplayshell-title.c
	* app/display/gimpnavigationview.c
	* app/gui/image-menu.c
	* app/gui/info-window.c
	* app/tools/gimpmagnifytool.c: changed accordingly.

	* app/core/gimp.[ch]
	* app/display/gimpdisplay.[ch]
	* app/gui/gui-vtable.c
	* app/widgets/widgets-enums.h: Made the various display-creating
	functions accept a float for the scale. Introduce a new
	GimpZoomType: GIMP_ZOOM_TO. Generally adjust the API to use
	floats instead of weird integers.

	* app/core/gimp-edit.c
	* app/core/gimptemplate.c
	* app/display/gimpdisplayshell-callbacks.c
	* app/file/file-open.c
	* app/gui/image-commands.c
	* app/gui/view-commands.[ch]
	* tools/pdbgen/pdb/display.pdb
	* app/widgets/gimpimageview.c
	* app/widgets/gimptoolbox-dnd.c: changed accordingly

	* app/pdb/display_cmds.c: regenerated
2004-01-29 22:22:29 +00:00
Michael Natterer 894cf70dd5 Added infrastructure to make sure we don't write to the global brush,
2004-01-28  Michael Natterer  <mitch@gimp.org>

	Added infrastructure to make sure we don't write to the global
	brush, pattern etc. directories. Needed to make this configurable
	because we can't rely on the global directories being read-only,
	having certain names or being otherwise detectable at runtime in a
	sane way. Fixes bug #132214.

	* libgimpbase/gimpdatafiles.[ch]: added "const gchar *dirname" to
	the GimpDataFileData struct so callbacks don't need to call
	g_path_get_dirname() for each file.

	* libgimpwidgets/gimpfileentry.c: made it work with non UTF-8
	encoded filenames.

	* libgimpwidgets/gimppatheditor.[ch]: ditto. Added GUI and API for
	setting/getting a second "writable_path". The widget makes sure
	that the writable_path is always a subset of the path.

	* app/config/gimpconfig-utils.[ch]: added new function
	gimp_config_build_writable_path().

	* app/config/gimpcoreconfig.[ch]: added separate properties for
	the writable brush, pattern, gradient, palette and font paths.

	* app/config/gimprc-blurbs.h: added (still empty) blurbs for the
	new properties.

	* app/core/gimpdata.[ch] (gimp_data_set_filename): added parameter
	"gboolean writable". Set data->writable to FALSE by default. If
	"writable" is passed as TRUE, still check if we can write to the
	file before setting data->writable to TRUE.

	(gimp_data_create_filename): changed "data_path" parameter to
	"dest_dir" and assume dest_dir is writable.

	(gimp_data_duplicate): set data->dirty to TRUE to make sure
	duplicated things will be saved.

	* app/core/gimpbrush.c
	* app/core/gimpbrushgenerated.c
	* app/core/gimpbrushpipe.c
	* app/core/gimpgradient.c
	* app/core/gimppalette.c
	* app/core/gimppattern.c: don't set the data's filename and don't
	touch data->dirty in the _load() functions because that's done by
	the data factory now. Don't touch data->dirty in the _duplicate()
	functions because that's done by gimp_data_duplicate() itself now.

	* app/core/gimpdatafactory.[ch] (gimp_data_factory_new): added
	"writable_property_name" and remember it.
	Added utility function gimp_data_factory_get_save_dir() which
	determines the directory to save new datas to.
	Added public function gimp_data_factory_data_save_single() which
	saves a single data object.
	Make sure new things get saved to the first writable directory
	as specified in preferences.

	* app/core/gimp.c (gimp_real_initialize): pass the writable_paths'
	property names to gimp_data_factory_new().

	* app/widgets/gimpdataeditor.c (gimp_data_editor_save_dirty): use
	gimp_data_factory_data_save_single() instead of implementing
	saving here.

	* app/widgets/gimppropwidgets.[ch] (gimp_prop_path_editor_new):
	added "const gchar *writable_property_name" parameter (can be
	NULL).

	Added the needed callbacks to handle the writable_path and made
	the path_editor and file_entry code aware of non UTF-8 filename
	encodings. Some general cleanup.

	* app/gui/preferences-dialog.c: changed accordingly.
2004-01-28 21:53:50 +00:00
Sven Neumann 8c32fa9b6d removed the size parameter and do nothing but invalidating the preview.
2004-01-10  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimagefile.[ch] (gimp_imagefile_update): removed the
	size parameter and do nothing but invalidating the preview.

	* app/gui/file-open-dialog.c
	* app/widgets/gimpdocumentview.c: changed accordingly.

	* app/core/gimpdocumentlist.c (gimp_document_list_deserialize):
	no need for calling gimp_imagefile_update() from here.

	* tools/pdbgen/pdb/fileops.pdb
	* app/pdb/fileops_cmds.c (file_load_thumbnail): rewritten using the
	GimpThumbnail API.

	* app/core/gimp.c: cosmetics.
2004-01-10 23:55:28 +00:00
Michael Natterer ca45a5c65a added enum GimpPDBCompatMode which can be one of { OFF, ON, WARN }.
2003-12-05  Michael Natterer  <mitch@gimp.org>

	* app/pdb/pdb-types.h: added enum GimpPDBCompatMode which can
	be one of { OFF, ON, WARN }.

	* app/main.c: added --pdb-compat-mode command line option. Renamed
	--enable-stack-trace to --stack-trace-mode. Made default values of
	stack_trace_mode and pdb_compat_mode depend on GIMP_MINOR_VERSION
	(default to compat ON and stack_trace NEVER).

	* app/app_procs.[ch]: pass pdb_compat_mode to gimp_new().

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

	* app/pdb/procedural_db.c: leave the compat table empty for
	GIMP_PDB_COMPAT_OFF.

	* app/plug-in/plug-in-message.c: warn when a deprecated procedure
	is called for GIMP_PDB_COMPAT_WARN.

	* docs/gimp-1.3.1.in: changed accordingly.
2003-12-05 17:08:35 +00:00
Michael Natterer 062c2fd4ea Made 3rd party scripts work again after all that PDB function renaming:
2003-12-05  Michael Natterer  <mitch@gimp.org>

	Made 3rd party scripts work again after all that PDB function
	renaming:

	* app/core/gimp.[ch]: added "GHashTable *procedural_compat_ht" to
	the Gimp struct which maps old procedure names to new ones.
	Call new function procedural_db_init_procs() instead of
	internal_procs_init().

	* app/pdb/procedural_db.[ch]: create and destroy the new compat
	hash table. Added new function procedural_db_init_procs() which
	registers the internal procedures and fills the compat hash table.

	(procedural_db_execute): minor fixes.

	* app/plug-in/plug-in-message.c (plug_in_handle_proc_run): if
	the requested procedure was not found, try the compat table.

	* tools/pdbgen/pdb/procedural_db.pdb: made all PDB query
	procedures compat aware. For compat procedures, return help
	strings which declare the procedure as deprecated and tell
	the new name of the procedure. Cleanup.

	* app/pdb/procedural_db_cmds.c: regenerated.
2003-12-05 13:02:18 +00:00
Sven Neumann 6bffe5ad51 removed the hack that used to call gimp_exit() when the batch command
2003-11-30  Sven Neumann  <sven@gimp.org>

	* app/batch.c: removed the hack that used to call gimp_exit() when
	the batch command matches "(gimp-quit 0)". It shouldn't be needed.

	* tools/pdbgen/pdb/misc.pdb
	* app/core/gimp.[ch]
	* app/gui/gui.c: renamed "kill_it" parameter to "force". We don't
	kill the application any longer; this option is just about whether
	to ask the user for confirmation or not.

	* app/pdb/misc_cmds.c: regenerated.

	* app/app_procs.c: cosmetics.
2003-11-30 16:05:56 +00:00
Michael Natterer 80fbda0540 removed gimp_g_object_get_memsize()...
2003-11-25  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpobject.[ch]: removed gimp_g_object_get_memsize()...

	* app/core/gimp-utils.[ch]: ...and added it here along with
	some other memsize utilities for GHashTables and G(S)Lists.

	* app/core/gimp.c
	* app/core/gimpimage.c
	* app/core/gimpparasitelist.c
	* app/core/gimpviewable.c
	* app/vectors/gimpstroke.c (GimpObject::get_memsize): use the new
	functions.
2003-11-25 12:53:29 +00:00
Sven Neumann 133949f990 simplified.
2003-11-17  Sven Neumann  <sven@gimp.org>

	* app/config/gimprc.c (gimp_rc_new): simplified.

	* app/core/gimp.c (gimp_dispose) (gimp_finalize): print messages
	if being verbose.
2003-11-17 01:18:33 +00:00
Sven Neumann 599cf586f7 print a message if being verbose.
2003-11-17  Sven Neumann  <sven@gimp.org>

	* app/core/gimp.c (gimp_finalize): print a message if being verbose.
2003-11-17 00:47:37 +00:00
Sven Neumann 921f00c13d unref the gimp object after dumping the configuration as a test for
2003-11-17  Sven Neumann  <sven@gimp.org>

	* app/main.c: unref the gimp object after dumping the
	configuration as a test for Gimp::finalize.

	* app/base/base.[ch]: keep a reference on the config object.
	Renamed parameter "use_mmx" to "use_cpu_accel".

	* app/core/gimp.[ch]: call base_init() and base_exit() from
	app_procs.c, not from the Gimp object.

	* app/app_procs.[ch]: renamed app_init() to app_run() since here's
	where the main loop is run. Actually quit the main loop in
	app_exit_after_callback() instead of just calling exit().

	* app/errors.[ch]: declared fatal error handlers as G_GNUC_NORETURN.

	* libgimp/gimp.h: fixed usage of G_GNUC_NORETURN.
2003-11-17 00:17:01 +00:00
Sven Neumann fd30d5c976 app/config/gimpbaseconfig.h use gint64 for all memsize properties.
2003-11-16  Sven Neumann  <sven@gimp.org>

	* app/config/gimpbaseconfig.h
	* app/config/gimpcoreconfig.h: use gint64 for all memsize properties.

	* app/base/tile-manager.[ch] (tile_manager_get_memsize): since
	tiles can be swapped out, a tilemanager can be larger than gsize
	(on 32bit platforms). Use a gint64 to avoid an overflow.

	* app/core/gimp.c
	* app/core/gimpbrush.c
	* app/core/gimpbrushpipe.c
	* app/core/gimpbuffer.c
	* app/core/gimpchannel.c
	* app/core/gimpcontainer.c
	* app/core/gimpcontext.c
	* app/core/gimpdata.c
	* app/core/gimpdatafactory.c
	* app/core/gimpdrawable.c
	* app/core/gimpgradient.c
	* app/core/gimpimage-undo-push.c
	* app/core/gimpimage-undo.[ch]
	* app/core/gimpimage.c
	* app/core/gimpitem.c
	* app/core/gimpitemundo.[ch]
	* app/core/gimplayer.c
	* app/core/gimplist.c
	* app/core/gimpobject.[ch]
	* app/core/gimppalette.c
	* app/core/gimpparasitelist.c
	* app/core/gimppattern.c
	* app/core/gimpundo.[ch]
	* app/core/gimpundostack.c
	* app/core/gimpviewable.c
	* app/text/gimptext.c
	* app/text/gimptextlayer.c
	* app/vectors/gimpstroke.c
	* app/vectors/gimpvectors.c: use gint64 for gimp_object_get_memsize()
	and all its implementations.

	* app/display/gimpdisplayshell-title.c
	* app/gui/info-window.c: changed accordingly.
2003-11-16 17:51:36 +00:00
Sven Neumann a843b2adfd app/app_procs.[ch] app/main.c app/core/gimp.[ch] app/gui/gui.c allow to
2003-11-13  Sven Neumann  <sven@gimp.org>

	* app/app_procs.[ch]
	* app/main.c
	* app/core/gimp.[ch]
	* app/gui/gui.c
	* app/gui/session.[ch]: allow to pass a session name on the
	command-line. This causes a different sessionrc to be used. This
	is a bit hackish but our power users will probably love it.
	Also removed the useless --restore-session command-line option.

	* docs/gimp-1.3.1.in: changed accordingly.

	* app/core/gimpmarshal.list: removed obsolete marshaller.

	* app/config/gimprc.c (gimp_rc_new): improved gtk-doc comment.
2003-11-13 14:14:20 +00:00
Michael Natterer cd218fef29 Made plug-ins honor the current GIMP theme:
2003-11-10  Michael Natterer  <mitch@gimp.org>

	Made plug-ins honor the current GIMP theme:

	* app/core/gimp.[ch]: added GimpGetThemeDirFunc to the GUI vtable.

	* app/gui/gui-vtable.c: implement it here.

	* tools/pdbgen/pdb/gimprc.pdb: added new PDB function
	gimp_get_theme_dir().

	* libgimp/gimpui.c: use the new function and fall back to
	gimp_gtkrc() if it returns NULL.

	* app/pdb/gimprc_cmds.c
	* app/pdb/internal_procs.c
	* libgimp/gimpgimprc_pdb.[ch]: regenerated.

	* app/gui/themes.c: unrelated cleanup.
2003-11-10 12:36:22 +00:00
Michael Natterer efd9a3e14a added "wm_name", "wm_class", "display_name" and "monitor_number" to the
2003-11-07  Michael Natterer  <mitch@gimp.org>

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

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

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

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

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

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

	* app/display/gimpdisplayshell-layer-select.c
	* app/display/gimpdisplayshell.c
	* app/gui/about-dialog.c
	* app/gui/channels-commands.c
	* app/gui/color-notebook.c
	* app/gui/convert-dialog.c
	* app/gui/file-dialog-utils.[ch]
	* app/gui/file-new-dialog.c
	* app/gui/file-open-dialog.c
	* app/gui/file-save-dialog.c
	* app/gui/gradient-editor-commands.c
	* app/gui/gradients-commands.c
	* app/gui/grid-dialog.c
	* app/gui/image-commands.c
	* app/gui/info-dialog.[ch]
	* app/gui/info-window.c
	* app/gui/layers-commands.c
	* app/gui/module-browser.c
	* app/gui/offset-dialog.c
	* app/gui/palette-import-dialog.c
	* app/gui/qmask-commands.c
	* app/gui/resize-dialog.c
	* app/gui/splash.c
	* app/gui/stroke-dialog.c
	* app/gui/templates-commands.c
	* app/gui/tips-dialog.c
	* app/gui/vectors-commands.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimplevelstool.c
	* app/widgets/gimpdock.c
	* app/widgets/gimperrorconsole.c
	* app/widgets/gimptexteditor.c
	* app/widgets/gimptoolbox.c
	* app/widgets/gimpviewabledialog.[ch]
	* libgimpwidgets/gimpfileselection.c
	* libgimpwidgets/gimpquerybox.c
	* libgimpwidgets/gimpunitmenu.c
	* plug-ins/helpbrowser/dialog.c
	* plug-ins/ifscompose/ifscompose.c: replaced all calls to
	gtk_window_set_wmclass() by gtk_window_set_role() and all
	"const gchar *wmclass_name" parameters by "const gchar *role".
	Cleaned up the window role strings.
2003-11-07 17:29:02 +00:00
Sven Neumann 51113c495c added new command-line option --no-fonts. Might be useful to reduce
2003-11-05  Sven Neumann  <sven@gimp.org>

	* app/main.c: added new command-line option --no-fonts. Might be
	useful to reduce startup time or if there are problems with the
	font configuration.

	* app/app_procs.[ch]
	* app/main.c
	* app/core/gimp.[ch]
	* app/text/gimp-fonts.c: don't load any fonts when gimp is started
	with --no-fonts.

	* docs/gimp-1.3.1.in: documented the new command-line option.
	Updated some outdated information.
2003-11-05 00:33:20 +00:00
Sven Neumann 3930693783 base/base.c (base_init) moved the message about possible debug messages to
2003-10-21  Sven Neumann  <sven@gimp.org>

	* base/base.c (base_init)
	* app/errors.c (gimp_errors_init): moved the message about
	possible debug messages to gimp_errors_init() so that it appears
	before any startup debug output.

	* app/app_procs.c (app_init): register a log handler for the
	GimpConfig log domain.

	* app/widgets/gimpwidgets-utils.c (gimp_message_box)
	* app/core/gimp.c (gimp_message): added an extra newline when
	sending messages to stderr. Don't output the full progname for
	messages; use a simple "GIMP" like the GUI message handler does.

	* app/gui/user-install-dialog.c: removed function copy_file()...

	* app/config/gimpconfig-utils.[ch]: ... and added it here as
	gimp_config_file_copy(). Also added utility function
	gimp_config_file_backup_on_error().

	* app/config/gimprc.c (gimp_rc_load): if the user gimprc can't be
	parsed, create a backup and if that succeeds unlink the broken one
	to cure the problem.

	* app/gui/session.c: create a backup if sessionrc can't be parsed.

	* config/gimpconfig-deserialize.c (gimp_config_deserialize_properties):
	don't set an error when token is G_TOKEN_NONE; it should already
	be set then.
2003-10-21 18:14:58 +00:00
Sven Neumann 1e0816fa93 minor cleanup.
2003-10-15  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-utils.c (gimp_config_diff_internal): minor
	cleanup.

	* app/core/gimptemplate.[ch]: added a comment property.

	* app/config/gimpcoreconfig.[ch]
	* app/config/gimprc-blurbs.h: removed "default_comment" property
	and set the default comment on the default image template.

	* app/widgets/gimptemplateeditor.c: added a comment editor widget.

	* app/core/gimp.c
	* app/gui/file-new-dialog.c
	* app/gui/preferences-dialog.c
	* app/pdb/gimprc_cmds.c
	* tools/pdbgen/pdb/gimprc.pdb: changed accordingly.

	* libgimpwidgets/gimpmemsizeentry.c (gimp_memsize_entry_init):
	increased spacing between the spinbutton and the menu.
2003-10-15 15:30:11 +00:00
Sven Neumann 737da42437 removed gimp_config_copy_properties() and added the more intelligent
2003-10-14  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-utils.[ch]: removed
	gimp_config_copy_properties() and added the more intelligent
	gimp_config_sync() instead.

	* app/config/Makefile.am
	* app/config/config-types.h
	* app/config/gimpcoreconfig.[ch]
	* app/config/gimprc-blurbs.h: replaced default image properties
	with a single GimpTemplate object property. Changed the
	set_property function to not replace aggregate objects but call
	gimp_config_sync() instead.

	* app/tools/gimptextoptions.c (gimp_text_options_set_property):
	same change here.

	* app/config/gimpconfig.[ch]: changed return value of
	gimp_config_duplicate() to gpointer to avoid some casts that only
	made the code harder to read.

	* app/widgets/gimptemplateeditor.[ch]: don't keep an internal copy
	here but edit the GimpTemplate passed when the editor was
	constructed.

	* app/gui/preferences-dialog.c: use a GimpTemplateEditor to allow
	editing of the default image paramaters.

	* app/config/gimprc.c
	* app/core/core-types.h
	* app/core/gimp.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-grid.c
	* app/core/gimpimage-new.c
	* app/core/gimpimage-undo-push.c
	* app/core/gimpimage.c
	* app/core/gimptemplate.[ch]
	* app/gui/file-new-dialog.c
	* app/gui/grid-dialog.c
	* app/gui/info-window.c
	* app/gui/resize-dialog.c
	* app/gui/templates-commands.[ch]
	* app/gui/tool-options-commands.c
	* app/text/gimptextlayer.c
	* app/text/gimptextlayer.c
	* app/tools/gimptexttool.c
	* app/widgets/gimptemplateview.c
	* app/xcf/xcf-load.c: changed accordingly.
2003-10-14 15:20:59 +00:00
Sven Neumann a88e11afb3 app/widgets/gimpdocked.[ch] renamed GimpDockedIface to
2003-10-11  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdocked.[ch]
	* app/widgets/widgets-types.h: renamed GimpDockedIface to
	GimpDockedInterface.

	* app/display/gimpnavigationview.c
	* app/widgets/gimpcoloreditor.c
	* app/widgets/gimpcontainereditor.c
	* app/widgets/gimpcontainerview.c
	* app/widgets/gimpeditor.c
	* app/widgets/gimpimageeditor.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimptooloptionseditor.c: changed accordingly.

	* app/config/config-types.h
	* app/config/gimpconfig.[ch]
	* app/config/gimpconfig-deserialize.[ch]
	* app/config/gimpconfig-serialize.[ch]
	* app/config/gimpconfig-utils.[ch]: added a GimpConfig typedef and
	changed the GimpConfig API to take GimpConfig instead of GObject
	pointers.

	* app/config/gimpconfig-dump.c
	* app/config/gimprc.c
	* app/config/test-config.c
	* app/core/gimp-documents.c
	* app/core/gimp-parasites.c
	* app/core/gimp-templates.c
	* app/core/gimp.[ch]
	* app/core/gimpcontainer.c
	* app/core/gimpcontext.c
	* app/core/gimpdocumentlist.c
	* app/core/gimpgrid.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-new.c
	* app/core/gimpimage.c
	* app/core/gimpparasitelist.c
	* app/core/gimptemplate.c
	* app/core/gimptooloptions.c
	* app/core/gimpviewable.c
	* app/gui/grid-dialog.c
	* app/gui/preferences-dialog.c
	* app/gui/stroke-dialog.c
	* app/gui/templates-commands.c
	* app/gui/tool-options-commands.c
	* app/paint/gimppaintcore.c
	* app/pdb/gimprc_cmds.c
	* app/text/gimptext-parasite.c
	* app/text/gimptext.c
	* app/text/gimptextlayer.c
	* app/tools/gimp-tools.c
	* app/tools/gimptexttool.c
	* app/widgets/gimpdevices.c
	* app/widgets/gimptemplateeditor.c
	* app/widgets/gimptemplateview.c
	* tools/pdbgen/pdb/gimprc.pdb: changed accordingly.
2003-10-11 14:30:18 +00:00
Michael Natterer 89d936f3aa Cleaned up the app init and exit stuff even more. Also reduces the number
2003-10-02  Michael Natterer  <mitch@gimp.org>

	Cleaned up the app init and exit stuff even more. Also reduces the
	number of missing symbols for gimp-console. Added init and exit
	debugging output (only for --verbose).

	* app/core/gimpmarshal.list
	* app/core/gimp.[ch]: added new signals "initialize" and
	"restore".  Moved plug_ins_init() to Gimp::restore()'s default
	implementation and plug_ins_exit() to Gimp::exit()'s default
	implementation. Renamed gimp_set_config() to gimp_load_config()
	and load GimpRC here. Moved base_init() and base_exit() to this
	file, too.

	* app/gui/Makefile.am
	* app/gui/gui-vtable.[ch]: new files split out of gui.c. It was
	simply too large.

	* app/gui/gui.[ch]: renamed gui_themes_init() to gui_init(),
	connect to Gimp's "initialize" and "restore" signals and create
	the GUI stuff in the callbacks. Removed most other public
	functions since they don't need to be called explicitly any more.
	Moved the whole tool initialization/shutdown code to this file.

	* app/gui/user-install-dialog.[ch]: changed
	user_install_dialog_create() to user_install_dialog_run() and
	added a gtk_main() at the end, so the install dialog's gtk_main()
	and gtk_main_quit() live in the same file.

	* app/app_procs.c: removed lots of stuff. app_init() is much
	simpler now.
2003-10-02 11:26:26 +00:00
Michael Natterer 6b2ca702ad app/paint/Makefile.am removed... ...and added.
2003-09-18  Michael Natterer  <mitch@gimp.org>

	* app/paint/Makefile.am
	* app/paint/paint.[ch]: removed...
	* app/paint/gimp-paint.[ch]: ...and added.

	* app/core/gimp.c: changed accordingly.

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

	* app/tools/gimp-tools.[ch]: ...and added. Added
	gimp_tools_restore() and gimp_tools_save() and moved the entire
	tool registering and tool_options loading/saving code here. Call
	tool_manager_init() from gimp_tools_init() and tool_manager_exit()
	from gimp_tools_exit().

	* app/tools/tool_manager.[ch]: removed the code which now lives
	in gimp-tools.[ch]. The tool manager now has no knowledge about
	individual tools any more and just handles the active_tool
	and the tool part of tool <-> display interaction.
	Removed tool_manager_get_info_by_type().

	* app/tools/gimpvectortool.c (gimp_vector_tool_register): the
	tool's identifier is "gimp-vector-tool", not "gimp-path-tool".

	* app/app_procs.c
	* app/display/gimpdisplayshell-callbacks.c
	* app/gui/vectors-commands.c
	* app/tools/gimppainttool.c: changed accordingly.
2003-09-18 13:51:10 +00:00
Michael Natterer 28d6f0a241 app/core/gimpedit.[ch] app/core/gimpmodules.[ch] app/core/gimpunits.[ch]
2003-09-15  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpedit.[ch]
	* app/core/gimpmodules.[ch]
	* app/core/gimpunits.[ch]
	* app/text/gimpfonts.[ch]: removed...

	* app/core/gimp-edit.[ch]
	* app/core/gimp-modules.[ch]
	* app/core/gimp-units.[ch]
	* app/text/gimp-fonts.[ch]: ...and added with new names because
	these files operate on members of a Gimp instance and are
	therefore methods of the Gimp object.

	* app/core/Makefile.am
	* app/text/Makefile.am
	* app/display/gimpdisplayshell-dnd.c
	* app/gui/edit-commands.c
	* app/gui/module-browser.c
	* app/gui/preferences-dialog.c
	* app/widgets/gimpbufferview.c
	* app/widgets/gimpdocumentview.c
	* app/widgets/gimptoolbox-dnd.c
	* app/app_procs.c
	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/fonts.pdb: changed accordingly.

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

	* app/core/gimp.c (gimp_init): don't create gimp->fonts.
	(gimp_initialize): call gimp_fonts_init().
	(gimp_restore): call gimp_fonts_load() instead of _init().

	* app/text/gimp-fonts.c (gimp_fonts_init): don't call
	gimp_fonts_load(), just create gimp->fonts and connect to
	"notify::font-path" of gimp->config.
2003-09-15 17:26:28 +00:00
Michael Natterer 268c4fb1ce added lots more "GimpFooFunc gui_foo_func" vtable entries to the Gimp
2003-09-10  Michael Natterer  <mitch@gimp.org>

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

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

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

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

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

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

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

	* app/plug-in/plug-in-def.c
	* app/plug-in/plug-in-rc.c
	* app/plug-in/plug-in-run.c: removed trailing whitespace.
2003-09-10 22:06:45 +00:00
Michael Natterer 284b8f91d7 added "gboolean console_messages" to the Gimp struct and to gimp_new()
2003-09-09  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp.[ch]: added "gboolean console_messages" to the
	Gimp struct and to gimp_new() since plug-in messages go directly
	through gimp_message() now and need to honor "console_messages"
	too.

	* app/app_procs.[ch]: added "gboolean console_messages" to
	app_init() and pass it to gimp_new().

	* app/appenv.h: removed global variable "console_messages".

	* app/main.c: added it to main()'s scope and pass it to app_init().

	* app/errors.c: changed accordingly.
2003-09-09 10:54:20 +00:00
Manish Singh b658e763f6 Font configuration stuff: You can rescan for fonts on the fly now. A
2003-09-01  Manish Singh  <yosh@gimp.org>

        Font configuration stuff: You can rescan for fonts on the fly now.
        A couple caveats: the text tool font dialog doesn't get updated, but
        that's supposed to be going away. The new font dock doesn't resort
        on update, but mitch is supposed to fix that. :)

        Some nice stuff for advanced font users: GIMP local font directories,
        and an optional site and user fonts.conf.

        I thought about supporting the auto-resan feature in fontconfig,
        but it might take too much time to do a scan so I haven't implemented
        it. Another thing I want to do is create fontconfig caches in the
        local dirs.

        * text/gimpfonts.[ch]: gimp_fonts_init/load/reset implementation.

        * text/Makefile.am: added gimpfonts.[ch]

        * app/core/gimp.c: use gimp_fonts_init/reset.

        * app/config/gimpcoreconfig.[ch]
        * app/config/gimprc-blurbs.h: added font-path config setting.

        * app/gui/preferences-dialog.c: Add a Font Folders section for the
        above. Also added a Rescan Font List button, which goes in the
        Environment section. Not sure if this is the right place...
        it also looks kinda ugly all by its lonesome.

        * app/gui/user-install-dialog.c: mention the fonts directory.

        * themes/Default/images/preferences/Makefile.am
        * themes/Default/images/preferences/folders-fonts.png: dummy icon for
        font folders pref, probably a folder with a little "T" in the corner
        would be good.
2003-09-01 18:20:56 +00:00
Michael Natterer c42641fe89 Fixed & cleaned up paint function registration to work without GUI.
2003-08-30  Michael Natterer  <mitch@gimp.org>

	Fixed & cleaned up paint function registration to work without
	GUI. Finishes core/GUI separation for the paint tools:

	* app/core/gimppaintinfo.[ch]: removed "gchar *pdb_string" all over
	the place since we don't stroke using the PDB any more.
	(gimp_paint_info_new): create paint_info->paint_options here so
	the paint system is fully initialized when there is no GUI.

	* app/paint/paint.c: removed pdb_string stuff here, too.

	* app/core/gimptoolinfo.[ch]: create tool_info->tool_options
	only if tool_info->tool_options_type is not the same type
	as paint_info->paint_options_type (if we are no paint tool).

	* app/core/gimptooloptions.c: removed G_PARAM_CONSTRUCT_ONLY from
	the "tool-info" property. Instead, changed
	gimp_tool_options_set_property to ensure that it is only set once.

	* app/core/gimp.c (gimp_initialize): moved paint_init() after
	data_factory creation (was in gimp_init()), since GimpPaintInfo
	now creates the GimpPaintOptions, which are GimpContexts, which
	need gimp->*_factory to be constructed.

	* app/tools/tool_manager.c: don't create tool_info->tool_options
	here (it's not the job of the tool_manager to set up the core
	paint system correctly, it must be already initialized before any
	tool_manager function is called).

	Made "Stroke Selection" and "Stroke Path" work the same way:

	* app/paint/gimppaintcore-stroke.[ch]: added new function
	gimp_paint_core_stroke_boundary() which strokes without using
	the PDB.

	* app/core/gimpimage-mask.c (gimp_image_mask_stroke): use it
	instead of using the PDB. Enables all available paint options for
	stroke operations. Fixes bug #119411.

	* app/gui/vectors-commands.c (vectors_stroke_vectors)
	* app/core/gimpimage-mask.c (gimp_image_mask_stroke): removed all
	code which tries to figure how to stroke and simply look at the
	active tool's tool_info->paint_info, since it is always set up
	correctly now.
2003-08-30 13:22:20 +00:00
Michael Natterer 24f3da165b changed GimpObject::get_memsize() to return a second value named
2003-08-25  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpobject.[ch]: changed GimpObject::get_memsize() to
	return a second value named "gui_size", where the primary return
	value is the "constant" actual size (as long as no operation is
	performed on the object), and the second "gui_size" return value
	is the size of temporary stuff like preview caches or boundary
	segments (which may change asynchronously, even if the object is
	on the undo stack).

	* app/core/gimp.c
	* app/core/gimpbrush.c
	* app/core/gimpbrushpipe.c
	* app/core/gimpbuffer.c
	* app/core/gimpchannel.c
	* app/core/gimpcontainer.c
	* app/core/gimpcontext.c
	* app/core/gimpdata.c
	* app/core/gimpdatafactory.c
	* app/core/gimpdrawable.c
	* app/core/gimpgradient.c
	* app/core/gimpimage-undo.c
	* app/core/gimpimage.c
	* app/core/gimpitem.c
	* app/core/gimplayer.c
	* app/core/gimplist.c
	* app/core/gimppalette.c
	* app/core/gimpparasitelist.c
	* app/core/gimppattern.c
	* app/core/gimpundo.c
	* app/core/gimpundostack.c
	* app/core/gimpviewable.c
	* app/text/gimptextlayer.c
	* app/vectors/gimpstroke.c
	* app/vectors/gimpvectors.c: changed get_memsize() implementations
	accordingly.

	* app/display/gimpdisplayshell-title.c
	* app/gui/debug-commands.c
	* app/widgets/gimppreview.c: changed callers accordingly.

	* app/core/gimpimage-undo-push.c: changed layer, channel, vectors
	and layer_mask undo steps to add/subtract the size of the
	resp. objects whenever they take/drop ownership of them. Ignore
	the objects' "gui_size" to get identical sizes on
	adding/subtracting. Fixes bug #120429.
2003-08-25 10:49:33 +00:00
Michael Natterer 5e950b5501 Cleaned up and improved the message system:
2003-06-13  Michael Natterer  <mitch@gimp.org>

	Cleaned up and improved the message system:

	* app/core/gimp.[ch]: added "const gchar *domain" to
	GimpMessageFunc (a NULL domain means the message is from the GIMP
	core, everything else is a plug-in).

	* app/errors.c: pass "domain == NULL" to gimp_message().

	* tools/pdbgen/pdb/message.pdb: derive the message domain from the
	current plug-in's menu_path (evil hack but works reasonably well).

	* app/pdb/message_cmds.c: regenerated.

	* app/widgets/gimpwidgets-utils.[ch] (gimp_message_box): added a
	header showing the message domain and changed the dialog layout to
	follow the HIG more closely.

	* app/gui/error-console-dialog.[ch]: removed.

	* app/widgets/gimperrorconsole.[ch]
	* app/gui/error-console-commands.[ch]
	* app/gui/error-console-menu.[ch]: new files containing a
	re-implementation of the error console dialog.

	* app/gui/Makefile.am
	* app/gui/dialogs-constructors.c
	* app/gui/gui.c
	* app/gui/menus.c
	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h: changed accordingly.

	* app/display/gimpprogress.c: added more spacing and removed the
	separator (more HIG compliant).

	* plug-ins/[most plug-ins].c: Changed lots of messages and
	progress strings:

	- Removed plug-in names from messages since that's automatically
	  covered by "domain" now.
	- Put all filenames in ''.
	- Changed "Loading" to "Opening".
	- Added "..." to all progress messages.
	- Cleaned up all file open/save error messages to look the
	  same and include g_strerror(errno).
	- Removed special casing for progress bars and *always* show them,
	  not only if run_mode != GIMP_RUN_NONINTERACTIVE (we can't expect
	  all plug-ins to do this correctly but need to hack the core to
	  sort out unwanted progress bars).

	Unrelated:

	- Cleaned up indentation, spacing, #includes, coding style and
	  other stuff while I was at all these files.
2003-06-13 14:37:00 +00:00
Michael Natterer 41e7e9e535 cosmetic.
2003-04-05  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp.c: cosmetic.
2003-04-05 18:40:16 +00:00
Michael Natterer 650b70cf69 reduced GIMP_MAX_IMAGE_SIZE to 2^18.
2003-04-04  Michael Natterer  <mitch@gimp.org>

	* libgimpbase/gimplimits.h: reduced GIMP_MAX_IMAGE_SIZE to 2^18.

	* libgimpbase/gimputils.[ch]: added gimp_memsize_to_string()
	utility function (which is definitely broken on 64bit systems).

	* app/core/gimpimage-new.[ch]: removed
	gimp_image_new_get_memsize_string() and gimp_image_new_create_image().
	Renamed gimp_image_new_template_new() to
	gimp_image_new_get_last_template().

	* app/core/gimpimagefile.c
	* app/display/gimpdisplayshell-title.c: changed accordingly.

	* app/core/gimp-templates.c: changed filename from "templates"
	to "templaterc".

	* app/core/gimp.[ch]
	* app/core/gimpimage-duplicate.c: don't include "gimpimage-new.h".

	* app/core/gimptemplate.[ch]: removed
	gimp_template_calc_memsize().  Instead, added the size and a
	boolean indicating that it is valid to the GimpTemplate
	struct. Added GObject::notify() implementation and update the
	values there.

	* app/widgets/gimppropwidgets.c: connect to the unit property
	correctly.

	* app/gui/file-new-dialog.c: changed accordingly. Disconnect
	from the template's "notify" signal while changing all values.
2003-04-04 15:11:30 +00:00
Michael Natterer a018b06a96 Added preliminary support for image templates. Not finished yet. Addresses
2003-04-03  Michael Natterer  <mitch@gimp.org>

	Added preliminary support for image templates. Not finished
	yet. Addresses bug #96059. Now we need a volunteer to create
	a nice collection of default templates...

	* app/core/Makefile.am
	* app/core/core-types.h
	* app/core/gimptemplate.[ch]
	* app/core/gimp-templates.[ch]: new files implementing the new
	GimpTemplate object and the list of available image templates.

	* app/core/gimp.[ch]: keep a container of templates around.

	* app/core/gimpimage-new.[ch]: ported to use GimpTemplate. Removed
	struct GimpImageNewValues.

	* app/widgets/gimpcontainermenuimpl.c: changed to show the
	"(none)" item for a NULL selection also, not only for an empty
	container.

	* app/widgets/gimppropwidgets.[ch]: added
	gimp_prop_size_entry_connect() which connects an externally
	created GimpSizeEntry to object properties. Fixed the size entry
	code to actually work.

	* app/gui/image-menu.c
	* app/gui/file-commands.[ch]: added "Save as Template" which
	creates a new template from any image's properties.

	* app/gui/file-new-dialog.c: use prop_widgets and GimpTemplate.
	Offer the available templates in a menu at the top of the dialog.
2003-04-03 17:50:56 +00:00
Michael Natterer c2a22d5d52 added gimp_font_list_restore() which loads the fonts (not yet).
2003-03-25  Michael Natterer  <mitch@gimp.org>

	* app/text/gimpfontlist.[ch]: added gimp_font_list_restore()
	which loads the fonts (not yet).

	* app/core/gimp.c: call it.

	* app/gui/dialogs-constructors.[ch]
	* app/gui/dialogs-menu.c
	* app/gui/dialogs.c
	* app/gui/image-menu.c
	* app/gui/toolbox-menu.c: added font list and grid views.

	* app/gui/menus.c: cosmetic.
2003-03-25 22:53:10 +00:00
Michael Natterer 47419bbcec added "gchar *default_font". and its blurb.
2003-03-25  Michael Natterer  <mitch@gimp.org>

	* app/config/gimpcoreconfig.[ch]: added "gchar *default_font".
	* app/config/gimprc-blurbs.h: and its blurb.

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

	* app/core/gimpcontext.[ch]: added a GimpFont and all needed
	fonctions to let it work like brush, pattern etc.

	* app/core/gimpdatalist.c: cosmetic.
2003-03-25 22:06:03 +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
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
Sven Neumann daf60f2582 handle negative integers.
2003-02-03  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-deserialize.c
	(gimp_config_deserialize_fundamental): handle negative integers.

	* app/core/gimp.c (gimp_edit_config_notify): commented out
	debugging output.
2003-02-03 14:37:59 +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 51785c1d5b app/core/gimpdocumentlist.[ch] added "Gimp" pointers so we don't need to
2003-01-24  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdocumentlist.[ch]
	* app/core/gimpimagefile.[ch]: added "Gimp" pointers so we don't
	need to use "the_gimp" from "app_procs.h".

	* app/core/core-types.h
	* app/core/gimp.c
	* app/gui/file-open-dialog.c
	* tools/pdbgen/pdb/fileops.pdb: changed accordingly.

	* app/pdb/fileops_cmds.c: regenerated.
2003-01-24 17:38:24 +00:00
Sven Neumann ed312c95ab app/app_procs.c (app_init) delayed the activation of gimprc-autosave so we
2003-01-10  Sven Neumann  <sven@gimp.org>

	* app/app_procs.c (app_init)
	* app/core/gimp.c (gimp_set_config): delayed the activation of
	gimprc-autosave so we don't write the monitor resolution obtained
	from GDK back to the gimprc on each startup.

	* app/gui/gui.c (gui_get_screen_resolution): round values to get
	rid of rounding errors introduced earlier. Looks better in the
	prefs dialog.

	* app/display/gimpdisplayshell-scale.c (gimp_display_shell_scale):
	merged fix for bug #94979 from stable branch. Go even further and
	don't limit the zoom ratio between 1:16 and 16:1.

	* app/display/gimpdisplayshell.c (gimp_display_shell_new): merged
	fix for bug #103030 from stable branch.
2003-01-10 21:15:41 +00:00
Manish Singh 1a44f2126c cleanup, removed unecessary G_OBJECT() casts. Should do the same for
2003-01-05  Manish Singh  <yosh@gimp.org>

        * many files in app, modules and libgimp*: cleanup, removed unecessary
        G_OBJECT() casts. Should do the same for plug-ins, when more of them
        get undeprecated.
2003-01-05 22:07:10 +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
Michael Natterer b2c3f0187d Cleaned up the exit process:
2002-12-05  Michael Natterer  <mitch@gimp.org>

	Cleaned up the exit process:

	* app/core/gimp.[ch]: added an "exit" signal which carries a
	"gboolean kill_it" parameter and has a boolean return value.
	Added gimp_boolean_handled_accumulator() so the emission of "exit"
	can be stopped by returning TRUE from a callback.  Removed
	gimp_shutdown() from the public API and made it "exit"'s default
	implementation. Addec gimp_exit() to emit the signal.

	* app/core/gimpmarshal.list: added BOOLEAN__BOOLEAN marshaller.

	* app/gui/gui.[ch]: Replaced public functions gui_shutdown() and
	gui_exit() by "exit" callbacks. g_signal_connect_after() the
	latter so the shutdown order is correct.

	* app/app_procs.[ch]: removed app_exit() and connect to "exit".
	Split the exit stuff into normal and connect_after callbacks as
	above.

	* app/batch.c
	* app/gui/file-commands.c
	* tools/pdbgen/pdb/misc.pdb
	* app/widgets/gimptoolbox.c: call gimp_exit() instead of
	app_exit(). Don't #include "app_procs.h".

	* app/pdb/misc_cmds.c: regenerated.
2002-12-05 15:49:59 +00:00
Michael Natterer 4ccd0f0ae3 use GError for reporting load/save errors. Added gimp_data_error_quark()
2002-12-02  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdata.[ch]: use GError for reporting load/save
	errors. Added gimp_data_error_quark() and a GimpDataError enum.
	Made simple virtual functions out of save(), get_extension()
	and duplicate() because they don't need to be signals.

	* app/core/gimpbrush.[ch]
	* app/core/gimpbrushgenerated.[ch]
	* app/core/gimpbrushpipe.[ch]
	* app/core/gimpgradient.[ch]
	* app/core/gimppalette.[ch]
	* app/core/gimppattern.[ch]: changed accordingly. Set data->dirty
	to FALSE in each _load() function.

	* app/core/gimpdatafactory.[ch]: report GError messages here.
	Changed the ugly factory->path pointer location hack to
	factory->path_property_name and get the path from
	factory->gimp->config. Added gimp_data_factory_data_duplicate()
	implementation which was already declared in the header.

	* app/core/gimp.c: pass the path property name to
	gimp_data_factory_new().

	* app/widgets/gimpdatafactoryview.c: removed the duplicate
	implementation and call gimp_data_factory_data_duplicate().

	* app/core/gimpgradient.[ch]: added gimp_gradient_save_as_pov().

	* app/gui/gradients-commands.c: removed save_as_pov implementation
	and call gimp_gradient_save_as_pov().
2002-12-02 13:39:09 +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
Michael Natterer 5c86e63983 removed the global "base_config" variable.
2002-11-30  Michael Natterer  <mitch@gimp.org>

	* app/base/base-types.h: removed the global "base_config" variable.

	* app/base/base.[ch]: added "gboolean use_mmx" to base_init().
	Don't #include "appenv.h". Pass around more parameters to reduce
	the usage of the global "paint_options" pointer.

	* app/app_procs.c: pass "use_mmx" to base_init().

	* app/base/temp-buf.c: pass "temp_path" around internally. Declare
	"base_config" extern and added a #warning.

	* app/core/gimpdata.[ch]
	* app/core/gimpbrush.[ch]
	* app/core/gimpbrushgenerated.[ch]
	* app/core/gimpbrushpipe.[ch]
	* app/core/gimpgradient.[ch]
	* app/core/gimppalette.[ch]
	* app/core/gimppattern.[ch]: added "gboolean stingy_memory_use"
	parameters to all _new(), _load() and _duplicate() functions.

	* app/core/gimpmarshal.list: GimpData::duplicate needs an
	OBJECT__BOOLEAN marshaller now.

	* app/core/gimpdatafactory.[ch]: added a "Gimp" pointer so the
	factory can find the config. Pass base_config->stingy_memory_use
	to the GimpData functions changed above.

	* app/core/gimp-gradients.c
	* app/core/gimp.c
	* app/core/gimppalette-import.c
	* app/gui/palettes-commands.c
	* app/widgets/gimpdatafactoryview.c: changed accordingly.

	* app/core/gimpcontext.c: get "stingy_memory_use" from
	context->gimp->config.
2002-11-30 16:31:39 +00:00
Michael Natterer 64eb7d748a added gimp->edit_config which is a copy of gimp->config except for
2002-11-30  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp.[ch]: added gimp->edit_config which is a copy of
	gimp->config except for GIMP_PARAM_RESTRT options. Create it in
	gimp_set_config() which must be called before anything else after
	gimp_new(). Install "notify" handlers between the both to keep
	them up-to-date. Enable auto saving for the edit_config.

	* app/app_procs.c: call gimp_set_config().

	* tools/pdbgen/pdb/gimprc.pdb: use gimp->edit_config here so we
	don't accidentially change GIMP_PARAM_RESTART values from the PDB.

	* app/pdb/gimprc_cmds.c: regenerated.

	* app/gui/preferences-dialog.c: use gimp->edit_config as the base
	for all prefs operations. Disable auto saving while the prefs
	dialog is open. No need any more to parse the saved gimprc to get
	GIMP_PARAM_RESTART values. Removed GIMP_PARAM_RESTART special
	hacks because edit_config handles them transparently for us.

	Unrelated:

	* app/core/gimpimage.c (gimp_image_init): initialize active_vectors.

	* app/gui/gui.c (gui_image_disconect): when the last image
	disappears, show the toolbox only if the image had a display.
2002-11-30 13:08:44 +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 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 451d392aac Some PDB cleanup:
2002-09-10  Michael Natterer  <mitch@gimp.org>

	Some PDB cleanup:

	* tools/pdbgen/pdb/procedural_db.pdb: removed the get_data() and
	set_data() implementations and the global "data_list" variable.
	Cleaned up the dump() stuff (pass the FILE pointer around instead
	of having a global variable for it). Fixed output_string() so it
	does not crash on NULL strings.

	* app/core/gimp.[ch]: added gimp->procedural_db_data_list.

	* app/pdb/procedural_db.[ch]: added procedural_db_[set|get]_data().
	Don't leak data identifiers when overwriting an already existing
	entry. Added g_return_if_fail() stuff to all public functions.

	* tools/pdbgen/pdb/channel.pdb
	* tools/pdbgen/pdb/drawable.pdb
	* tools/pdbgen/pdb/layer.pdb
	* tools/pdbgen/pdb/parasite.pdb: tweaked some helper functions to
	take parameters which make them aware of the real type of the
	objects they handle (e.g. the PDB function gimp_layer_set_name()
	matches the core function gimp_object_get_name()).

	* app/pdb/pdb_glue.h: removed ugly CPP-level workarounds for the
	issue mentioned above.

	* app/pdb/channel_cmds.c
	* app/pdb/drawable_cmds.c
	* app/pdb/layer_cmds.c
	* app/pdb/parasite_cmds.c
	* app/pdb/procedural_db_cmds.c: regenerated.
2002-09-10 20:23:00 +00:00
Michael Natterer 91cfa78384 added a boolean "internal" which indicates that the data object is an
2002-06-12  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdata.[ch]: added a boolean "internal" which
	indicates that the data object is an automatically created
	internal object. Changed the code to refuse saving to deleting
	internal objects.

	* app/core/Makefile.am
	* app/core/gimp-gradients.[ch]: new files implementing internal
	gradients (FG -> BG in RGB and HSV and FG -> transparent).

	* app/core/gimp.c: call gimp_gradients_init().

	* app/core/gimpdatafactory.c (gimp_data_factory_data_free): don't
	free internal objects so they stay there on "Refresh".

	* app/core/gimpdatalist.c: sort internal objects to the beginning
	of the list.

	* app/widgets/gimpdataeditor.c: refuse to change the name of
	internal objects.

	* app/widgets/gimpdatafactoryview.c: set the "Delete" button
	insensitive for internal objects.

	* app/widgets/gimpgradienteditor.c: refuse to edit internal
	gradients, just display them so color picking works.

	* app/gui/brushes-commands.c
	* app/gui/gradients-commands.c
	* app/gui/palettes-commands.c
	* app/gui/patterns-commands.c: set the "Delete" menu item
	insensitive for internal objects.

	* app/gui/gui.c: need to call render_setup() earlier because of
	you-dont-want-to-know-why. Will change it back once the previews
	have their own render buffers.

	* app/tools/gimpblendtool.c: Replaced the "Type" menu by a preview
	showing the active gradient. Clicking the preview pops up the
	gradient selection. Renamed the "Gradient" menu to "Shape". Removed
	"blend_mode" from the BlendOptions struct because we always use
	"custom" mode now.
2002-06-12 13:48:47 +00:00
Sven Neumann 9b6ef26100 added a return value to indicate success of
2002-05-15  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig.[ch]: added a return value to indicate
	success of GimpConfigInterface::serialize. Added a GimpConfigError
	value for write errors and check the return value of all write()
	calls. Allow to specify file header and footer when calling
	gimp_config_serialize().

	* app/config/gimpconfig-serialize.[ch]
	* app/config/gimprc.c: changed accordingly.

	* app/core/gimp-documents.[ch]: new files with functions to handle
	gimp->documents.

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

	* app/core/gimpdocumentlist.[ch]: ... and added under this name.
	Implements a generic document list.

	* app/core/gimp-parasites.[ch]: new files with functions to handle
	gimp->parasites.

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

	* app/core/gimpparasitelist.[ch]: nothing more than a generic
	parasite list.

	* app/undo.c
	* app/core/Makefile.am
	* app/core/core-types.h
	* app/core/gimp.c
	* app/core/gimpdrawable.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage.c
	* app/core/gimpitem.c
	* app/file/file-open.c
	* app/file/file-save.c
	* app/gui/file-open-dialog.c
	* app/pdb/parasite_cmds.c
	* tools/pdbgen/pdb/parasite.pdb: changed accordingly.
2002-05-15 11:05:32 +00:00
Sven Neumann 63485cb6b8 misc small changes.
2002-05-15  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdocuments.c: misc small changes.

	* app/core/gimpparasite.[ch]: reduced to a small set of wrappers
	around gimp->parasites.

	* app/core/gimpparasitelist.c: moved the code that reads and
	writes parasite lists ala parasiterc to this file. Added a
	GimpConfigInterface to GimpParasiteList.

	* app/core/gimp.c: changed accordingly.
2002-05-14 22:48:24 +00:00
Sven Neumann 7a560fea3d app/core/core-types.h made the list of recently used images an object
2002-05-14  Sven Neumann  <sven@gimp.org>

	* app/core/core-types.h
	* app/core/gimpdocuments.[ch]: made the list of recently used
	images an object derived from GimpList that implements the
	GimpConfigInterface.

	* app/core/gimp.c
	* app/file/file-open.c
	* app/file/file-save.c: changed accordingly.
2002-05-14 17:31:58 +00:00
Sven Neumann 16e8b1bec8 registered GimpFillType enum and added translatable names to
2002-05-13  Sven Neumann  <sven@gimp.org>

	* app/core/core-enums.[ch]: registered GimpFillType enum and added
	translatable names to GimpImageBaseType.

	* app/core/gimp.[ch]
	* app/core/gimpedit.c
	* app/core/gimpimage-new.[ch]: removed gimp_image_new_[init|exit]()
	where we used to create names for the enums mentioned above. Dropped
	gimp_image_new_set_have_current_cut_buffer() in favor of accessing
	the value directly.

	* app/gui/file-new-dialog.c (file_new_dialog_create)
	* app/gui/layers-commands.c (layers_new_layer_query): use
	GimpEnumMenus to choose the base_type and fill_type.
2002-05-13 15:35:27 +00:00
Michael Natterer a3bb0b0dad Started to get rid of the gdisplays_foo() functions in
2002-05-08  Michael Natterer  <mitch@gimp.org>

	Started to get rid of the gdisplays_foo() functions in
	app/display/gimpdisplay-foreach.[ch]. Work in progress...

	* app/core/gimp.[ch]: added the display list to the Gimp object
	(as a GimpList of GimpObjects). This way we get more independent
	from whether there is GUI or not, as gimp->displays will simply
	be an empty list for the --no-interface case.

	* app/display/gimpdisplay.[ch]: Removed the global "display_list"
	and "display_num" variables. Use gimp->displays instead.

	* app/display/gimpdisplay-foreach.[ch]: renamed most functions
	from gdisplays_foo() to gimp_displays_foo() and pass them a Gimp
	pointer.

	* app/core/gimpimage.[ch]: added a "flush" signal.

	* app/display/gimpdisplay-handlers.c: connect to "flush" and call
	gimp_display_flush() in the callback.

	* tools/pdbgen/pdb/display.pdb: use gimp_displays_flush(gimp)
	here and only here.

	* app/pdb/display_cmds.c: regenerated.

	* app/app_procs.c
	* app/gui/gui.c
	* app/gui/preferences-dialog.c:
	s/gdislays_foo()/gimp_displays_foo(gimp)/

	* app/image_map.c
	* app/undo_history.c
	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell-dnd.c
	* app/display/gimpdisplayshell-layer-select.c
	* app/display/gimpdisplayshell-scale.c
	* app/gui/channels-commands.c
	* app/gui/colormap-editor-commands.c
	* app/gui/convert-dialog.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/offset-dialog.c
	* app/gui/qmask-commands.c
	* app/gui/select-commands.c
	* app/gui/vectors-commands.c
	* app/paint/gimpairbrush.c
	* app/tools/gimpbezierselecttool.c
	* app/tools/gimpblendtool.c
	* app/tools/gimpbrightnesscontrasttool.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpfreeselecttool.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimpinktool.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimppainttool.c
	* app/tools/gimpposterizetool.c
	* app/tools/gimprectselecttool.c
	* app/tools/gimptexttool.c
	* app/tools/gimpthresholdtool.c
	* app/tools/gimptransformtool.c
	* app/tools/gimpvectortool.c
	* app/widgets/gimpbufferview.c
	* app/widgets/gimpchannellistview.c
	* app/widgets/gimpcomponentlistitem.c
	* app/widgets/gimpdocumentview.c
	* app/widgets/gimpdrawablelistitem.c
	* app/widgets/gimpdrawablelistview.c
	* app/widgets/gimpimageview.c
	* app/widgets/gimpitemlistitem.c
	* app/widgets/gimpitemlistview.c
	* app/widgets/gimplayerlistitem.c
	* app/widgets/gimplayerlistview.c
	* app/widgets/gimpvectorslistview.c: replaced gdisplays_flush()
	with calls to gimp_image_flush(gimage). Removed inclusion of
	"display/gimpdisplay-foreach.h" from most files.
2002-05-08 17:48:24 +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
Michael Natterer 6d215cae8d removed some #if 0'ed stuff.
2002-04-14  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp.c: removed some #if 0'ed stuff.

	* app/gui/edit-commands.c (edit_copy_cmd_callback): call
	gdisplays_flush() so the menus are updated correctly.

	* app/widgets/gimpitemfactory.c (gimp_item_factory_set_color):
	pack the original menu item label with TRUE, TRUE into the created
	hbox so it's accel. label is visible.
2002-04-14 12:02:29 +00:00
Nate Summers 69ccb4d370 massive tool plugin changes 2002-03-29 03:50:29 +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
Michael Natterer a2bd2ac28c Added some kind of paint core registry. It's ugly and will change...
2002-02-26  Michael Natterer  <mitch@gimp.org>

	Added some kind of paint core registry. It's ugly and will change...

	* app/core/gimp.c: call paint_init() and paint_exit().

	* app/core/gimptoolinfo.[ch]: added "gchar *paint_core_name" to
	the GimpToolInfo structure and the contstructor.

	* app/tools/tool_manager.c: pass the class names of the
	GimpPaintCore subclasses to gimp_tool_info_new().

	* app/paint/Makefile.am
	* app/paint/paint.[ch]: new files. Simlply ref/unref all paint
	core classes so we can find them using g_type_from_name().

	* app/paint/gimppaintcore-stroke.[ch]: changed to take an array
	of GimpCoords, not just gdouble.

	* tools/pdbgen/pdb/paint_tools.pdb: convert the stroke array here.

	* app/gui/vectors-commands.c: ad-hoc implementation of vectors
	stroking.  Double click now sets the active vectors in the vectors
	tool.

	* app/pdb/paint_tools_cmds.c: regenerated.
2002-02-26 02:00:02 +00:00
Michael Natterer cdf2a90b03 app/core/Makefile.am app/core/core-types.h new base class for something
2002-02-25  Michael Natterer  <mitch@gimp.org>

	* app/core/Makefile.am
	* app/core/core-types.h
	* app/core/gimpitem.[ch]: new base class for something which is a
	child of an image, has a PDB ID, a tattoo, parasites and emits
	a "removed" signal.

	* app/core/gimpdrawable.[ch]
	* app/vectors/gimpvectors.[ch]: derive from GimpItem. Removed
	lots of stuff from GimpDrawable.

	* app/core/gimp.[ch]: changed gimp->drawable_table and
	gimp->next_drawable_ID to gimp->item_table and gimp->next_item_id.

	* app/undo.[ch]: s/undo_push_drawable_parasite/undo_push_item_parasite/,
	minor cleanups.

	* app/core/gimplayer.[ch]: changed gimp_layer_new_from_tiles() and
	gimp_layer_new_from_drawable() to take the "dest_gimage" as
	second, not first parameter.

	* app/image_map.c
	* app/core/gimpchannel.c
	* app/core/gimpdrawable-blend.c
	* app/core/gimpdrawable-bucket-fill.c
	* app/core/gimpdrawable-histogram.c
	* app/core/gimpdrawable-offset.c
	* app/core/gimpdrawable-preview.c
	* app/core/gimpdrawable-transform.c
	* app/core/gimpedit.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-mask.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage-pick-color.c
	* app/core/gimpimage.c
	* app/core/gimplayer-floating-sel.c
	* app/display/gimpdisplayshell-dnd.c
	* app/file/file-save.c
	* app/gui/channels-commands.c
	* app/gui/file-save-dialog.c
	* app/gui/layers-commands.c
	* app/gui/offset-dialog.c
	* app/gui/paths-dialog.c
	* app/gui/toolbox.c
	* 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.c
	* app/paint/gimppencil.c
	* app/paint/gimpsmudge.c
	* app/plug-in/plug-in.c
	* app/tools/gimpbezierselecttool.c
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpinktool.c
	* app/tools/gimppainttool.c
	* app/xcf/xcf-load.c
	* app/xcf/xcf-save.c
	* app/widgets/gimpdrawablepreview.c: changed accordingly.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpitemlistview.[ch]: new widget implementing most
	of the stuff formerly done by GimpDrawableListView.

	* app/widgets/gimpchannellistview.c
	* app/widgets/gimpdrawablelistitem.c
	* app/widgets/gimpdrawablelistview.[ch]
	* app/widgets/gimplayerlistview.c: changed accordingly.

	* app/widgets/gimpdnd.[ch]: added a vectors DND type.

	* app/gui/menus.c
	* app/gui/dialogs.c
	* app/gui/dialogs-constructors.[ch]: added a vectors dialog and
	a vectors item_factory.

	* app/gui/Makefile.am
	* app/gui/vectors-commands.[ch]: new files implementing the
	callbacks for the new vectors dialog and item_factory.

	* app/pdb/pdb_glue.h: some more ugly hacks to keep intermediate
	perl code working...

	* tools/pdbgen/pdb.pl: added a vectors type, use GimpItem for all
	ID lookups.

	* tools/pdbgen/pdb/channel.pdb
	* tools/pdbgen/pdb/color.pdb
	* tools/pdbgen/pdb/drawable.pdb
	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/layer.pdb
	* tools/pdbgen/pdb/misc_tools.pdb
	* tools/pdbgen/pdb/parasite.pdb
	* tools/pdbgen/pdb/selection.pdb
	* tools/pdbgen/pdb/selection_tools.pdb: misc changes according to
	stuff above.

	* app/pdb/channel_cmds.c
	* app/pdb/color_cmds.c
	* app/pdb/drawable_cmds.c
	* app/pdb/edit_cmds.c
	* app/pdb/floating_sel_cmds.c
	* app/pdb/image_cmds.c
	* app/pdb/layer_cmds.c
	* app/pdb/misc_tools_cmds.c
	* app/pdb/paint_tools_cmds.c
	* app/pdb/parasite_cmds.c
	* app/pdb/selection_cmds.c
	* app/pdb/selection_tools_cmds.c
	* app/pdb/text_tool_cmds.c
	* app/pdb/transform_tools_cmds.c: regenerated.
2002-02-25 17:58:50 +00:00
Michael Natterer c1f00274b4 app/core/gimp.c app/core/gimpdocuments.c app/core/gimpmodules.c fixed some
2002-01-31  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp.c
	* app/core/gimpdocuments.c
	* app/core/gimpmodules.c
	* app/core/gimppalette.c: fixed some get_memsize()
	implementations, give useful names to some global objects so the
	new mem profile of "the_gimp" looks nicer.

	* app/gui/menus.c
	* app/gui/commands.[ch]: added a "Debug" menu to the toolbox,
	offer a mem profile of the global "Gimp" instance.
2002-01-31 18:02:38 +00:00
Michael Natterer be87dfb5fb pass a GdkGC to gdk_draw_rgb_image(), fixed dither offsets.
2002-01-30  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimpcolorarea.c: pass a GdkGC to
	gdk_draw_rgb_image(), fixed dither offsets.

	* app/core/gimpobject.[ch]: new virtual function
	gimp_object_get_memsize().

	* app/base/temp-buf.[ch]
	* app/base/tile-manager.[ch]: added *_get_memsize() methods.

	* app/core/gimp.c
	* app/core/gimpbrush.c
	* app/core/gimpbrushpipe.c
	* app/core/gimpbuffer.c
	* app/core/gimpchannel.c
	* app/core/gimpcontainer.c
	* app/core/gimpcontext.c
	* app/core/gimpdata.c
	* app/core/gimpdatafactory.c
	* app/core/gimpdrawable.c
	* app/core/gimpgradient.c
	* app/core/gimpimage.c
	* app/core/gimplayer.c
	* app/core/gimplist.c
	* app/core/gimpmoduleinfo.c
	* app/core/gimppalette.c
	* app/core/gimpparasitelist.c
	* app/core/gimppattern.c
	* app/core/gimppreviewcache.[ch]
	* app/core/gimpundo.[ch]
	* app/core/gimpundostack.c
	* app/core/gimpviewable.c: added get_memsize() implementations.

	* app/widgets/gimppreview.c
	* app/core/gimpobject.[ch]: some #ifdef DEBUG_MEMSIZE code to
	test the new memsize stuff (middle click any preview to get
	it's viewable's memory footprint).
2002-01-30 16:14:26 +00:00
Michael Natterer 9b8bf8de5c made gimp->global_buffer a GimpBuffer, not TileManager.
2001-12-13  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp.[ch]: made gimp->global_buffer a GimpBuffer,
	not TileManager.

	* app/core/gimpbuffer.[ch]: added a "gboolean copy_pixels" to
	gimp_buffer_new().

	* app/core/gimpimage-new.c
	* app/core/gimpedit.[ch]
	* app/core/gimpimage-qmask.c
	* app/widgets/gimpbufferpreview.c
	* app/widgets/gimpbufferview.c
	* app/widgets/gimpcontainerview-utils.c: chaned accordingly, don't
	include "base/tile-manager.h".

	* app/core/gimpdrawable.[ch]: added gimp_drawable_copy().

	* app/core/gimpchannel.[ch]
	* app/core/gimplayer.[ch]
	* app/core/gimplayermask.[ch]: use it in
	gimp_[channel|layer|layer_mask]_copy(), added "GType new_type" as
	paramater to all of them.

	* app/core/gimpimage-duplicate.c
	* app/gui/channels-commands.c
	* app/gui/edit-commands.c
	* app/gui/layers-commands.c
	* app/widgets/gimpchannellistview.c
	* tools/pdbgen/pdb/channel.pdb
	* tools/pdbgen/pdb/layer.pdb
	* tools/pdbgen/pdb/selection.pdb: changed accordingly.

	* app/pdb/channel_cmds.c
	* app/pdb/layer_cmds.c
	* app/pdb/selection_cmds.c: regenerated.

	* app/core/gimplayer.[ch]: removed the "layer_type" parameter from
	gimp_layer_new_from_tiles() because it always needed to be equal
	to gimp_image_base_type_with_alpha() of the passed image.

	* app/core/gimpdrawable-transform.c
	* app/core/gimpedit.c
	* app/core/gimpimage-mask.c: cahanged accordingly.

	* app/core/gimpimage.[ch]: added some new GIMP_IMAGE_TYPE_FOO()
	marcos to get rid of magic values like "pixels = 3" all over the
	place.

	* app/core/gimplayer.[ch]: added gimp_layer_new_from_drawable()
	which creates a layer from an other image's drawable.

	* app/core/gimpimage-convert.[ch]: made the RGB and GRAY converters
	public to use them above, use the new GIMP_IMAGE_TYPE() macros.

	* app/display/gimpdisplayshell-dnd.c
	* app/gui/toolbox.c: removed tile manager stuff and use the new
	functions.

	* app/widgets/gimpdrawablelistview.[ch]: added a
	"convert_drawable_func" which is used to handle drops from other
	images.

	* app/widgets/gimpdrawablelistitem.c
	* app/widgets/gimplayerlistitem.c
	* app/widgets/gimplistitem.[ch]: implemented DND of layers between
	images using gimp_layer_new_from_drawable().

	* app/gui/dialogs-constructors.c: changed accordingly.
2001-12-12 23:48:18 +00:00
Michael Natterer bcd208d9f4 app/Makefile.am removed, chopped...
2001-12-07  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/devices.[ch]: removed, chopped...

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/gui/Makefile.am

	* app/widgets/gimpdeviceinfo.[ch]
	* app/widgets/gimpdevices.[ch]
	* app/gui/device-status-dialog.[ch]
	* app/gui/input-dialog.[ch]: ...and added here.

	Made GimpToolInfo a GimpContext subclass. Create a GimpDeviceManager
	struct in gimpdevices.c and attach it to the Gimp instance.

	* app/core/gimp.[ch]: removed gimp_create_context(). It was a bad
	idea in the first place beause it prevented GimpContext subclasses
	from being be properly registered with their Gimp instance.

	* app/core/gimpcontext.c: moved the stuff which used to be in
	gimp_create_context() back here. Added a "gimp" property which
	must be set on construction. Added a "dispose" implementation
	which removes the context from it's Gimp's context_list.

	* app/gimprc.c
	* app/core/gimptoolinfo.[ch]
	* app/display/gimpdisplayshell-callbacks.c
	* app/gui/brush-select.c
	* app/gui/dialogs-constructors.c
	* app/gui/gradient-editor.c
	* app/gui/gradient-select.c
	* app/gui/gui.c
	* app/gui/menus.c
	* app/gui/palette-editor.c
	* app/gui/palette-select.c
	* app/gui/pattern-select.c
	* app/gui/toolbox.c
	* app/tools/gimppainttool.c
	* app/tools/tool_manager.c
	* app/widgets/gimpimagedock.c: changed accordingly.

	* app/gui/tools-commands.[ch]: made all callback signatures
	the same.

	* app/gui/preferences-dialog.c: cleaned up the
	display_format_string GtkCombo code.
2001-12-07 17:39:51 +00:00
Sven Neumann 4ba6db4e94 Michael Natterer <mitch@gimp.org>
2001-12-03  Sven Neumann  <sven@gimp.org>
	    Michael Natterer <mitch@gimp.org>

	* app/paint-funcs/paint-funcs-mmx.h: removed redefiniton of HAS_ALPHA
	macro.

	* app/core/gimp.c: reverted Daniel's change; it doesn't make the code
	simpler, only more error-prone.

	* app/gui/info-dialog.h
	* app/gui/resize-dialog.h
	* app/core/gimp.h
	* app/core/gimpbrushgenerated.h
	* app/core/gimpbrushpipe.h
	* app/core/gimpchannel.[ch]
	* app/core/gimpcontainer.h
	* app/core/gimpcoreconfig.h
	* app/core/gimpdata.h
	* app/core/gimpdatafactory.[ch]
	* app/core/gimpdrawable-blend.c
	* app/core/gimpdrawable.[ch]
	* app/core/gimpimage.h
	* app/core/gimpimagefile.h
	* app/core/gimplayer.h
	* app/core/gimplayermask.h
	* app/core/gimpmoduleinfo.h
	* app/core/gimppalette.h
	* app/core/gimpundo.h
	* app/widgets/gimpbrushfactoryview.h
	* app/widgets/gimpconstrainedhwrapbox.h
	* app/widgets/gimpcontainermenu.h
	* app/widgets/gimpcontainerview.h
	* app/widgets/gimpdialogfactory.h
	* app/widgets/gimpimagedock.h
	* app/widgets/gimplistitem.h
	* app/widgets/gimpmenuitem.h
	* app/widgets/gimpnavigationpreview.h
	* app/widgets/gimppreview.h
	* app/gimprc.h
	* app/pathP.h
	* app/tools/gimpbezierselecttool.h
	* app/tools/gimpcolorbalancetool.h
	* app/tools/gimpcurvestool.h
	* app/tools/gimpdodgeburntool.c
	* app/tools/gimpfreeselecttool.h
	* app/tools/gimphuesaturationtool.h
	* app/tools/gimpinktool-blob.h
	* app/tools/gimpinktool.h
	* app/tools/gimpiscissorstool.h
	* app/tools/gimpmagnifytool.h
	* app/tools/gimpmeasuretool.h
	* app/tools/gimppainttool.h
	* app/tools/gimppathtool.h
	* app/tools/gimprectselecttool.h
	* app/tools/gimpthresholdtool.h
	* app/tools/gimptool.h
	* app/tools/gimptransformtool.h
	* app/base/base-config.h
	* app/base/gimplut.[ch]
	* app/base/pixel-region.h
	* app/base/pixel-surround.[ch]
	* app/base/temp-buf.[ch]
	* app/base/tile-manager-private.h
	* app/base/tile-manager.[ch]
	* app/base/tile-private.h
	* app/base/tile.[ch]
	* app/display/gimpdisplay.h
	* app/display/gimpdisplayshell-selection.h
	* app/display/gimpdisplayshell.h
	* app/gui/brush-select.h
	* app/gui/gradient-editor.h
	* app/gui/gradient-select.h: reverted most of Daniel's changes.

	There's no reason to use unsigned integers here and in lots of places
	it is even wrong.

	Then it's way too early to convert gbooleans into bitfields. This
	change may make sense in a few places but can happen later when the
	API has settled and the code is more stable.

	* app/gimprc.c: reverted Daniel's change. This is a GCC-ism and this
	code is about to die soon anyway.
2001-12-03 13:44:59 +00:00
Daniel Egger e319f588ce Simplified logic thanks to bitfields.
2001-12-03  Daniel Egger  <degger@fhm.edu>

	* app/core/gimp.c: Simplified logic thanks to bitfields.
2001-12-03 00:27:10 +00:00
Michael Natterer f77c7ade89 app/main.c moved "message_handler" from here...
2001-12-01  Michael Natterer  <mitch@gimp.org>

	* app/main.c
	* app/appenv.h: moved "message_handler" from here...

	* app/core/gimp.[ch]: ...to here. Added gimp_message() and a
	"gui_message_func" pointer...

	* app/gui/gui.c: ...which gets set here to gui_message().

	* app/errors.c: don't include any gui stuff but simply call
	gimp_message().

	* app/app_procs.c: don't set "message_handler" here, it's done in
	gui.c now.

	* app/gui/error-console-dialog.[ch]: use gimp->message_handler.

	* app/gui/dialogs-constructors.c: pass a Gimp pointer to
	error_console_create().

	* app/widgets/gimpwidgets-utils.[ch]: made the "message" parameter
	of gimp_message_box() a const gchar*, not just gchar*.

	* tools/pdbgen/pdb/message.pdb: use gimp->message_handler, don't
	include "appenv.h".

	* app/pdb/message_cmds.c: regenerated.

	* app/devices.[ch]: cleanup before chopping: removed global
	variable "current_device", added devices_get_current(), pass lots
	of Gimp pointers around.

	* app/gimprc.c: pass a Gimp pointer to devices_rc_update().

	* app/display/gimpdisplayshell-callbacks.c
	* app/gui/toolbox.c
	* app/tools/gimppainttool.c: use devices_get_current(), pass Gimp
	pointers to all devices_foo() functions.

	* app/core/gimpimage-mask.c: no need to include "pdb/pdb-types.h".
2001-12-01 21:02:34 +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
Michael Natterer 625b5c716c put a g_object_ref() on a different line.
2001-11-20  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp.c: put a g_object_ref() on a different line.

	* app/core/gimpdrawable-bucket-fill.c
	* app/core/gimpmodules.c: ne need to #include "core/..." here.

	* app/display/gimpdisplay-handlers.c: added debugging output
	because we have an image refcounting problem :(

	* app/display/gimpdisplayshell-handlers.c: fixed a signal
	disconnection.

	* app/tools/gimpbezierselecttool.[ch]
	* app/tools/gimpblendtool.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpclonetool.c
	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpellipseselecttool.c
	* app/tools/gimpfreeselecttool.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimpinktool.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimpmagnifytool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimprectselecttool.c
	* app/tools/gimpsmudgetool.c: get the tool's options via
	tool->tool_info->tool_options, not from the local statis pointer.
	Some minor cleanups & function reordering.

	* app/widgets/gimpdockbook.c: return TRUE from the notebook tabs'
	"button_press" handler, connect DND before cnnecting to
	"button_press" because we now stop it's emission.
2001-11-20 13:53:21 +00:00
Michael Natterer 14098dc0eb Made --no-interface not calling gtk_init() (and thus not contacting the X
2001-11-17  Michael Natterer  <mitch@gimp.org>

	Made --no-interface not calling gtk_init() (and thus not
	contacting the X server) any more. (Fixes #58961).

	* app/core/gimp.[ch]: added two new function pointers
	"gui_main_loop_func" and "gui_main_loop_quit_func" and an own
	stack of GMainLoops which is used if they are not set.

	* app/gui/gui.[ch]: added main loop functions here and set them as
	pointers in the Gimp instance. Separated gui_libs_init() from
	gui_themes_init() so it can be used as replacement for gtk_init()
	and be called before command line parsing.

	* app/main.c: check for "--no-interface" before initializing
	anything. Added a "--g-fatal-warnings" option (cut'n'paste from
	gtkmain.c). Added a check for "--" (end of options).

	* app/app_procs.c: call the new gimp_main_loop() functions,
	call gui_themes_init().

	* app/devices.[ch]: reduce usage of "the_gimp" by passing "Gimp"
	pointers to some functions.

	* app/plug_in.c: some ugly checks for the_gimp->no_interface which
	will go away once this file is core/ui chopped. Call
	gimp_main_loop() stuff instead of gtk_main().

	* app/core/gimptoolinfo.c: allow passing a NUL GdkPixbuf pointer.
2001-11-17 16:32:34 +00:00
Michael Natterer 51687bba7d Wishlist item #57812:
2001-11-16  Michael Natterer  <mitch@gimp.org>

	Wishlist item #57812:

	* app/core/gimpimage.[ch]: added a progress_callback to
	gimp_image_scale().

	* app/gui/gui.c
	* app/gui/image-commands.c
	* app/gui/resize-dialog.h
	* tools/pdbgen/pdb/image.pdb: changed accordingly.

	* app/core/gimp.[ch]: found that gimp->busy needs to be a counter,
	not a boolean, so nested calls work.

	* app/pdb/image_cmds.c: regenerated.
2001-11-16 17:08:41 +00:00
Michael Natterer 5f63e079b8 Chopped up the display stuff (beware: unfinished)...
2001-10-31  Michael Natterer  <mitch@gimp.org>

	Chopped up the display stuff (beware: unfinished)...

	The plan is that GimpDisplay is the object which collects
	updates from the image, compresses them and waits for the GIMP
	to be idle to actually paint them. It should be a non-GUI object
	which is the model for the actual widget to connect to.

	GimpDisplayShell has all the widgets and handles painting and
	exposing of the result. Nobody should actually be required to
	update ot look at it as it should be a view on the GimpDisplay
	object.

	Much stuff is still in the wrong place and the functions don't
	follow their files' filename namespace any more. More to come...

	* app/display/Makefile.am
	* app/display/gimpdisplay-ops.[ch]: removed. It's functions didn't
	belong together anyway.

	* app/display/gimpdisplay-area.[ch]: new files: the GimpArea
	functions.

	* app/display/gimpdisplay-handlers.[ch]: new files: signal
	handlers for GimpImage signals. Mostly from app/gui.c.

	* app/display/gimpdisplay.[ch]: removed all widgets and other
	GUI stuff. There is still much undecided here...

	* app/display/gimpdisplayshell.[ch]: actually use the object and
	filled it with all the stuff from GimpDisplay.

	* app/display/gimpdisplay-callbacks.[ch]
	* app/display/gimpdisplay-foreach.[ch]
	* app/display/gimpdisplay-render.c
	* app/display/gimpdisplay-scale.[ch]
	* app/display/gimpdisplay-scroll.[ch]
	* app/display/gimpdisplay-selection.c: changed accordingly.

	* app/core/gimp.[ch]: return a GimpObject from
	gimp_create_display() so it can be used as single GUI independent
	point to create displays, require the initial scale as parameter.

	* app/core/gimpcontext.c: changed the ugly EEKWrapper according to
	the GimpDisplay structure changes. Bugfix: set the image to NULL
	in gimp_context_display_destroyed().

	* app/core/gimpedit.c
	* app/core/gimpimage-new.c: changed gimp_create_display() calls
	accordingly.

	* app/core/gimpimage-convert.c: invalidate the layer & image
	previews here, not in the caller.

	* app/core/gimpimage-crop.c: update the whole image after cropping.

	* app/core/gimpimage.[ch]: added gimp_image_find_guide(),
	gimp_image_snap_point() and gimp_image_snap_rectangle(). Added
	"resolution_changed" and "unit_changed" signals and corresp.
	public convenience functions to emit them.

	* app/core/gimplayer.c: emit the image's "alpha_changed" signal
	when adding alpha to the bottom (and only) layer of the image.

	* app/gimpprogress.c
	* app/image_map.c
	* app/nav_window.c
	* app/qmask.c
	* app/undo.c
	* app/user_install.c: changed accordingly.

	* app/gui/edit-commands.c
	* app/gui/file-commands.c
	* app/gui/file-open-dialog.c
	* app/gui/image-commands.c
	* app/gui/info-window.c
	* app/gui/preferences-dialog.c
	* app/gui/toolbox.c
	* app/gui/view-commands.c: ditto.

	* app/gui/gui.[ch]: removed most gimp->images handlers as the
	displays connect to them themselves now. chaged gui_display_new()
	according to the gimp_create_display() changes.
	Added gui_get_screen_resolution().

	* app/tools/gimpbezierselecttool.c
	* app/tools/gimpblendtool.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpclonetool.c
	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpdrawtool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpfliptool.c
	* app/tools/gimpfreeselecttool.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimpinktool.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimpmagnifytool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimppainttool.c
	* app/tools/gimppathtool.c
	* app/tools/gimprectselecttool.c
	* app/tools/gimpselectiontool.c
	* app/tools/gimptexttool.c
	* app/tools/gimptool.c
	* app/tools/gimptransformtool.c
	* app/tools/xinput_airbrush.c: lots of changes because GimpDisplay
	has become two objects. Lots of gdisp->shell casting uglyness
	added. This is fine because exactly these parts will have to go
	away.

	(GimpDisplay will provide methods for XOR drawing upon the display
	in image coordinates without the need to transform coordinates all
	the time. Also the tools shouldn't see GdkEvents but get more
	useful virtual functions which speak in image coordinates too).

	* app/widgets/gimpcomponentlistitem.c: removed a now useless image
	update.

	* tools/pdbgen/pdb/display.pdb: use gimp_create_display().

	* app/pdb/display_cmds.c: regenerated.
2001-10-31 21:18:57 +00:00
Michael Natterer 05e15eb1cc Cleanup weekend...
2001-10-29  Michael Natterer  <mitch@gimp.org>

	Cleanup weekend...

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

	* app/core/gimp.[ch]: added "gboolean no_interface" and the
	load_procs and save_procs GSLists.

	* app/core/gimptoolinfo.[ch]: added a "Gimp" pointer to the
	GimpToolInfo object so more functions find their context without
	accessing the global "the_gimp" variable.

	* app/display/display-types.h: removed the GDisplay -> GimpDisplay
	typedef.

	* app/display/gimpdisplay.c: look at gimp->no_interface, don't
	include "appenv.h".

	* app/file/file-open.[ch]
	* app/file/file-save.[ch]: don't use "the_gimp" any more. Instead,
	pass around lots of "Gimp" pointers. Removed the global load_procs
	and save_procs variables here. Use access() to find out whether a
	file is readable/writable, removed the manual voodoo and it's
	Win32 wrappers. Added an optional (can be NULL) "PlunInProcDef"
	parameter to file_save(), removed file_save_with_proc().

	* app/gui/menus.c: Use the unused "gpointer data" parameter of the
	GtkItemFactory callbacks to pass a "Gimp" pointer to all of them.
	This reduces the usage of the global "the_gimp" hack to zero
	in app/gui/... yeah.

	* app/gui/channels-commands.c
	* app/gui/edit-commands.c
	* app/gui/file-commands.c
	* app/gui/image-commands.c
	* app/gui/layers-commands.c
	* app/gui/palettes-commands.c
	* app/gui/select-commands.c
	* app/gui/test-commands.c
	* app/gui/tools-commands.c
	* app/gui/view-commands.c: use the passed "Gimp" pointer.

	* app/gui/color-area.[ch]
	* app/gui/convert-dialog.c
	* app/gui/dialogs-constructors.c
	* app/gui/file-new-dialog.[ch]
	* app/gui/file-open-dialog.[ch]
	* app/gui/file-save-dialog.[ch]
	* app/gui/gui.c
	* app/gui/info-window.[ch]
	* app/gui/module-browser.[ch]
	* app/gui/palette-editor.c
	* app/gui/palette-import-dialog.[ch]
	* app/gui/paths-dialog.c
	* app/gui/preferences-dialog.[ch]
	* app/gui/resize-dialog.[ch]
	* app/gui/tool-options-dialog.[ch]
	* app/gui/toolbox.c: pass around lots more "Gimp" and
	"GimpContext" pointers and don't use "the_gimp" any more.

	* app/tools/gimptool.h: added a pointer to the corresponding
	GimpToolInfo object (which in turn has a pointer to a Gimp).

	* app/tools/tool_manager.[ch]: set the pointer after creating the
	tool object. Removed tool_manager_get_info_by_tool() as there is a
	tool->tool_info pointer now.

	* app/tools/gimpbezierselecttool.c
	* app/tools/gimpblendtool.c
	* app/tools/gimpbrightnesscontrasttool.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/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/gimppainttool.c
	* app/tools/gimppathtool.c
	* app/tools/gimpperspectivetool.c
	* app/tools/gimpposterizetool.c
	* app/tools/gimprectselecttool.c
	* app/tools/gimprotatetool.c
	* app/tools/gimpscaletool.c
	* app/tools/gimpsheartool.c
	* app/tools/gimptexttool.c
	* app/tools/gimpthresholdtool.c
	* app/tools/path_tool.c
	* app/tools/xinput_airbrush.c: s/GDisplay/GimpDisplay/g.
	Use tool->tool_info and tool_info->gimp in some places to get
	rid of using "the_gimp".

	Removing the remaining ones involves changing the tool options
	system and is scheduled next...

	* app/widgets/gimpdnd.c
	* app/widgets/gimpdocumentview.c: pass a "Gimp" pointer to all
	file_open_*() functions.

	* app/gdisplay_color.[ch]
	* app/gdisplay_color_ui.[ch]
	* app/image_map.[ch]
	* app/nav_window.[ch]
	* app/path.c
	* app/path_bezier.c
	* app/path_transform.h
	* app/qmask.[ch]: s/GDisplay/GimpDisplay/g

	* tools/pdbgen/pdb/fileops.pdb: load_procs and save_procs are
	members of the "Gimp" object now.

	* tools/pdbgen/pdb/plug_in.pdb: use gimp->no_interface, don't
	include "appenv.h".

	* app/pdb/fileops_cmds.c
	* app/pdb/plug_in_cmds.c: regenerated.
2001-10-29 11:47:11 +00:00
Michael Natterer 8b5b8df82d generate app/file/Makefile
2001-10-25  Michael Natterer  <mitch@gimp.org>

	* configure.in: generate app/file/Makefile

	* app/Makefile.am
	* app/file-open.[ch]
	* app/file-save.[ch]
	* app/file-utils.[ch]: removed...

	* app/file/Makefile.am
	* app/file/file-open.[ch]
	* app/file/file-save.[ch]
	* app/file/file-utils.[ch]: ...and added here.

	* app/gui/file-commands.c
	* app/gui/file-open-dialog.c
	* app/gui/file-save-dialog.c
	* tools/pdbgen/pdb/fileops.pdb: changed includes accordingly.

	* app/app_procs.[ch]: removed app_exit_finish() and
	app_exit_finish_done() from the public API, call gtk_main() here,
	pass "no_data" to gimp_new() and "restore_session" to
	gui_restore().

	* app/main.c: removed global variable "double_speed", don't
	call gtk_main() in main.c. Added some missing log domains.

	* app/appenv.h: removed "double_speed".

	* app/core/gimp.[ch]: added "gboolean no_data" property which
	must be passed to gimp_new().

	* app/display/gimpdisplay-foreach.[ch]: added gdisplays_set_busy()
	and gdisplays_unset_busy().

	* app/gui/about-dialog.c: don't include "appenv.h", declare
	"double_speed" extern.

	* app/gui/brush-select.[ch]
	* app/gui/gradient-select.[ch]
	* app/gui/palette-select.[ch]
	* app/gui/pattern-select.[ch]: made the list of dialogs and the
	global selection dialogs private. Added functions which get a
	dialog by PDB callback_name. Pass a "Gimp" and the callback_name
	to the constructors. Don't include "app_procs.h" for "the_gimp"
	and "appenv.h" for "no_data" any more. Use the passed "Gimp"
	instead and look at gimp->no_data.

	* app/gui/toolbox.[ch]: pass a "Gimp" to the constructor.

	* app/gui/gui.[ch]: use the new gdisplays_[un]set_busy() functions,
	use the passed "Gimp" all over the place, don't include
	"appenv.h" and "app_procs.h". gui_really_quit_dialog() takes
	a "quit_func" callback now and calls it instead of calling
	app_exit_finish() (which is now private) directly.

	* app/gui/convert-dialog.c
	* app/gui/dialogs-constructors.c
	* app/gui/palette-import-dialog.c
	* tools/pdbgen/pdb/brush_select.pdb
	* tools/pdbgen/pdb/gradient_select.pdb
	* tools/pdbgen/pdb/pattern_select.pdb: changed accordingly.

	* app/pdb/brush_select_cmds.c
	* app/pdb/fileops_cmds.c
	* app/pdb/gradient_select_cmds.c
	* app/pdb/pattern_select_cmds.c: regenerated.

2001-10-25  Michael Natterer  <mitch@gimp.org>

	* POTFILES.in: app/file-*.c -> app/file/file-*.c
2001-10-25 13:30:01 +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 be86df2a69 app/Makefile.am removed.
2001-10-18  Michael Natterer  <mitch@gimp.org>

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

	* app/core/Makefile.am
	* app/core/core-types.h
	* app/core/gimpmoduleinfo.[ch]
	* app/core/gimpmodules.[ch]: new files containing the module info
	object and the module list handling code.

	* app/gui/Makefile.am
	* app/gui/module-browser.[ch]: new files containing the GUI.

	* app/xcf/xcf.[ch]: pass a "Gimp" pointer to xcf_exit().

	* app/core/gimp.[ch]: handle modules and xcf init/exit here too.

	* app/app_procs.c: don't touch the modules and xcf stuff any more.

	* app/gui/dialogs-constructors.c: changed accordingly.

2001-10-18  Michael Natterer  <mitch@gimp.org>

	* POTFILES.in: module_db.c has moved.
2001-10-18 17:27:36 +00:00
Michael Natterer 31f690cf24 added properties for "children_type" and "policy". Ref/unref the
2001-10-18  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpcontainer.[ch]: added properties for "children_type"
	and "policy". Ref/unref the "children_type" class so we can do
	signal lookups and use other introspection features without an
	existing instance of "children_type".

	The new properties are G_PARAM_CONSTRUCT_ONLY and *MUST* be passed
	to g_object_new() to ref/unref children_type's class correctly.

	* app/core/gimpdatalist.c
	* app/core/gimplist.c: pass them as construct properties.

	* app/core/gimp.c: no need to manually ref classes any more.
2001-10-18 12:43:31 +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 e2daae315b an evil temp_hack which lets GimpContext managing the active display
2001-08-14  Michael Natterer  <mitch@gimp.org>

	* app/gdisplay.h: an evil temp_hack which lets GimpContext managing
	the active display withoug including "gdisplay.h". Will go away as
	soon ad context properties are registered dynamically.

	* app/module_db.c: cleaned up the object code in preparation of
	moving it to core/.

	* app/path.c: connect to GimpImage's

	* app/core/gimpobject.[ch]: derive it from GObject, not from
	GtkObject any more (yeah :-)

	* app/core/*.c: #include <glib-object.h> instead of <gtk/gtk.h>,
	removed some remaining GtkObject-isms.

	(left in a few #include <gtk/gtk.h> where bigger changes are needed
	to get rid of the UI dependency).

	* app/core/core-types.h: #include <gdk-pixbuf/gdk-pixbuf.h> here
	temporarily.

	* app/core/gimp.c (gimp_create_display): unref the image after
	creating it's first display.

	* app/core/gimpbrush.[ch]: disabled the parts of the code which
	depend on GimpPaintTool.

	* app/core/gimpbrushgenerated.c
	* app/core/gimpbrushpipe.c: changed accordingly.

	* app/core/gimpcontext.[ch]: evil hack (see above) to manage the
	active display without including "gdisplay.h"

	* app/core/gimpimage-mask.[ch]: pass a context to
	gimage_mask_stroke() and get the current tool's PDB string from
	there.

	* app/core/gimpedit.c: changed accordingly.

	* app/core/gimpimage.c: use gimp_image_update() instead of
	gdisplays_update_full().

	* app/gui/color-area.c
	* app/gui/colormap-dialog.c
	* app/gui/dialogs-constructors.c
	* app/gui/edit-commands.c
	* app/gui/image-commands.c
	* app/gui/toolbox.c: changed accordingly (don't use Gtk methods on
	GObjects).

	* app/gui/menus.c: fix some const warnings by explicit casting.

	* app/tools/*.[ch]: ported all tools to GObject, some minor
	cleanup while i was on it.

	* app/widgets/gimpdialogfactory.[ch]: ported to GObject.

	* app/widgets/gimplayerlistview.h: added FOO_GET_CLASS() macro.

	* tools/pdbgen/app.pl: added a "widgets_eek" hack like "tools_eek"
	which inserts #include "widgets/widgets-types.h" before ordinary
	includes.

	* tools/pdbgen/pdb/brush_select.pdb
	* tools/pdbgen/pdb/edit.pdb
	* app/pdb/brush_select_cmds.c
	* app/pdb/edit_cmds.c: changed according to the stuff above.
2001-08-14 14:53:55 +00:00
Michael Natterer 79faae01b4 Switched to GObject reference counting:
2001-08-12  Michael Natterer  <mitch@gimp.org>

	Switched to GObject reference counting:

	* app/core/gimpcontainer.c: only ref(), not ref()/sink() children
	of strong containers. Reordered gimp_container_remove() so we
	don't need to ref the object while removing it.

	* app/core/gimpcontext.c: misc fixes. Needs to be badly tortured...

	* app/app_procs.c
	* app/gdisplay.c
	* app/gimprc.c
	* app/core/gimp.c
	* app/core/gimpbrush.c
	* app/core/gimpbrushpipe.c
	* app/core/gimpdatafactory.c
	* app/core/gimpdocuments.c
	* app/core/gimpgradient.c
	* app/core/gimpimage.c
	* app/core/gimplayer.c
	* app/core/gimplist.c
	* app/core/gimpobject.c
	* app/core/gimpparasite.c
	* app/core/gimppattern.c
	* app/core/gimpundostack.c
	* app/gui/dialogs.c
	* app/tools/gimpbezierselecttool.c
	* app/tools/gimpfuzzyselecttool.c: changed accordingly: don't
	ref()/sink() any more, unref all (??) objects after adding them to
	strong containers, misc. minor fixes.

	* app/gui/dialogs-constructors.c
	* app/widgets/gimpwidgets.c: use g_object_add_weak_pointer()
	instead of simply crashing because g_object_weak_ref() was used
	with gtk_widget_destroyed, brrr.

	* app/widgets/gimpdnd.c: removed unneeded g_return_if_fail()'s.
2001-08-12 15:39:23 +00:00
Michael Natterer da68142ee9 split "destroy" up in "dispose" and "finalize".
2001-08-11  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp.c: split "destroy" up in "dispose" and "finalize".

	* app/core/gimpcontext.c: objects need to be passed around with
	g_param_spec_object() or bad things will happen.

	* app/gui/channels-commands.c
	* app/gui/edit-commands.c
	* app/gui/file-commands.c
	* app/gui/gui.c
	* app/gui/layers-commands.c
	* app/gui/resize-dialog.c
	* app/gui/select-commands.c
	* app/tools/gimpclonetool.c
	* app/widgets/gimpdatafactoryview.c
	* app/widgets/gimppreview.c: removed many connections to
	"destroy": Connect to "dispose" or use g_object_weak_ref()
	instead.
2001-08-11 21:10:44 +00:00
Michael Natterer 357f463d59 added a TODO entry about additional image/file info.
2001-08-11  Michael Natterer  <mitch@gimp.org>

	* TODO.xml: added a TODO entry about additional image/file info.

	* app/file-save.c: #include "core/gimpdocuments.h"

	* app/core/gimpcontainer.[ch]: made virtual functions out of some
	signals.

	* app/core/*.[ch]: more GObject stuff: ported all
	gimp_foo_get_type() functions and replaced almost all "destroy"
	implementations with either "finalize" or "dispose" functions.
2001-08-11 14:39:19 +00:00
Michael Natterer 4305c39cf0 app/core/Makefile.am new file implementing the docindex.* replacement.
2001-08-11  Michael Natterer  <mitch@gimp.org>

	* app/core/Makefile.am
	* app/core/gimpdocuments.[ch]: new file implementing the
	docindex.* replacement.

	* app/gimprc.c: added TT_XDOCUMENT to parse the new document
	history.

	* app/file-save.c
	* app/gui/file-open-dialog.c: add opened & saved images to the
	document history.

	* app/core/gimp.c: call gimp_documents_init/exit() instead of
	doing it here.

	* app/core/gimpimagefile.[ch]: removed the "filename" attribute
	and use GimpObject's "name" instead.

	* app/gui/dialogs-constructors.[ch]
	* app/gui/dialogs.c
	* app/gui/menus.c: added a menu entry/dockable for the document
	history.

	* app/widgets/gimpdnd.[ch]: make it DND-able.

	* app/widgets/gimppreview.c: fix  preview rendering correctly this
	itme.
2001-08-11 07:47:35 +00:00
Michael Natterer 2353c5d3e7 fix compiler warning.
2001-08-10  Michael Natterer  <mitch@convergence.de>

	* app/nav_window.c: fix compiler warning.

	* app/core/gimp.[ch]: added gimp->documents which will be an MRU
	list of GimpImagefile objects.

	* app/core/gimpcontainer.c: added some g_return_if_fail().

	* app/gui/palette-editor.c: use GtkImage instead of GtkPixmap,
	s/gtk_signal_*/g_signal_*/.

	* app/widgets/gimppreview.c: render the checkerboard only for
	channel == -1. In particular, don't render it for channel
	previews.

	* app/module_db.c
	* app/core/*.c
	* app/gui/colormap-dialog.c
	* app/tools/gimpairbrushtool.c
	* app/tools/gimpdodgeburntool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimperasertool.c
	* app/tools/gimppaintbrushtool.c
	* app/tools/gimppenciltool.c
	* app/tools/gimpsmudgetool.c
	* app/tools/tool_manager.c
	* app/widgets/*.c
	* libgimpwidgets/*.c: s/gtk_type_new/g_object_new/
2001-08-10 14:41:39 +00:00
Michael Natterer 8d9931f719 code formating paranoia.
2001-07-29  Michael Natterer  <mitch@gimp.org>

	* app/gimphelp.c: code formating paranoia.

	* app/core/gimp.c: one more g_signal_connect().

	* app/tools/gimpmeasuretool.c: a gtk_widget_show() was optimized
	away :)

	* plug-ins/Makefile.am: re-enabled script-fu and dbbrowser.

	* plug-ins/dbbrowser/dbbrowser_utils.[ch]
	* plug-ins/script-fu/script-fu-console.[ch]
	* plug-ins/script-fu/script-fu-scripts.c
	* plug-ins/script-fu/script-fu-text-console.[ch]
	* plug-ins/script-fu/script-fu.c: use GtkTextBuffer/GtkTextView
	all over the place. GUI code cleanup in the dbbrowser and
	the script-fu console.
2001-07-30 00:46:09 +00:00
Sven Neumann 2671ae157e defined convenience macro g_signal_handlers_disconnect_by_data(). Will try
2001-07-27  Sven Neumann  <sven@gimp.org>

	* app/core/core-types.h:
	defined convenience macro g_signal_handlers_disconnect_by_data().
	Will try to persuade Tim to accept it for GLib.

	* app/module_db.c
	* app/undo_history.c
	* app/core/gimp.c
	* app/core/gimpbrush.c
	* app/core/gimpbrushpipe.c
	* app/core/gimpcontainer.c
	* app/core/gimpcontext.c
	* app/core/gimpdatafactory.c
	* app/core/gimpparasite.c
	* app/gui/brush-editor.c
	* app/gui/brush-select.c
	* app/gui/dialogs.c
	* app/gui/file-open-dialog.c
	* app/gui/gradient-select.c
	* app/gui/gradients-commands.c
	* app/gui/menus.c
	* app/gui/pattern-select.c: GObject porting.
	Replaced all gtk_object_[unref|ref] calls by their g_object_
	counterparts, expect refs that are used with gtk_object_sink().
2001-07-27 19:41:54 +00:00
Michael Natterer 06b16890ba Port to glib/gtk+ 2.0 episode I (every segfault has it's beginning)
2001-07-24  Michael Natterer  <mitch@gimp.org>

	Port to glib/gtk+ 2.0 episode I (every segfault has it's beginning)

	* configure.in: require glib/gtk+ >= 1.3.7, commented out the
	gtkxmhtml stuff.

	From now on, you will need glib, pango, atk and gtk+ HEAD from CVS
	to hack or use GIMP HEAD.

	Beware, it crashes randomly :)

	* app/core/Makefile.am
	* app/core/gimpmarshal.list: new file plus rules to generate
	gimpmarshal.[ch] from it.

	* app/core/*
	* app/tools/*
	* app/widgets/*
	* libgimpwidgets/*: started to use the glib object system. All
	core/ objects are still gtk objects however. All signals are
	created using g_signal_new(). There are many gtk+ artefacts left.
	Finally, we will _not_ use the gtk_signal_foo() wrappers and
	friends any more.

	* app/colormaps.c
	* app/devices.[ch]
	* app/disp_callbacks.c
	* app/errorconsole.c
	* app/file-save.[ch]
	* app/interface.c
	* app/module_db.c
	* app/nav_window.c
	* app/ops_buttons.c
	* app/scroll.c
	* app/user_install.c
	* app/gui/about-dialog.c
	* app/gui/brush-editor.c
	* app/gui/brushes-commands.c
	* app/gui/color-notebook.c
	* app/gui/colormap-dialog.c
	* app/gui/dialogs-commands.c
	* app/gui/dialogs-constructors.c
	* app/gui/file-commands.c
	* app/gui/file-dialog-utils.c
	* app/gui/file-new-dialog.c
	* app/gui/file-open-dialog.[ch]
	* app/gui/file-save-dialog.c
	* app/gui/gradient-editor.c
	* app/gui/gradients-commands.c
	* app/gui/image-commands.c
	* app/gui/info-dialog.[ch]
	* app/gui/layer-select.c
	* app/gui/layers-commands.c
	* app/gui/menus.c
	* app/gui/offset-dialog.c
	* app/gui/palette-editor.c
	* app/gui/palettes-commands.c
	* app/gui/patterns-commands.c
	* app/gui/preferences-dialog.c
	* app/gui/resize-dialog.[ch]
	* app/gui/splash.c
	* app/gui/tips-dialog.c
	* app/gui/tool-options-dialog.c
	* app/gui/toolbox.c
	* app/gui/tools-commands.c
	* libgimp/gimpbrushmenu.c
	* libgimp/gimpmenu.c
	* libgimp/gimppatternmenu.c
	* libgimp/gimpui.c
	* libgimpbase/gimpenv.c: tons and tons of changes like "const
	gchar*", switch from GdkDeviceInfo to GdkDevice (very incomplete
	and currently disables), lots of s/gtk_signal/g_signal/,
	removal/replacement of deprecated stuff,
	s/GtkSignalFunc/GCallback/ and lots of small changes and fixes
	while I was on it, zillions of warnings left...

	* modules/Makefile.am: disabled the water color selector
	temporarily (XInput issues).

	* plug-ins/Makefile.am
	* plug-ins/common/.cvsignore
	* plug-ins/common/Makefile.am
	* plug-ins/common/plugin-defs.pl: simply excluded all plug-ins
	which did not build (including Script-Fu). They are trivial to
	fix.
2001-07-24 21:27:11 +00:00
Hans Breuer 5469bc4bac updated
2001-07-22  Hans Breuer  <hans@breuer.org>

	* app/*/makefile.msc :
	* plug-ins/makefile.msc	:
	* libgimp/gimp.def :
	* libgimpwidgets/gimpwidgets.def : updated

	* makefile.msc :
	* app/xcf/makefile.msc :
	* regexrepl/makefile.msc : new files

	* app/base/base-config.c : a work-around for a gccism with
	structure initialization

	* app/core/gimp.c :
	* app/core/gimpimage-new.c :
	* app/gui/color-area.c
	* app/widgets/gimpdialogfactory.c
	* app/xcf/xcf-load.c
	* app/xcf/xcf-save.c
	* app/xcf/xcf-write.c
	* plug-ins/common/plasma.c :
	* plug-ins/flame/libifs.c : added <string.h> for strlen(), strcpy(),
	memcpy(), memcmp() and friends

	* plug-ins/imagemap/imap_rectangle.c :
	* plug-ins/ifscompose/ifscompose_storage.c : added <stdlib.h> for abs()

	* plug-ins/common/spheredesigner.c : reflect renaming of drawable.id
	drawable.drawable_id

	* plug-ins/script-fu/siod-wrapper.c : <string.h> and conditional use
	of script_fu_server_quit () cause there is not yet script-fu server
	on win32.
2001-07-22 22:18:01 +00:00
Michael Natterer b280b493c7 don't use the global "the_gimp" variable.
2001-07-15  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp.c: don't use the global "the_gimp" variable.

	* app/core/gimpimage-convert.c: don't update the display here.

	* app/gui/gui.c: connect to the images' "mode_changed" signal
	and update here.

	* app/gui/brush-editor.[ch]
	* app/gui/gradient-editor.[ch]
	* app/gui/palette-editor.[ch]: pass a "Gimp" pointer to all
	editors. Added an palette_name entry to the palette editor.

	* app/gui/colormap-dialog.[ch]: removed all the dialog stuff and
	made the constructor return a vbox so it can be integrated in a
	dockable. Lots of cleanup and removal of anqiuqe aretfacts.

	* app/gui/dialogs-constructors.[ch]: wrap the colormap dialog in
	a dockable.

	* app/gui/dialogs-commands.[ch]
	* app/gui/dialogs.c
	* app/gui/menus.c: integrate the new dockable, made the "Brushes.."
	etc. menu entries create dockbles. Moved the old dialogs and the
	test menu entries to "Old + Testing" and removed N_() so the .po
	files stay cruft-free.

	* app/gui/test-commands.[ch]: removed lots of stuff which is not
	"testing" any more.
2001-07-15 14:32:44 +00:00
Michael Natterer 166714985c app/Makefile.am app/gimpunit.c removed...
2001-07-11  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/gimpunit.c
	* app/unitrc.h: removed...

	* app/core/Makefile.am
	* app/core/gimpunit.[ch]: ...re-added here.

	* app/core/gimp.[ch]: added the image and drawable hash tables,
	next_image_ID, next_guide_ID and next_drawable_ID, added a
	GimpCoreConfig pointer which is now initalized dynamically.

	* app/core/gimpcoreconfig.[ch]: don't provide a global core_config
	variable any more (need to access gimp->config now).

	* app/gdisplay.[ch]
	* app/core/gimpdrawable.[ch]
	* app/core/gimpimage.[ch]: removed all global variables from
	gimpimage.c and gimpdrawable.c, pass a Gimp* to all *_get_by_ID()
	functions.

	* tools/pdbgen/app.pl: pass Gimp* to all _get_by_ID() functions.

	* app/app_procs.c
	* app/file-open.c
	* app/file-save.c
	* app/gimprc.c
	* app/libgimp_glue.c
	* app/module_db.c
	* app/plug_in.c
	* app/undo.c
	* app/user_install.c
	* app/core/core-types.h
	* app/core/gimpcontext.c
	* app/core/gimpimage-crop.c
	* app/core/gimpimage-new.c
	* app/core/gimpparasite.c
	* app/gui/file-new-dialog.c
	* app/gui/file-open-dialog.c
	* app/gui/info-window.c
	* app/gui/preferences-dialog.c
	* app/gui/resize-dialog.c
	* app/xcf/xcf-load.c
	* app/xcf/xcf-save.c
	* app/xcf/xcf.c
	* app/widgets/gimpdnd.c

	* app/pdb/channel_cmds.c
	* app/pdb/color_cmds.c
	* app/pdb/convert_cmds.c
	* app/pdb/display_cmds.c
	* app/pdb/drawable_cmds.c
	* app/pdb/edit_cmds.c
	* app/pdb/fileops_cmds.c
	* app/pdb/floating_sel_cmds.c
	* app/pdb/guides_cmds.c
	* app/pdb/image_cmds.c
	* app/pdb/layer_cmds.c
	* app/pdb/parasite_cmds.c
	* app/pdb/paths_cmds.c
	* app/pdb/selection_cmds.c
	* app/pdb/text_tool_cmds.c
	* app/pdb/tools_cmds.c
	* app/pdb/undo_cmds.c
	* app/pdb/unit_cmds.c

	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/unit.pdb: changed accordingly.
2001-07-11 12:39:49 +00:00
Michael Natterer 9d87e554de removed the gimp_busy boolean, check whether user_installation is needed
2001-07-10  Michael Natterer  <mitch@gimp.org>

	* app/app_procs.[ch]: removed the gimp_busy boolean, check whether
	user_installation is needed here, not in user_install.c, parse
	gtkrc an friends only if(!no_interface), create the Gimp object
	before parsing gimp's rc files an pas it to the parse functions,
	many other cleanups.

	* app/appenums.h: added MessageHandlerType and StackTraceMode.

	* app/appenv.h: removed MessageHandlerType, declare all global
	variables from main.c (no more hidden global stuff please).

	* app/errors.[ch]: added the fatal message func here (from main.c),
	removed the StackTraceMode enum.

	* app/gimprc.[ch]: renamed functions to gimprc_*(), pass a Gimp
	pointer to some functions.

	* app/gimpunit.c
	* app/unitrc.h: ok, this is ugly: renamed all functions to
	_gimp_unit_*() and made them public. The unit list is part
	of the Gimp object now, so pass a Gimp* to all functions.

	* app/libgimp_glue.[ch]: added EEKy wrappers for all gimp_unit_*()
	functions which are used by widgets.

	* app/main.c: cleaned up the global variables, removed the fatal
	message handler, call app_init() directly, not via the
	user_install stuff, misc. cleanups.

	* app/user_install.[ch]: removed the check if user_installation is
	needed (done by app_procs.c now).

	* app/core/gimp.[ch]: added the user_unit list and the "busy"
	boolean. Moved gimp_[set|unset]_busy() here. Added
	gimp_initialize() which is called after unitrc and gimprc are
	parsed.

	* app/batch.c
	* app/colormaps.c
	* app/devices.c
	* app/disp_callbacks.c
	* app/gdisplay_ops.c
	* app/gimphelp.c
	* app/module_db.c
	* app/nav_window.c
	* app/plug_in.c
	* app/core/gimpcontext.c
	* app/core/gimpdatafiles.c
	* app/core/gimpimage-convert.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage.c
	* app/core/gimpparasite.c
	* app/core/gimpparasitelist.h
	* app/gui/file-open-dialog.c
	* app/gui/gui.[ch]
	* app/gui/info-dialog.c
	* app/gui/info-window.c
	* app/gui/preferences-dialog.c
	* app/gui/session.c
	* app/gui/tips-dialog.c
	* app/gui/toolbox.c
	* app/tools/gimpblendtool.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimptransformtool.c
	* app/tools/tool_manager.c
	* app/widgets/gimpcolorpanel.c
	* app/widgets/gimpcursor.c
	* app/xcf/xcf-load.c
	* app/xcf/xcf-save.c
	* app/xcf/xcf.c
	* tools/pdbgen/Makefile.am
	* tools/pdbgen/app.pl
	* tools/pdbgen/enums.pl
	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/message.pdb
	* tools/pdbgen/pdb/unit.pdb
	* app/pdb/image_cmds.c
	* app/pdb/message_cmds.c
	* app/pdb/unit_cmds.c: changed accordingly, minor cleanups.
2001-07-10 19:16:16 +00:00
Michael Natterer d7fde9e68d app/Makefile.am app/datafiles.[ch] app/gimpparasite.[ch] removed...
2001-07-09  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/datafiles.[ch]
	* app/gimpparasite.[ch]
	* app/parasitelist.[ch]: removed...

	* app/core/Makefile.am
	* app/core/gimpdatafiles.[ch]
	* app/core/gimpparasite.[ch]
	* app/core/gimpparasitelist.[ch]: ...and added here.

	* app/gimprc.c
	* app/module_db.c
	* app/plug_in.c
	* app/undo.c
	* app/core/gimp.c
	* app/core/gimpchannel.c
	* app/core/gimpdatafactory.c
	* app/core/gimpdrawable.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage.c
	* app/core/gimplayer.c
	* app/xcf/xcf-load.c
	* app/xcf/xcf-save.c
	* tools/pdbgen/pdb/parasite.pdb
	* app/pdb/parasite_cmds.c: changed #include's accordingly.
2001-07-09 19:48:30 +00:00
Michael Natterer b54b5ed6a0 added a (commented out) function to open files (to get rid of including
2001-07-09  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp.[ch]: added a (commented out) function to open
	files (to get rid of including gui/file-open-dialog.h)

	* app/gui/file-open-dialog.[ch]
	* app/gui/file-save-dialog.[ch]: renamed all functions because they
	are no callbacks any more. Removed the _by_extension() callbacks.

	* app/gui/file-commands.[ch]: added the
	file_[open|save]_by_extension() callbaks here along with some
	other stuff which has nothing to do with the file dialogs.

	* app/gui/menus.c: added a helper function to create an item
	factory, cleanup.

	* app/gui/palette-editor.[ch]: contains only the editor for a
	single palette now (removed the notebook and the palette list).
	Renamed all functions to palette_editor_*(). Will be made a
	dockable later.

	* app/gui/palette-select.[ch]: made it work like the other
	selection dialogs.

	* app/app_procs.c
	* app/docindex.c
	* app/gui/dialogs-constructors.[ch]
	* app/gui/dialogs.c
	* app/gui/gradient-select.c
	* app/gui/gui.c
	* app/widgets/gimpdnd.c: changed accordingly.
2001-07-09 17:58:56 +00:00
Michael Natterer 3196563c14 app/Makefile.am removed.
2001-07-07  Michael Natterer  <mitch@gimp.org>

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

	* app/core/gimp.c: s/gimage_new/gimp_image_new/

	* app/gui/gui.c
	* app/tools/tool_manager.c: added the handlers from gimage.c
2001-07-07 18:16:18 +00:00
Michael Natterer 1bcd3e1834 app/Makefile.am removed.
2001-07-07  Michael Natterer  <mitch@gimp.org>

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

	* app/app_procs.c: call tool_mananger instead of context_manager
	functions, pass "the_gimp" to some more functions.

	* app/drawable.[ch]: pass a GimpContext to drawable_fill().

	* app/errors.c: behave according to "stack_trace_mode" when using
	the debugging signal handler.

	* app/gimprc.[ch]: removed the core/ config variables.

	* app/selection.c: set the selection's state to INVISIBLE in
	selection_pause().

	* app/core/Makefile.am
	* app/core/gimpcoreconfig.[ch]: new files (the configuration
	variables used by core/).

	* app/core/gimpcontext.[ch]: removed the global contexts (user,
	default, ...) and their functions. It's no longer possible to pass
	NULL to the context functions to manipulate the current context
	(gimpcontext.c doesn't know the current context any more).

	* app/core/gimp.[ch]: added them here. The functions are now called
	gimp_[set|get]_*_context(). Added gimp_create_context() which is
	the only function to create contexts now.

	* app/gui/dialogs.[ch]
	* app/gui/gui.[ch]: pass "gimp" to all functions.

	* app/tools/tool_manager.[ch]
	* app/tools/tools.[ch]: pass "gimp" to lots of functions. Added
	the "global_tool_context" logic and the global/non-global paint
	options switching from the context_manager. Pass "gimp" to all
	tools' "register" functions.

	* app/tools/*: changed accordingly.

	* app/devices.c
	* app/disp_callbacks.c
	* app/file-open.[ch]
	* app/file-save.c
	* app/gdisplay.c
	* app/gimage.c
	* app/libgimp_glue.c
	* app/module_db.c
	* app/nav_window.c
	* app/plug_in.c
	* app/qmask.c
	* app/undo.c
	* app/base/base-config.c
	* app/core/gimpbrushpipe.c
	* app/core/gimpdrawable-offset.c
	* app/core/gimpgradient.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-mask.c
	* app/core/gimpimage-new.c
	* app/core/gimpimage.c
	* app/core/gimppalette.c
	* app/core/gimptoolinfo.[ch]
	* app/core/gimpundo.c
	* app/gui/brush-select.c
	* app/gui/channels-commands.c
	* app/gui/color-area.c
	* app/gui/dialogs-constructors.c
	* app/gui/file-new-dialog.c
	* app/gui/file-open-dialog.c
	* app/gui/gradient-editor.c
	* app/gui/gradient-select.c
	* app/gui/info-window.c
	* app/gui/layers-commands.c
	* app/gui/menus.c
	* app/gui/palette-editor.c
	* app/gui/palette-import-dialog.c
	* app/gui/palette-select.c
	* app/gui/paths-dialog.c
	* app/gui/pattern-select.c
	* app/gui/preferences-dialog.c
	* app/gui/resize-dialog.c
	* app/gui/test-commands.c
	* app/gui/tool-options-dialog.c
	* app/gui/toolbox.c
	* app/gui/tools-commands.c
	* app/xcf/xcf-load.c
	* app/xcf/xcf-save.c
	* app/widgets/gimpchannellistview.c
	* app/widgets/gimpdnd.c
	* app/widgets/gimpdrawablelistview.[ch]
	* app/widgets/gimpimagedock.c
	* app/widgets/gimplayerlistview.c
	* app/pdb/brushes_cmds.c
	* app/pdb/drawable_cmds.c
	* app/pdb/gradient_select_cmds.c
	* app/pdb/gradients_cmds.c
	* app/pdb/palette_cmds.c
	* app/pdb/patterns_cmds.c
	* app/pdb/procedural_db.c
	* tools/pdbgen/pdb/brushes.pdb
	* tools/pdbgen/pdb/drawable.pdb
	* tools/pdbgen/pdb/gradient_select.pdb
	* tools/pdbgen/pdb/gradients.pdb
	* tools/pdbgen/pdb/palette.pdb
	* tools/pdbgen/pdb/patterns.pdb: changed accordingly: remove usage
	of gimp_context_[get|set]_*(NULL), create contexts with
	gimp_create_context(). Get the user/current context with
	gimp_get_[user|current]_context(). Added/removed access to the
	global "the_gimp" variable in some places. Get the core's config
	variables from "core_config".
2001-07-07 12:17:23 +00:00
Michael Natterer a84d697b93 don't add the image to the image container, don't call undo_free().
2001-07-05  Michael Natterer  <mitch@gimp.org>

	* app/gimage.c: don't add the image to the image container,
	don't call undo_free().

	* app/core/gimp.[ch]: add new images to gimp->images, optionally
	attach the comment parasite.

	* app/core/gimpedit.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-new.c
	* app/gui/file-open-dialog.c
	* app/gui/toolbox.c
	* tools/pdbgen/pdb/image.pdb
	* app/pdb/image_cmds.c
	* app/xcf/xcf-load.c: call gimp_create_image() and/or
	gimp_create_display(), don't attach a comment parasite.

	* app/core/gimpimage.c: call undo_free() in "destroy".

	* app/file-open.c
	* app/gui/palette-import-dialog.c
	* app/xcf/xcf-save.c: don't #include "gimage.h"
2001-07-05 16:21:36 +00:00
Michael Natterer a0014f7e8e app/Makefile.am removed...
2001-07-05  Michael Natterer  <mitch@gimp.org>

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


	* app/core/Makefile.am
	* app/core/core-types.h
	* app/core/gimpimage-new.[ch]: ...and (partly) added here.

	* app/core/gimp.[ch]: added gimp_create_image() which will be the
	_only_ place to get new images from soon.
	Added  a "create_display_func" function pointer...

	* app/gui/gui.[ch]: ...which gets initialized here.

	This way the core can create displays without depending on the
	interface.

	* app/app_procs.c
	* app/apptypes.h
	* app/core/gimpedit.c
	* app/gui/file-commands.c
	* app/gui/file-new-dialog.[ch]: changed accordingly.
2001-07-05 15:34:26 +00:00
Michael Natterer f7c69b072b renamed gimp_initialize() to gimp_restore() because it loads all kinds of
2001-07-05  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp.[ch]: renamed gimp_initialize() to gimp_restore()
	because it loads all kinds of data. Added gimp_shutdown() to save
	the data. Added the global parasite list.

	* app/apptypes.h: removed ParasiteList.

	* app/core/core-types.h: added GimpParasiteList.

	* app/gimpparasite.[ch]: removed the global parasite list.

	* app/parasitelist.[ch]: s/ParasiteList/GimpParasiteList/
	s/parasite_list_*/gimp_patasite_list_*/

	* app/widgets/gimpdatafactoryview.c: don't save the data in
	gimp_data-factory_data_free().

	* app/app_procs.c
	* app/gimprc.c
	* app/undo.c
	* app/core/gimpchannel.c
	* app/core/gimpdatafactory.c
	* app/core/gimpdrawable.[ch]
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage.[ch]
	* app/core/gimplayer.c
	* app/pdb/brushes_cmds.c
	* app/pdb/parasite_cmds.c
	* app/xcf/xcf-save.c
	* tools/pdbgen/pdb/brushes.pdb
	* tools/pdbgen/pdb/parasite.pdb: changed accordingly.
2001-07-04 22:59:25 +00:00
Michael Natterer 0164596064 app/core/Makefile.am app/core/core-types.h added an "application object"
2001-07-04  Michael Natterer  <mitch@gimp.org>

	* app/core/Makefile.am
	* app/core/core-types.h
	* app/core/gimp.[ch]: added an "application object" called Gimp.

	Currently, it contains the image list, the clipboard, the data
	factories, the procedural hashtable and the tool info list.  It's
	the toplevel object of the core object system. Finally, creating a
	Gimp object will return a standalone gimp core engine instance
	with no other global states/variables involved.

	* app/app_procs.[ch]: allocate a "Gimp" instance called "the_gimp" :)
	Removed stuff which is now done by the "Gimp" object. Merged
	gimp_init() into app_init() because gimp_init() is taken now.

	* app/context_manager.[ch]: removed stuff done by "Gimp".

	* app/batch.[ch]
	* app/gimage.[ch]
	* app/xcf/xcf-load.[ch]
	* app/xcf/xcf.[ch]
	* app/core/gimpedit.[ch]
	* app/tools/tool_manager.[ch]: pass around an additional "Gimp"
	argument.

	* app/pdb/procedural_db.[ch]: pass a "Gimp" pointer as first
	parameter to all internal procedures and to all procedural_db_*
	functions.

	* app/core/gimpcontext.[ch]
	* app/core/gimpimage.[ch]: added a "Gimp" pointer to the structs.

	* app/devices.c
	* app/errors.c
	* app/file-open.c
	* app/file-save.c
	* app/gimphelp.c
	* app/gimpunit.c
	* app/image_new.c
	* app/main.c
	* app/nav_window.c
	* app/plug_in.c
	* app/base/base.c
	* app/core/gimpdatafactory.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-mask.c
	* app/core/gimptoolinfo.[ch]
	* app/gui/brush-select.c
	* app/gui/convert-dialog.c
	* app/gui/dialogs-constructors.c
	* app/gui/edit-commands.c
	* app/gui/file-open-dialog.c
	* app/gui/file-save-dialog.c
	* app/gui/gradient-editor.c
	* app/gui/gradient-select.c
	* app/gui/gui.c
	* app/gui/image-commands.c
	* app/gui/info-window.c
	* app/gui/menus.c
	* app/gui/palette-editor.c
	* app/gui/palette-import-dialog.c
	* app/gui/palette-select.c
	* app/gui/paths-dialog.c
	* app/gui/pattern-select.c
	* app/gui/preferences-dialog.c
	* app/gui/test-commands.c
	* app/gui/toolbox.c
	* app/gui/tools-commands.c
	* app/tools/gimpbezierselecttool.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimppainttool.h
	* app/tools/gimptexttool.c
	* app/tools/gimptransformtool.h
	* app/widgets/gimpbufferview.c
	* app/widgets/gimpcontainerview-utils.c
	* app/widgets/gimpcursor.c
	* app/widgets/gimpdnd.c
	* app/widgets/gimpimagedock.c: changed accordingly. Cleaned up
	lots of includes. Many files still access the global "the_gimp"
	variable exported by app_procs.h.

	* tools/pdbgen/app.pl
	* tools/pdbgen/pdb/brush_select.pdb
	* tools/pdbgen/pdb/brushes.pdb
	* tools/pdbgen/pdb/convert.pdb
	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/fileops.pdb
	* tools/pdbgen/pdb/gradient_select.pdb
	* tools/pdbgen/pdb/gradients.pdb
	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/palette.pdb
	* tools/pdbgen/pdb/pattern_select.pdb
	* tools/pdbgen/pdb/patterns.pdb
	* tools/pdbgen/pdb/procedural_db.pdb: changed accordingly. Don't
	use "the_gimp" here because all procedures get passed a "Gimp"
	pointer now.

	* app/pdb/*: regenerated.
2001-07-04 19:31:35 +00:00