Commit Graph

83 Commits

Author SHA1 Message Date
Michael Natterer 02d2b990f5 Redid the whole internal progress stuff: don't pass around
2004-08-10  Michael Natterer  <mitch@gimp.org>

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

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

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

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

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

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

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

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

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

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

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

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

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

	* app/pdb/*_cmds.c: regenerated.
2004-08-10 18:47:21 +00:00
Michael Natterer a456ac9bde include "libgimpbase/gimpbase.h" instead of "libgimpbase/gimpparasite.h"
2004-07-16  Michael Natterer  <mitch@gimp.org>

	* tools/pdbgen/pdb.pl: include "libgimpbase/gimpbase.h" instead of
	"libgimpbase/gimpparasite.h" for getting the GimpParasite type.

	* tools/pdbgen/app.pl
	* tools/pdbgen/pdb/drawable.pdb
	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/gradients.pdb
	* tools/pdbgen/pdb/guides.pdb
	* tools/pdbgen/pdb/image.pdb: removed redundant #includes.

	* tools/pdbgen/pdb/plug_in.pdb: standardized "success" logic.
	Consistetly fail if there is no currently queried plugin.

	* app/pdb/*.c: regenerated.
2004-07-16 14:43:56 +00:00
Sven Neumann 2626b09043 applied patch from Philip Lafleur that makes Autocrop register a new
2004-05-29  Sven Neumann  <sven@gimp.org>

	* plug-ins/common/autocrop.c: applied patch from Philip Lafleur
	that makes Autocrop register a new procedure that autocrops a
	single layer as requested in bug #142618.

	* tools/pdbgen/pdb/layer.pdb
	* app/pdb/layer_cmds.c
	* libgimp/gimplayer_pdb.c: fixed documentation for gimp_resize_layer.
	Patch provided by Philip Lafleur (bug #142618).
2004-05-29 11:29:37 +00:00
Michael Natterer 18d9161eea Get rid of the "current_context" which was in fact just a bunch of global
2004-04-15  Michael Natterer  <mitch@gimp.org>

	Get rid of the "current_context" which was in fact just a bunch of
	global variables. Instead, pass the needed context all the way
	from the GUI and the PDB to the core. This is a prerequisite for
	macro recording and generally helps separating the various
	subsystems from each other. Work in progress...

	* app/core/gimp.[ch]: removed member "current_context" and
	gimp_[get|set]_current_context().

	* app/core/gimp-edit.[ch]
	* app/core/gimpdrawable-blend.[ch]
	* app/core/gimpdrawable-bucket-fill.[ch]
	* app/core/gimpdrawable-offset.[ch]
	* app/core/gimpdrawable-transform.[ch]
	* app/core/gimpimage-crop.[ch]
	* app/core/gimpimage-flip.[ch]
	* app/core/gimpimage-merge.[ch]
	* app/core/gimpimage-resize.[ch]
	* app/core/gimpimage-rotate.[ch]
	* app/core/gimpimage.[ch]
	* app/core/gimpimagefile.[ch]
	* app/core/gimpitem-linked.[ch]
	* app/core/gimpitem.[ch]
	* app/core/gimplayer.[ch]
	* app/core/gimpselection.[ch]
	* app/core/gimptemplate.[ch]
	* app/file/file-open.[ch]
	* app/file/file-save.[ch]
	* app/pdb/procedural_db.[ch]
	* app/text/gimptext-compat.[ch]
	* app/text/gimptextlayer-transform.[ch]
	* app/gui/brush-select.[ch]
	* app/gui/font-select.[ch]
	* app/gui/gradient-select.[ch]
	* app/gui/palette-select.[ch]
	* app/gui/pattern-select.[ch]: added tons of "GimpContext *context"
	parameters and use the passed context instead of
	gimp_get_current_context().

	* app/app_procs.c
	* app/batch.c
	* app/core/gimpchannel.c
	* app/core/gimpdrawable.c
	* app/paint/gimperaser.c
	* app/paint/gimppaintbrush.c
	* app/plug-in/plug-in-message.c
	* app/plug-in/plug-ins.c
	* app/text/gimptextlayer.c
	* app/tools/gimpblendtool.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpfliptool.c
	* app/tools/gimpinktool.c
	* app/tools/gimptransformtool.c
	* app/vectors/gimpvectors.c
	* app/gui/convert-dialog.c
	* app/gui/drawable-commands.c
	* app/gui/edit-commands.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/image-commands.c
	* app/gui/layers-commands.c
	* app/gui/offset-dialog.c
	* app/gui/select-commands.c
	* app/gui/vectors-commands.c
	* app/widgets/gimpdnd.c
	* app/widgets/gimpdocumentview.c
	* app/widgets/gimphelp.c
	* app/widgets/gimpthumbbox.c: pass gimp_get_user_context() or
	GIMP_CONTEXT(tool_options) or whatever is the right context
	to the changed core functions.

	* tools/pdbgen/app.pl: pass "GimpContext *context" to all
	generated PDB invokers.

	* tools/pdbgen/pdb/brush_select.pdb
	* tools/pdbgen/pdb/brushes.pdb
	* tools/pdbgen/pdb/drawable.pdb
	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/font_select.pdb
	* tools/pdbgen/pdb/gradient_select.pdb
	* tools/pdbgen/pdb/gradients.pdb
	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/layer.pdb
	* tools/pdbgen/pdb/paint_tools.pdb
	* tools/pdbgen/pdb/palette.pdb
	* tools/pdbgen/pdb/palette_select.pdb
	* tools/pdbgen/pdb/palettes.pdb
	* tools/pdbgen/pdb/paths.pdb
	* tools/pdbgen/pdb/pattern_select.pdb
	* tools/pdbgen/pdb/patterns.pdb
	* tools/pdbgen/pdb/selection.pdb
	* tools/pdbgen/pdb/text_tool.pdb
	* tools/pdbgen/pdb/transform_tools.pdb: pass the new context
	parameter to the changed core functions.

	* app/pdb/*_cmds.c: regenerated.
2004-04-14 23:37:34 +00:00
Michael Natterer 2e61d12ed4 Moved the calls to floating_sel_relax()/rigor() from various places to two
2004-04-13  Michael Natterer  <mitch@gimp.org>

	Moved the calls to floating_sel_relax()/rigor() from various
	places to two single spots in the core where they are actually
	needed. Fixes bug #138356 (which was caused by the projection
	being triggered in the middle of changing the floating selection's
	size or the size of the drawable it is attached to). This commit
	effectively removes floating selection fiddling from the core's
	public API.

	* app/core/gimpdrawable.[ch] (gimp_drawable_has_floating_sel): new
	function which returns TRUE if there is a floating selection
	attached to the drawable.

	* app/core/gimpdrawable.c (gimp_drawable_translate)
	(gimp_drawable_set_tiles_full): if the drawable *has* a floating
	selection, relax/rigor it before/after modifying the drawable.

	* app/core/gimplayer.c (gimp_layer_translate)
	(gimp_layer_set_tiles): if the layer *is* the floating selection,
	relax/rigor it before/after modifying it.

	* app/core/gimpdrawable-transform.c
	* app/core/gimpimage-convert.c
	* app/core/gimpimage-crop.c
	* app/core/gimpimage-flip.c
	* app/core/gimpimage-resize.c
	* app/core/gimpimage-rotate.c
	* app/core/gimpimage-scale.c
	* app/gui/layers-commands.c
	* app/tools/gimpeditselectiontool.c
	* tools/pdbgen/pdb/layer.pdb: removed calls to
	floating_sel_rigor()/relax() all over the place. Also removed
	lots of undo groups which are obsolete now.

	* app/pdb/layer_cmds.c: regenerated.
2004-04-13 13:54:54 +00:00
Michael Natterer 069489fb71 GimpItem undo group cleanup in preparation of fixing bug #138356:
2004-04-13  Michael Natterer  <mitch@gimp.org>

	GimpItem undo group cleanup in preparation of fixing bug #138356:

	* app/core/core-enums.[c]: renamed LAYER_SCALE and LAYER_RESIZE
	undo groups to ITEM_SCALE and ITEM_RESIZE.

	* app/core/gimpitem.[ch]: always push undo groups around
	GimpItem::translate(), scale(), resize(), flip(), rotate() and
	transform(). Added the resp. undo_desc strings to GimpItemClass.

	* app/core/gimpchannel.[ch]
	* app/core/gimpdrawable.[ch]
	* app/core/gimplayer.c: removed all undo groups from
	implementations of the above methods. Removed the undo_desc
	strings which were moved to GimpItemClass.

	* app/core/gimpimage-crop.c
	* app/core/gimpselection.c
	* app/gui/layers-commands.c
	* app/vectors/gimpvectors.c
	* tools/pdbgen/pdb/layer.pdb: changed accordingly.

	* app/pdb/layer_cmds.c: regenerated.
2004-04-13 11:43:27 +00:00
Michael Natterer 77447984cc added "gboolean removed" to the GimpItem struct. Defaults to FALSE. Set it
2004-03-28  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpitem.[ch]: added "gboolean removed" to the GimpItem
	struct. Defaults to FALSE. Set it to TRUE in gimp_item_removed().
	Added public function gimp_item_is_removed().

	* app/core/gimpimage-undo-push.c (undo_pop_layer)
	(undo_pop_layer_mask) (undo_pop_channel) (undo_pop_vectors):
	set it to FALSE manually when re-adding something from the
	undo stack.

	* tools/pdbgen/app.pl
	* tools/pdbgen/pdb.pl: don't allow any operation on items which
	are removed from the image (and exist on the undo stack only).
	Fixes bug #138311.

	* 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/paint_tools_cmds.c
	* app/pdb/parasite_cmds.c
	* app/pdb/selection_cmds.c
	* app/pdb/selection_tools_cmds.c
	* app/pdb/transform_tools_cmds.c: regenerated.
2004-03-28 14:20:57 +00:00
Manish Singh 83cae1617a don't generate code with tabs.
2004-03-26  Manish Singh  <yosh@gimp.org>

        * tools/pdbgen/app.pl: don't generate code with tabs.

        * tools/pdbgen/pdb/procedural_db.pdb: convert tabs to spaces in
        helper function declaration.

        * app/pdb/procedural_db.c: convert tabs to spaces.

        * app/pdb/*.c: regenerated, no code changes, only tabs->spaces.
2004-03-26 16:49:18 +00:00
Manish Singh 5c592d52c1 kill whitespace in blank lines.
2004-03-26  Manish Singh  <yosh@gimp.org>

        * tools/pdbgen/app.pl: kill whitespace in blank lines.

        * app/pdb/*.c: regenerated, no code changes, only whitespace.
2004-03-26 16:38:44 +00:00
Sven Neumann 1359960a56 added progress callback pointers to gimp_item_scale() and its variants.
2004-02-09  Sven Neumann  <sven@gimp.org>

	* app/core/gimpitem.[ch]: added progress callback pointers to
	gimp_item_scale() and its variants.

	* app/core/gimpchannel.c
	* app/core/gimpdrawable.c
	* app/core/gimpimage-scale.c
	* app/core/gimplayer.c
	* app/core/gimpselection.c
	* app/gui/layers-commands.c97999
	* app/paint-funcs/paint-funcs.[ch]
	* app/vectors/gimpvectors.c
	* tools/pdbgen/pdb/layer.pdb: changed accordingly. Fixes bug #97999.

	* app/pdb/layer_cmds.c: regenerated.
2004-02-09 00:09:20 +00:00
Michael Natterer 8237301016 tools/pdbgen/pdb/image.pdb (image_add_layer_mask) don't unref the mask
2003-12-16  Michael Natterer  <mitch@gimp.org>

	* tools/pdbgen/pdb/image.pdb (image_add_layer_mask)
	* tools/pdbgen/pdb/layer.pdb (layer_add_mask): don't unref the
	mask after adding it because the layer now takes ownership using
	g_object_ref()/gimp_item_sink().

	* app/pdb/image_cmds.c
	* app/pdb/layer_cmds.c: regenerated.
2003-12-16 12:39:47 +00:00
Michael Natterer 1cc434fa6e Fixed memory management of layers and channels which were created using
2003-12-09  Michael Natterer  <mitch@gimp.org>

	Fixed memory management of layers and channels which were created
	using the PDB:

	* app/core/gimpitem.[ch]: added "gboolean floating" flag to
	GimpItem. Items are created with floating == TRUE. Added
	gimp_item_sink() which resets the floating flag and unrefs the
	item if it was TRUE.  Added gimp_item_is_floating() accessor.

	* app/core/gimpimage.c (gimp_image_add_layer,channel,vectors):
	g_object_ref()/gimp_item_sink() added items to take ownership of
	them.

	* app/core/gimplayer.c (gimp_layer_add_mask):
	g_object_ref()/gimp_item_sink() the mask.

	* app/gui/layers-commands.c
	* app/xcf/xcf-load.c: don't unref layer masks after adding them to
	the layer.

	* tools/pdbgen/pdb/drawable.pdb (drawable_delete):
	gimp_item_sink() the drawable if it's floating and fail if it's
	not. Fixes bug #128881.

	* tools/pdbgen/pdb/layer.pdb (layer_create_mask): fixed docs.

	* app/pdb/drawable_cmds.c
	* app/pdb/layer_cmds.c
	* libgimp/gimplayer_pdb.c: regenerated.
2003-12-09 18:59:35 +00:00
Michael Natterer c6de971122 marked gimp_image_add_layer_mask() and gimp_image_remove_layer_mask() as
2003-12-08  Michael Natterer  <mitch@gimp.org>

	* tools/pdbgen/pdb/image.pdb: marked gimp_image_add_layer_mask()
	and gimp_image_remove_layer_mask() as deprecated. Didnn't remove
	them from the PDB because the new functions' signature differs and
	they are used very often in scripts, but removed them from the
	libgimp C wrappers.

	* tools/pdbgen/pdb/layer.pdb: added gimp_layer_add_mask() and
	gimp_layer_remove_mask().

	* libgimp/gimpcompat.h: added compat cruft.

	* app/pdb/image_cmds.c
	* app/pdb/internal_procs.c
	* app/pdb/layer_cmds.c
	* libgimp/gimpimage_pdb.[ch]
	* libgimp/gimplayer_pdb.[ch]: regenerated.

	* libgimp/gimpexport.c
	* plug-ins/common/curve_bend.c
	* plug-ins/common/psd.c
	* plug-ins/pygimp/pygimp-image.c
	* plug-ins/script-fu/scripts/3d-outline.scm
	* plug-ins/script-fu/scripts/alien-neon-logo.scm
	* plug-ins/script-fu/scripts/blended-logo.scm
	* plug-ins/script-fu/scripts/burn-in-anim.scm
	* plug-ins/script-fu/scripts/carve-it.scm
	* plug-ins/script-fu/scripts/carved-logo.scm
	* plug-ins/script-fu/scripts/chrome-it.scm
	* plug-ins/script-fu/scripts/chrome-logo.scm
	* plug-ins/script-fu/scripts/coolmetal-logo.scm
	* plug-ins/script-fu/scripts/crystal-logo.scm
	* plug-ins/script-fu/scripts/fade-outline.scm
	* plug-ins/script-fu/scripts/frosty-logo.scm
	* plug-ins/script-fu/scripts/image-structure.scm
	* plug-ins/script-fu/scripts/news-text.scm
	* plug-ins/script-fu/scripts/rendermap.scm
	* plug-ins/script-fu/scripts/slide.scm
	* plug-ins/script-fu/scripts/sota-chrome-logo.scm
	* plug-ins/script-fu/scripts/speed-text.scm
	* plug-ins/script-fu/scripts/starburst-logo.scm
	* plug-ins/script-fu/scripts/textured-logo.scm
	* plug-ins/script-fu/scripts/weave.scm
	* plug-ins/script-fu/scripts/xach-effect.scm
	* plug-ins/xjt/xjt.c: changed accordingly.

2003-12-08  Michael Natterer  <mitch@gimp.org>

	* libgimp/libgimp-sections.txt
	* libgimp/tmpl/gimpimage.sgml
	* libgimp/tmpl/gimplayer.sgml: follow layer mask API change.
2003-12-08 22:33:17 +00:00
Michael Natterer ed6fe48b09 Some PDB fixes/cosmetics before doing real changes again:
2003-12-08  Michael Natterer  <mitch@gimp.org>

	Some PDB fixes/cosmetics before doing real changes again:

	* tools/pdbgen/pdb/drawable.pdb
	* tools/pdbgen/pdb/layer.pdb: changed order of generated functions
	to make more sense.

	* tools/pdbgen/pdb/misc_tools.pdb: doc cosmetics, removed unused
	subroutines.

	* tools/pdbgen/pdb/image.pdb: reordered generated functions as
	above, fixed resolution and unit accessors to use functions
	instead of setting gimage->foo directly, use &image_accessors()
	for the tattoo_state functions, cleanup.

	* app/pdb/drawable_cmds.c
	* app/pdb/image_cmds.c
	* app/pdb/layer_cmds.c
	* app/pdb/misc_tools_cmds.c
	* libgimp/gimpdrawable_pdb.[ch]
	* libgimp/gimpimage_pdb.[ch]
	* libgimp/gimplayer_pdb.[ch]
	* libgimp/gimpmisctools_pdb.c: regenerated.
2003-12-08 17:26:55 +00:00
Michael Natterer a90e63ca9b renamed gimp_layer_mask() to gimp_layer_get_mask().
2003-12-04  Michael Natterer  <mitch@gimp.org>

	* tools/pdbgen/pdb/layer.pdb: renamed gimp_layer_mask() to
	gimp_layer_get_mask().

	* libgimp/gimplayer.h: removed gimp_layer_get_mask_id #define.

	* libgimp/gimpcompat.h: added old stuff.

	* app/pdb/layer_cmds.c
	* libgimp/gimplayer_pdb.[ch]: regenerated.

	* libgimp/gimpexport.c
	* plug-ins/common/curve_bend.c
	* plug-ins/pygimp/pygimp-drawable.c
	* plug-ins/script-fu/scripts/image-structure.scm
	* plug-ins/xjt/xjt.c: changed accordingly.

2003-12-04  Michael Natterer  <mitch@gimp>

	* libgimp/libgimp-sections.txt
	* libgimp/tmpl/gimplayer.sgml: fllow gimp_layer_get_mask() change.
2003-12-04 14:05:17 +00:00
Michael Natterer 8589ff4de8 removed "linked" API... ...and added it here.
2003-12-04  Michael Natterer  <mitch@gimp.org>

	* tools/pdbgen/pdb/layer.pdb: removed "linked" API...
	* tools/pdbgen/pdb/drawable.pdb: ...and added it here.

	* app/pdb/drawable_cmds.c
	* app/pdb/internal_procs.c
	* app/pdb/layer_cmds.c
	* libgimp/gimpdrawable_pdb.[ch]
	* libgimp/gimplayer_pdb.[ch]: regenerated.

	* libgimp/gimpcompat.h: added gimp_layer_*_linked compat #defines.

	* plug-ins/xjt/xjt.c: changed accordingly.

2003-12-04  Michael Natterer  <mitch@gimp.org>

	* libgimp/libgimp-sections.txt
	* libgimp/tmpl/gimpdrawable.sgml
	* libgimp/tmpl/gimplayer.sgml: "linked" moved from layer to drawable.
2003-12-04 11:10:20 +00:00
Michael Natterer f2e227e211 tools/pdbgen/pdb/channel.pdb removed gimp_layer_delete() and
2003-12-03  Michael Natterer  <mitch@gimp.org>

	* tools/pdbgen/pdb/channel.pdb
	* tools/pdbgen/pdb/layer.pdb: removed gimp_layer_delete() and
	gimp_channel_delete() PDB wrappers...

	* tools/pdbgen/pdb/drawable.pdb: ...added gimp_drawable_delete().

	* libgimp/gimpdrawable.[ch]: removed gimp_drawable_delete()
	(having this function work on the GimpDrawable wrapper and not on
	the drawable_id was more than questionable anyway).

	* libgimp/gimpcompat.h: added gimp_layer_delete and
	gimp_channel_delete cruft #defines.

	* app/pdb/channel_cmds.c
	* app/pdb/drawable_cmds.c
	* app/pdb/internal_procs.c
	* app/pdb/layer_cmds.c
	* libgimp/gimpchannel_pdb.[ch]
	* libgimp/gimpdrawable_pdb.[ch]
	* libgimp/gimplayer_pdb.[ch]: regenerated.

	* plug-ins/script-fu/scripts/add-bevel.scm
	* plug-ins/xjt/xjt.c: changed accordingly.

	* plug-ins/imagemap/imap_main.c: just removed the call to
	gimp_channel_delete(), it was wrong anyway.

2003-12-03  Michael Natterer  <mitch@gimp.org>

	* libgimp/libgimp-sections.txt
	* libgimp/tmpl/gimpchannel.sgml
	* libgimp/tmpl/gimpdrawable.sgml
	* libgimp/tmpl/gimplayer.sgml: updated again.
2003-12-03 17:47:15 +00:00
Michael Natterer a1f064c2ea tools/pdbgen/pdb/channel.pdb removed duplicated APIs for "name", "visible"
2003-12-03  Michael Natterer  <mitch@gimp.org>

	* tools/pdbgen/pdb/channel.pdb
	* tools/pdbgen/pdb/layer.pdb: removed duplicated APIs for "name",
	"visible" and "tattoo"...

	* tools/pdbgen/pdb/drawable.pdb: ...and added them as drawable APIs.

	* libgimp/gimpdrawable.[ch]: removed faked layer/channel
	polymorphisms, the functions are real drawable functions now.

	* libgimp/gimpcompat.h: added the old cruft here.

	* app/pdb/channel_cmds.c
	* app/pdb/drawable_cmds.c
	* app/pdb/internal_procs.c
	* app/pdb/layer_cmds.c
	* libgimp/gimpchannel_pdb.[ch]
	* libgimp/gimpdrawable_pdb.[ch]
	* libgimp/gimplayer_pdb.[ch]: regenerated.

	* libgimp/gimpexport.c
	* libgimp/gimpmenu.c
	* plug-ins/common/align_layers.c
	* plug-ins/common/animationplay.c
	* plug-ins/common/animoptimize.c
	* plug-ins/common/curve_bend.c
	* plug-ins/common/gbr.c
	* plug-ins/common/gif.c
	* plug-ins/common/gih.c
	* plug-ins/common/iwarp.c
	* plug-ins/common/mng.c
	* plug-ins/common/psd.c
	* plug-ins/common/psd_save.c
	* plug-ins/common/psp.c
	* plug-ins/xjt/xjt.c
	* plug-ins/gfig/gfig.c
	* plug-ins/script-fu/scripts/*.scm: changed accordingly.

2003-12-03  Michael Natterer  <mitch@gimp.org>

	* libgimp/libgimp-sections.txt: updated.
2003-12-03 16:39:32 +00:00
Michael Natterer c97d090d13 eek, it should be GIMP_ADD_ALPHA_TRANSFER_MASK, not
2003-11-26  Michael Natterer  <mitch@gimp.org>

	* app/core/core-enums.[ch]: eek, it should be
	GIMP_ADD_ALPHA_TRANSFER_MASK, not GIMP_ADD_ALPHA_MASK_TRANSFER.

	* app/core/gimplayer.c (gimp_layer_create_mask): changed accordingly.

	* app/pdb/layer_cmds.c
	* libgimp/gimpenums.h
	* plug-ins/pygimp/gimpenums.py
	* plug-ins/script-fu/script-fu-constants.c
	* tools/pdbgen/enums.pl: regenerated.
2003-11-26 16:00:14 +00:00
Michael Natterer e0e8a34f31 added enum values GIMP_ADD_ALPHA_MASK_TRANSFER and
2003-11-26  Michael Natterer  <mitch@gimp.org>

	* app/core/core-enums.[ch]: added enum values
	GIMP_ADD_ALPHA_MASK_TRANSFER and GIMP_UNDO_GROUP_LAYER_ADD_MASK.

	* app/core/gimplayer.c (gimp_layer_create_mask): applied patch
	from Pedro Gimeno which implements the new ADD_MASK type and
	added undo. Fixes bug #127930.

	* app/gui/layers-commands.c: push an undo group around layer mask
	creation & adding since the creation may change the layer now.

	* app/pdb/layer_cmds.c
	* libgimp/gimpenums.h
	* plug-ins/pygimp/gimpenums.py
	* plug-ins/script-fu/script-fu-constants.c
	* tools/pdbgen/enums.pl: regenerated.
2003-11-26 15:48:50 +00:00
Manish Singh f64ad067d7 app/gui/image-menu.c app/gui/layers-menu.c "Imagesize" isn't a real word.
2003-10-06  Manish Singh  <yosh@gimp.org>

        * app/gui/image-menu.c
        * app/gui/layers-menu.c
        * etc/ps-menurc: "Imagesize" isn't a real word. Fix to "Image Size".

        * app/paint/gimppaintcore.c: add declaration for rotate_pointers which
        was inadvertently took out.

        * tools/pdbgen/pdb/layer.pdb: add gimp_layer_resize_to_image_size.
        Fix failure reporting logic for gimp_layer_delete.

        * app/pdb/internal_procs.c
        * app/pdb/layer_cmds.c
        * libgimp/gimplayer_pdb.[ch]: regenerated.

        * plug-ins/common/tiff.c: always compare used unsigned chars for 7bit
        ASCII check.
2003-10-06 21:22:09 +00:00
Michael Natterer 7cf4eb467a removed "visible" and all its API...
2003-09-11  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable.[ch]: removed "visible" and all its API...

	* app/core/gimpitem.[ch]: ...and added it here.

	* app/core/core-enums.[ch]
	* app/core/gimpimage-undo-push.[ch]: changed the drawable
	visibility undo to be an item visibility undo.

	* app/xcf/xcf-load.c
	* app/xcf/xcf-save.c: save it in PROP_VECTORS and changed channel
	and layer loading/saving accordingly.

	* app/core/gimpimage-merge.c
	* app/core/gimpimage-preview.c
	* app/core/gimpimage-projection.c
	* app/core/gimpimage.c
	* app/core/gimplayer-floating-sel.c
	* app/core/gimplayer.c
	* app/core/gimpselection.c
	* app/text/gimptextlayer.c
	* app/gui/channels-commands.c
	* tools/pdbgen/pdb/channel.pdb
	* tools/pdbgen/pdb/layer.pdb: changed accordingly.

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

	* app/widgets/gimpdrawabletreeview.[ch]: removed the eye icon...

	* app/widgets/gimpitemtreeview.[ch]: ...and added it here.
2003-09-11 19:52:29 +00:00
Michael Natterer c4dfccd8db Enabled type-preserving DND of all kinds of items between different
2003-08-27  Michael Natterer  <mitch@gimp.org>

	Enabled type-preserving DND of all kinds of items between
	different images. Fixes bug #119983.

	* app/core/gimpitem.[ch]: added new virtual function
	GimpItem::convert() which duplicates an item for another image.

	* app/core/gimplayer.[ch]: removed gimp_layer_new_from_drawable()
	and made it a GimpItem::convert() implementation.

	* app/vectors/gimpvectors.[ch]: removed gimp_vectors_convert() and
	made it a GimpItem::convert() implementation.

	* app/widgets/gimpitemtreeview.[ch]: removed GimpConvertItemFunc
	typedef and function pointer in GimpItemTreeViewClass since
	we can simply call gimp_item_convert() now.

	* app/widgets/gimplayertreeview.c
	* app/widgets/gimpvectorstreeview.c
	* app/display/gimpdisplayshell-dnd.c
	* tools/pdbgen/pdb/layer.pdb: changed accordingly.

	* app/pdb/layer_cmds.c: regenerated.
2003-08-27 17:21:49 +00:00
Manish Singh 780710188d Default all strings to validate UTF-8, use no_validate to disable. Also
2003-08-18  Manish Singh  <yosh@gimp.org>

        * tools/pdbgen/app.pl: Default all strings to validate UTF-8, use
        no_validate to disable. Also added a null_ok parameter which does
        validate UTF-8, but allows NULL.

        * tools/pdbgen/pdb/brush_select.pdb
        * tools/pdbgen/pdb/brushes.pdb
        * tools/pdbgen/pdb/channel.pdb
        * tools/pdbgen/pdb/convert.pdb
        * tools/pdbgen/pdb/fileops.pdb
        * tools/pdbgen/pdb/font_select.pdb
        * tools/pdbgen/pdb/gimprc.pdb
        * tools/pdbgen/pdb/gradient_select.pdb
        * tools/pdbgen/pdb/gradients.pdb
        * tools/pdbgen/pdb/help.pdb
        * tools/pdbgen/pdb/image.pdb
        * tools/pdbgen/pdb/layer.pdb
        * tools/pdbgen/pdb/message.pdb
        * tools/pdbgen/pdb/palette_select.pdb
        * tools/pdbgen/pdb/palettes.pdb
        * tools/pdbgen/pdb/parasite.pdb
        * tools/pdbgen/pdb/paths.pdb
        * tools/pdbgen/pdb/pattern_select.pdb
        * tools/pdbgen/pdb/patterns.pdb
        * tools/pdbgen/pdb/plug_in.pdb
        * tools/pdbgen/pdb/procedural_db.pdb
        * tools/pdbgen/pdb/text_tool.pdb
        * tools/pdbgen/pdb/unit.pdb: removed utf8, added no_validate and
        null_ok where appropriate.

        * app/pdb/brush_select_cmds.c
        * app/pdb/font_select_cmds.c
        * app/pdb/gradient_select_cmds.c
        * app/pdb/layer_cmds.c
        * app/pdb/palette_select_cmds.c
        * app/pdb/pattern_select_cmds.c
        * app/pdb/plug_in_cmds.c: regenerated.
2003-08-19 19:08:11 +00:00
Michael Natterer db2db08fb4 tools/pdbgen/pdb/brush_select.pdb tools/pdbgen/pdb/brushes.pdb
2003-08-18  Michael Natterer  <mitch@gimp.org>

	* tools/pdbgen/pdb/brush_select.pdb
	* tools/pdbgen/pdb/brushes.pdb
	* tools/pdbgen/pdb/channel.pdb
	* tools/pdbgen/pdb/convert.pdb
	* tools/pdbgen/pdb/drawable.pdb
	* tools/pdbgen/pdb/fileops.pdb
	* tools/pdbgen/pdb/font_select.pdb
	* tools/pdbgen/pdb/gimprc.pdb
	* tools/pdbgen/pdb/gradient_select.pdb
	* tools/pdbgen/pdb/gradients.pdb
	* tools/pdbgen/pdb/layer.pdb
	* tools/pdbgen/pdb/message.pdb
	* tools/pdbgen/pdb/palette.pdb
	* tools/pdbgen/pdb/palette_select.pdb
	* tools/pdbgen/pdb/palettes.pdb
	* tools/pdbgen/pdb/paths.pdb
	* tools/pdbgen/pdb/pattern_select.pdb
	* tools/pdbgen/pdb/patterns.pdb
	* tools/pdbgen/pdb/plug_in.pdb
	* tools/pdbgen/pdb/procedural_db.pdb
	* tools/pdbgen/pdb/text_tool.pdb
	* tools/pdbgen/pdb/unit.pdb: UTF-8 validate all strings except
	filenames. Does not work yet for string params which may be NULL.
	They currently don't get checked because I still don't understand
	pdbgen enough :)

	* app/pdb/brush_select_cmds.c
	* app/pdb/brushes_cmds.c
	* app/pdb/channel_cmds.c
	* app/pdb/convert_cmds.c
	* app/pdb/drawable_cmds.c
	* app/pdb/fileops_cmds.c
	* app/pdb/font_select_cmds.c
	* app/pdb/gimprc_cmds.c
	* app/pdb/gradient_select_cmds.c
	* app/pdb/gradients_cmds.c
	* app/pdb/message_cmds.c
	* app/pdb/palette_select_cmds.c
	* app/pdb/palettes_cmds.c
	* app/pdb/paths_cmds.c
	* app/pdb/pattern_select_cmds.c
	* app/pdb/patterns_cmds.c
	* app/pdb/plug_in_cmds.c
	* app/pdb/procedural_db_cmds.c
	* app/pdb/text_tool_cmds.c
	* app/pdb/unit_cmds.c: regenerated.
2003-08-18 18:09:26 +00:00
Manish Singh 122c006564 fix spelling of "quality" in comment
2003-07-03  Manish Singh  <yosh@gimp.org>

        * plug-ins/common/jpeg.c: fix spelling of "quality" in comment

        * tools/pdbgen/*.pl: update copyright strings to 2003

        * libgimp/gimpenums.h
        * libgimp/*_pdb.[ch]
        * app/pdb/*_cmds.[ch]
        * app/pdb/internal_procs.[ch]
        * plug-ins/pygimp/gimpenums.py
        * plug-ins/script-fu/script-fu-constants.c: regenerated
2003-07-03 00:47:26 +00:00
Michael Natterer a05d2c6310 removed generation of includes for enums since including "pdb-types.h" is
2003-05-15  Michael Natterer  <mitch@gimp.org>

	* tools/pdbgen/app.pl (declare_args): removed generation of
	includes for enums since including "pdb-types.h" is sufficient
	now.

	* app/pdb/brush_select_cmds.c
	* app/pdb/brushes_cmds.c
	* app/pdb/channel_cmds.c
	* app/pdb/color_cmds.c
	* app/pdb/convert_cmds.c
	* app/pdb/drawable_cmds.c
	* app/pdb/edit_cmds.c
	* app/pdb/guides_cmds.c
	* app/pdb/image_cmds.c
	* app/pdb/layer_cmds.c
	* app/pdb/message_cmds.c
	* app/pdb/misc_tools_cmds.c
	* app/pdb/paint_tools_cmds.c
	* app/pdb/procedural_db_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.
2003-05-15 21:24:41 +00:00
Michael Natterer 45334e637e Added support for transforming linked layers, channels and vectors. Fixes
2003-05-12  Michael Natterer  <mitch@gimp.org>

	Added support for transforming linked layers, channels
	and vectors. Fixes bug #86277.

	* app/core/gimpdrawable-transform.[ch]
	(gimp_drawable_transform_tiles_flip): added "gdouble axis" and
	calculate the resulting drawable offset.
	(gimp_drawable_transform_flip): calculate the axis and pass it to
	the function above.
	(gimp_drawable_transform_[tiles_]affine): reordered parameters.

	* app/core/gimpitem.[ch]: added virtual functions GimpItem::flip()
	and GimpItem::transform().

	* app/core/gimpchannel.c
	* app/core/gimplayer.c
	* app/vectors/gimpvectors.c: implement flip() and transform().
	Note that all functions always transform the whole item,
	regardless of a present selection.

	* app/core/Makefile.am
	* app/core/gimpitem-linked.[ch]: new files containing utility
	functions which translate, flip and transform all linked items.

	* app/tools/gimpfliptool.c
	* app/tools/gimptransformtool.c
	* tools/pdbgen/pdb/layer.pdb: use the new gimp_item_linked_*()
	functions to translate, flip and transform all linked items.

	* tools/pdbgen/pdb/transform_tools.pdb: follow
	gimp_drawable_transform_affine() API change.

	* app/pdb/layer_cmds.c
	* app/pdb/transform_tools_cmds.c: regenerated.
2003-05-12 15:56:36 +00:00
Michael Natterer 457368140d added "gboolean push_undo" to GimpItem::translate() and don't push and
2003-05-09  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpitem.[ch]: added "gboolean push_undo" to
	GimpItem::translate() and don't push and undo in
	gimp_item_translate().

	* app/core/gimpchannel.[ch]: removed public function
	gimp_channel_translate() and implement GimpItem::translate().

	* app/core/gimpimage-mask.c
	* app/core/gimplayer.c: changed accordingly.

	* app/vectors/gimpvectors.c: actually translate the vectors
	in translate().

	* app/gui/channels-commands.c (channels_new_channel_query): removed
	useless call to gimp_channel_translate().

	* app/tools/gimpeditselectiontool.c
	* tools/pdbgen/pdb/layer.pdb: when translating a linked layer,
	also translate all linked channels and vectors. Cleanup.

	Note that the "linked" behaviour has changed: before this change,
	moving a layer moved all linked layers unconditionally. Now,
	linked layers/channels/vectors are moved *only* if the moved layer
	is also linked (the linked items behave as a group now and moving
	something not in the group does not affect the group).

	* app/pdb/layer_cmds.c: regenerated.
2003-05-09 13:05:37 +00:00
Michael Natterer 33b7d779d6 removed "linked" member and API...
2003-05-08  Michael Natterer  <mitch@gimp.org>

	* app/core/gimplayer.[ch]: removed "linked" member and API...

	* app/core/gimpitem.[ch]: ...and added it here.

	* app/core/core-enums.[ch]
	* app/core/gimpimage-undo-push.[ch]: changed layer_linked undo
	types and functions to be item_linked ones.

	* app/tools/gimpeditselectiontool.c
	* app/xcf/xcf-load.c
	* app/xcf/xcf-save.c
	* tools/pdbgen/pdb/layer.pdb: changed accordingly.

	* app/pdb/layer_cmds.c: regenerated.

	* app/widgets/gimplayertreeview.[ch]: removed "linked" icon and
	functions...

	* app/widgets/gimpitemtreeview.[ch]: and added them here. Setting
	channels or vectors to "linked" does nothing yet.
2003-05-08 20:26:01 +00:00
Michael Natterer 129c78d271 added gimp_item_translate() and virtual function GimpItem::translate().
2003-05-08  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpitem.[ch]: added gimp_item_translate() and
	virtual function GimpItem::translate().

	* app/core/gimplayer.[ch]: removed public function
	gimp_layer_translate() and implement GimpItem::translate()
	instead.

	* app/core/core-enums.[ch]
	* app/core/gimpimage-undo-push.[ch]: changed layer_displace undo
	types and functions to be item_displace ones.

	* app/core/gimpimage-crop.c
	* app/core/gimpimage-resize.c
	* app/display/gimpdisplayshell-dnd.c
	* app/gui/layers-commands.c
	* app/tools/gimpeditselectiontool.c
	* app/widgets/gimptoolbox.c
	* tools/pdbgen/pdb/layer.pdb: changed accordingly.

	* app/pdb/layer_cmds.c: regenerated.
2003-05-08 19:11:17 +00:00
Michael Natterer ab0ac8472f removed the remaining layer scale API.
2003-05-08  Michael Natterer  <mitch@gimp.org>

	* app/core/gimplayer.[ch]: removed the remaining layer scale API.

	* app/core/gimpitem.[ch]: added the same functions here.

	* app/core/gimpimage-scale.c
	* app/gui/layers-commands.c
	* tools/pdbgen/pdb/layer.pdb: changed accordingly.

	* app/pdb/layer_cmds.c: regenerated.
2003-05-08 14:54:04 +00:00
Michael Natterer 4136e61ddc More transform virtualization preparation:
2003-05-08  Michael Natterer  <mitch@gimp.org>

	More transform virtualization preparation:

	* app/core/gimpdrawable.[ch]: removed "width", "height", "offset_x"
	and "offset_y"...

	* app/core/gimpitem.[ch]: ...and added them here.

	* app/core/gimpchannel.c
	* app/core/gimpdrawable-preview.c
	* app/core/gimpdrawable-transform.c
	* app/core/gimpedit.c
	* app/core/gimpimage-convert.c
	* app/core/gimpimage-mask.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage-qmask.c
	* app/core/gimpimage-undo-push.c
	* app/core/gimplayer-floating-sel.c
	* app/core/gimplayer.c
	* app/text/gimptext-compat.c
	* app/text/gimptextlayer.c
	* app/tools/gimptexttool.c
	* app/tools/gimptransformtool.c
	* app/widgets/gimppreviewrendererdrawable.c
	* app/xcf/xcf-load.c
	* app/xcf/xcf-save.c
	* tools/pdbgen/pdb/layer.pdb: changed accordingly.

	* app/pdb/layer_cmds.c: regenerated.
2003-05-08 11:52:31 +00:00
Michael Natterer 323ed50c99 More transform stuff virtualization:
2003-05-07  Michael Natterer  <mitch@gimp.org>

	More transform stuff virtualization:

	* app/core/gimpitem.[ch]: added new virtual function
	GimpItem::resize().

	* app/core/gimpchannel.[ch]
	* app/core/gimplayer.[ch]: removed public resize functions
	and implement resize() instead.

	* app/core/gimpdrawable.c: implement resize() which contains
	the common parts of layer/channel resizing.

	* app/vectors/gimpvectors.c: added empty resize() implementation.

	* app/core/gimpimage-crop.c
	* app/core/gimpimage-resize.c
	* app/gui/layers-commands.c
	* tools/pdbgen/pdb/layer.pdb: changed accordingly.

	* app/pdb/layer_cmds.c: regenerated.
2003-05-07 13:01:17 +00:00
Michael Natterer 2a17435e7e Started to abstract item transformation so we can easily transform
2003-05-07  Michael Natterer  <mitch@gimp.org>

	Started to abstract item transformation so we can easily
	transform multiple linked items later:

	* app/core/gimpitem.[ch]: added new virtual function
	GimpItem::scale() with the same signature as the former
	gimp_layer_scale_lowlevel().

	* app/core/gimpdrawable.c: implement scale() and do the
	common parts of layer/channel scaling here.

	* app/core/gimpchannel.[ch]
	* app/core/gimplayer.[ch]: implement scale() for the
	channel/layer specific parts of scaling.

	* app/core/gimplayer.[ch]: renamed gimp_layer_scale() to
	gimp_layer_scale_by_origin().

	* app/vectors/gimpvectors.c: added empty scale() implementation.

	* app/core/gimpimage-scale.c
	* app/core/gimpimage-undo-push.c
	* app/gui/layers-commands.c
	* tools/pdbgen/pdb/layer.pdb: changed accordingly.

	* app/pdb/layer_cmds.c: regenerated.

	Unrelated:

	* app/core/gimpimage-undo-push.c: fixed item rename undo to
	take the size of the saved name into account. Removed old
	path_undo stuff.
2003-05-07 11:09:00 +00:00
Sven Neumann 208915d468 include locale.h for setlocale().
2003-03-25  Sven Neumann  <sven@gimp.org>

	* app/text/gimptext.c: include locale.h for setlocale().

	* app/base/Makefile.am
	* app/core/Makefile.am
	* app/display/Makefile.am
	* app/widgets/Makefile.am: changed rules that generate enums code
	to include gimp-intl.h instead of libgimp-intl.h.

	* tools/pdbgen/app.pl
	* tools/pdbgen/pdb/*.pdb: include gimp-intl.h.
2003-03-25 17:39:01 +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
Michael Natterer 1329e016d2 app/core/gimpimage-mask.[ch] (gimp_image_mask_translate) added "gboolean
2003-03-18  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-mask.[ch] (gimp_image_mask_translate)
	* app/core/gimplayer.[ch] (gimp_layer_translate): added
	"gboolean push_undo" parameters.

	* app/core/gimpimage-crop.c
	* app/core/gimpimage-resize.c
	* app/display/gimpdisplayshell-dnd.c
	* app/gui/layers-commands.c
	* app/widgets/gimptoolbox.c
	* tools/pdbgen/pdb/layer.pdb
	* tools/pdbgen/pdb/selection.pdb: changed accordingly.

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

	* app/core/gimpimage-undo-push.c (undo_pop_layer_displace): call
	gimp_layer_translate() with "push_undo == FALSE" instead of
	duplicating gimp_layer_translate()'s code. Use GimpItemUndo for
	GIMP_UNDO_MASK.

	* app/tools/gimpeditselectiontool.c
	(gimp_edit_selection_tool_cursor_key): check if the top undo on
	the stack is of exactly the same type as the undo we would push
	and just don't push it then (compresses layer translate undos and
	fixes bug #86362). Changed stuff work with CAPS_LOCK or other
	modifiers pressed.
2003-03-18 16:42:45 +00:00
Michael Natterer 884b3aa7a3 Made drawable/layer properties (visibility, opacity etc.) undoable (fixes
2003-03-17  Michael Natterer  <mitch@gimp.org>

	Made drawable/layer properties (visibility, opacity etc.)
	undoable (fixes bug #73893).

	* app/core/core-enums.[ch]: added undo types/groups for
	visibility, mode, opacity, linked and preserve_trans.

	* app/core/Makefile.am
	* app/core/core-types.h
	* app/core/gimpitemundo.[ch]: new GimpUndo subclass which holds a
	ref'ed GimpItem pointer so (1) this doesn't need to be done by all
	undo steps related to an item and (2) the item the undo step is
	for can be determined from outside the undo system.

	* app/core/gimpimage-undo.[ch]: added gimp_image_undo_push_item()
	which returns a new GimpItemUndo.

	* app/core/gimpimage-undo-push.[ch]: use it for all item related
	undo steps. Removed lots of GimpItem, GimpLayer, GimpDrawable
	and GimpVectors pointers from the private undo structs. Added
	undo push functions for the new undo types added above.

	* app/core/gimpdrawable.[ch] (gimp_drawable_set_visible): added
	"gboolean push_undo" parameter.

	* app/core/gimplayer.[ch] (gimp_layer_set_opacity, _mode,
	_preserve_trans, _linked): added "gboolean push_undo" parameters.

	* app/core/gimpimage-mask.c
	* app/core/gimpimage-merge.c
	* app/core/gimplayer-floating-sel.c
	* app/tools/gimpmovetool.c
	* app/xcf/xcf-load.c
	* app/widgets/gimpdrawablelistitem.c
	* app/widgets/gimplayerlistitem.c
	* app/widgets/gimplayerlistview.c: changed accordingly.

	* tools/pdbgen/pdb/channel.pdb
	* tools/pdbgen/pdb/layer.pdb: ditto. Added '$undo' paramaters to
	the foo_accessors() functions. Removed $func from foo_accesors()
	because we don't manipulate items without using getters/setters
	any longer.

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

	* app/widgets/gimpcellrenderertoggle.[ch]: added "clicked" signal
	which carries an additional "GdkModifierType state" parameter as
	in GimpCellRendererViewable .

	* app/widgets/gimpcontainertreeview.c: emit "clicked" from
	the toggle renderer, not "toggled" so the callbacks get the
	modifier state.

	* app/widgets/gimpdrawabletreeview.c: resurrected the "exclusive
	visible by <shift>+click" feature as in 1.2.

	* app/widgets/gimplayertreeview.c: compress layer opacity undos by
	looking at the top of the undo stack and not pushing an undo if
	there already is a GIMP_UNDO_DRAWABLE_OPACITY for the active
	layer.
2003-03-17 18:02:41 +00:00
Manish Singh 6e41b13630 tools/pdbgen/pdb/channel.pdb use gimp_item_rename for set_name.
2003-03-17  Manish Singh  <yosh@gimp.org>

        * tools/pdbgen/pdb/channel.pdb
        * tools/pdbgen/pdb/layer.pdb: use gimp_item_rename for set_name.

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

        * libgimpproxy/Makefile.am: use $(top_srcdir)
2003-03-17 01:41:54 +00:00
Sven Neumann 5e11bae69b fixed parasite serialization that I broke yesterday.
2003-03-06  Sven Neumann  <sven@gimp.org>

	* app/core/gimpparasitelist.c: fixed parasite serialization that
	I broke yesterday.

	* app/widgets/gimpenummenu.c: added support for mnemonics.

	* app/core/core-enums.h: removed the inverted variants from the
	GimpAddMaskType enum. Registered the enum with the type system.

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

	* app/gui/layers-commands.c (layers_add_mask_query): use an enum
	frame and added a check button that allows to invert the inital
	layer mask.

	* tools/pdbgen/pdb/layer.pdb: updated documentation for the
	gimp-layer-create-mask PDB function.

	* plug-ins/script-fu/siod-wrapper.c: removed new enum values from
	the compatibility defines.

	* app/core/core-enums.c
	* app/pdb/layer_cmds.c
	* libgimp/gimpenums.h
	* libgimp/gimplayer_pdb.c
	* plug-ins/pygimp/gimpenums.py
	* plug-ins/script-fu/script-fu-constants.c
	* tools/pdbgen/enums.pl: regenerated.
2003-03-06 13:22:11 +00:00
Michael Natterer 7a6a8d9dbb Moved the undo step implementations to the core and pass around lots of
2003-02-14  Michael Natterer  <mitch@gimp.org>

	Moved the undo step implementations to the core and pass around
	lots of "const gchar *undo_desc". Fixes bug #104367.

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

	* app/core/Makefile.am
	* app/core/gimpimage-undo-push.[ch]: ...and added here.

	* app/paint/Makefile.am
	* app/tools/Makefile.am
	* app/paint/gimppaintcore-undo.[ch]
	* app/tools/gimptransformtool-undo.[ch]: new files for the
	paint and transform undos.

	* app/core/gimppaintinfo.[ch]: added a blurb.

	* 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/paint/paint-types.h
	* app/paint/paint.c: pass the blurb when registering the core.

	* app/core/gimpdrawable.[ch]
	* app/core/gimpimage.[ch]
	* app/core/gimpimage-mask-select.[ch]
	* app/core/gimpimage-mask.[ch]
	* app/core/gimpimagemap.[ch]
	* app/core/gimplayer-floating-sel.[ch]: added "undo_desc" parameters
	to all undo pushing helper functions.

	* app/undo_history.c
	* app/core/gimpchannel.c
	* app/core/gimpdrawable-blend.c
	* app/core/gimpdrawable-bucket-fill.c
	* app/core/gimpdrawable-desaturate.c
	* app/core/gimpdrawable-equalize.c
	* app/core/gimpdrawable-invert.c
	* app/core/gimpdrawable-offset.c
	* app/core/gimpdrawable-transform.c
	* app/core/gimpedit.c
	* app/core/gimpimage-convert.c
	* app/core/gimpimage-crop.c
	* app/core/gimpimage-guides.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage-qmask.c
	* app/core/gimpimage-resize.c
	* app/core/gimpimage-scale.c
	* app/core/gimpimage-undo.c
	* app/core/gimpitem.c
	* app/core/gimplayer.c
	* app/core/gimplayermask.c
	* app/display/gimpdisplayshell-dnd.c
	* app/file/file-open.c
	* app/file/file-save.c
	* app/gui/channels-commands.c
	* app/gui/file-commands.c
	* app/gui/file-open-dialog.c
	* app/gui/image-commands.c
	* app/gui/layers-commands.c
	* app/gui/paths-dialog.c
	* app/gui/select-commands.c
	* app/gui/vectors-commands.c
	* app/text/gimptext-compat.c
	* app/tools/gimpbezierselecttool.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpfreeselecttool.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimpimagemaptool.c
	* app/tools/gimpinktool.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimppainttool.c
	* app/tools/gimprectselecttool.c
	* app/tools/gimptexttool.c
	* app/tools/gimptransformtool.c
	* app/widgets/gimpchannellistview.c
	* app/widgets/gimpdrawablelistview.c
	* app/widgets/gimpselectioneditor.c
	* tools/pdbgen/pdb/color.pdb
	* tools/pdbgen/pdb/drawable.pdb
	* tools/pdbgen/pdb/guides.pdb
	* tools/pdbgen/pdb/layer.pdb
	* tools/pdbgen/pdb/selection.pdb
	* tools/pdbgen/pdb/selection_tools.pdb: changed accordingly: pass
	"undo_desc" strings, changed includes or simply removed inclusion
	of "undo.h". Some random cleanups.

	* tools/pdbgen/pdb/guides.pdb: cleaned up a lot. Fixed
	gimp_image_find_next_guide() to not return guides with
	position < 0 (and made it shorter and readable).

	* app/pdb/color_cmds.c
	* app/pdb/drawable_cmds.c
	* app/pdb/guides_cmds.c
	* app/pdb/layer_cmds.c
	* app/pdb/selection_cmds.c
	* app/pdb/selection_tools_cmds.c: regenerated.
2003-02-14 14:14:29 +00:00
Michael Natterer b600fd8605 changed FOO_UNDO enum values to GIMP_UNDO_FOO.
2003-02-13  Michael Natterer  <mitch@gimp.org>

	* app/core/core-enums.[ch]: changed FOO_UNDO enum values to
	GIMP_UNDO_FOO.

	* app/undo.[ch]: removed the undo group wrappers.

	* app/undo_history.c
	* app/core/gimpdrawable-transform.c
	* app/core/gimpedit.c
	* app/core/gimpimage-convert.c
	* app/core/gimpimage-crop.c
	* app/core/gimpimage-mask.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage-qmask.c
	* app/core/gimpimage-resize.c
	* app/core/gimpimage-scale.c
	* app/core/gimpimage-undo.c
	* app/core/gimpimage.c
	* app/core/gimpitem.c
	* app/core/gimplayer-floating-sel.c
	* app/core/gimplayer.c
	* app/display/gimpdisplayshell-dnd.c
	* app/gui/channels-commands.c
	* app/gui/image-commands.c
	* app/gui/layers-commands.c
	* app/paint/gimppaintcore.c
	* app/text/gimptext-compat.c
	* app/tools/gimpbezierselecttool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimptexttool.c
	* app/tools/gimptransformtool.c
	* tools/pdbgen/pdb/layer.pdb
	* tools/pdbgen/pdb/undo.pdb: changed accordingly. Pass meaningful
	undo names to gimp_image_undo_group_start().

	* app/pdb/layer_cmds.c
	* app/pdb/undo_cmds.c: regenerated.
2003-02-13 11:23:50 +00:00
Michael Natterer 436ed648e8 added new virtual function duplicate() as replacement for all
2003-02-11  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpitem.[ch]: added new virtual function duplicate()
	as replacement for all gimp_*_copy() functions.

	* app/core/gimpchannel.[ch]
	* app/core/gimpdrawable.[ch]
	* app/core/gimplayer.[ch]
	* app/core/gimplayermask.[ch]
	* app/vectors/gimpvectors.[ch]: replaced public copy() functions
	by duplicate() implementations.

	* app/text/gimptextlayer.c: added a duplicate() implementation.

	* app/widgets/gimpitemlistview.[ch]: removed the "copy_item_func"
	and simply call gimp_item_duplicate().

	* app/undo.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-mask.c
	* app/core/gimpimage-qmask.c
	* app/gui/channels-commands.c
	* app/gui/dialogs-constructors.c
	* app/gui/layers-commands.c
	* app/gui/vectors-commands.c
	* app/widgets/gimptoolbox.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.
2003-02-11 13:52:47 +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 2193d83a26 tools/pdbgen/pdb/display.pdb applied a modified version of a patch from
2002-12-03  Sven Neumann  <sven@gimp.org>

	* tools/pdbgen/pdb/display.pdb
	* tools/pdbgen/pdb/layer.pdb: applied a modified version of a
	patch from Wolfgang Hofer <hof@gimp.org> that adds two new PDB
	functions needed for GAP: gimp_displays_reconnect() and
	gimp_layer_new_from_drawable() (bug #77508).

	* app/pdb/display_cmds.c
	* app/pdb/internal_procs.c
	* app/pdb/layer_cmds.c
	* libgimp/gimpdisplay_pdb.[ch]
	* libgimp/gimplayer_pdb.[ch]: regenerated.
2002-12-03 12:10:21 +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
Sven Neumann ace7acd3b4 app/base/base-enums.h app/paint-funcs/paint-funcs-generic.h
2002-11-05  Sven Neumann  <sven@gimp.org>

	* app/base/base-enums.h
	* app/paint-funcs/paint-funcs-generic.h
	* app/paint-funcs/paint-funcs.c
	* app/widgets/gimpwidgets-constructors.c: applied a patch from
	Guillermo S. Romero that adds three new layer modes (Softlight,
	Grain Extract and Grain Merge, #97686).

	* app/base/base-enums.c
	* app/pdb/brush_select_cmds.c
	* app/pdb/brushes_cmds.c
	* app/pdb/layer_cmds.c
	* app/pdb/misc_tools_cmds.c
	* app/widgets/gimpwidgets-constructors.c
	* libgimp/gimpenums.h
	* plug-ins/script-fu/script-fu-constants.c
	* tools/pdbgen/enums.pl: regenerated.
2002-11-05 19:33:59 +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 a8b08c7de7 added check_funcs (GIMP_IS_LAYER, GIMP_IS_IMAGE etc.) to all data types
2002-08-29  Michael Natterer  <mitch@gimp.org>

	* tools/pdbgen/pdb.pl: added check_funcs (GIMP_IS_LAYER,
	GIMP_IS_IMAGE etc.) to all data types which are looked up by ID...

	* tools/pdbgen/app.pl: ...and call them here instead of just
	checking for (item != NULL). This way image item lookup becomes
	type safe.

	* 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/misc_tools_cmds.c
	* app/pdb/paint_tools_cmds.c
	* app/pdb/parasite_cmds.c
	* app/pdb/paths_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
	* app/pdb/undo_cmds.c: regenerated.
2002-08-29 17:21:21 +00:00