Commit Graph

224 Commits

Author SHA1 Message Date
Michael Natterer 1358fafb0e Implemented "Flip Image". Fixes bug #23179:
2003-05-18  Michael Natterer  <mitch@gimp.org>

	Implemented "Flip Image". Fixes bug #23179:

	* app/core/core-enums.[ch]: added GIMP_UNDO_GROUP_IMAGE_FLIP.

	* app/core/Makefile.am
	* app/core/gimpimage-flip.[ch]: new files implementing
	gimp_image_flip().

	* app/gui/image-menu.c
	* app/gui/image-commands.[ch]: added it to the "Image" menu.

	* themes/Default/images/Makefile.am
	* themes/Default/images/stock-flip-horizontal-16.png
	* themes/Default/images/stock-flip-vertical-16.png
	* libgimpwidgets/gimpstock.[ch]: added icons for the new
	menu items.

	Bugs found while hacking the stuff above:

	* app/core/gimpdrawable-transform.c (gimp_drawable_transform_paste):
	only call gimp_layer_add_alpha() if the pasted tiles have alpha.

	* app/core/gimpimage-undo-push.c (undo_pop_channel_mod): fixed to
	do the right thing if the channel is the selection mask.
2003-05-18 18:48:36 +00:00
Michael Natterer 882a8eca80 added default implementations for scale() and resize() which just set the
2003-05-09  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpitem.c: added default implementations for scale()
	and resize() which just set the resulting width/height and offset
	values.

	* app/core/gimpdrawable.c: chain up in scale() and resize().

	* app/vectors/gimpvectors.[ch]: buncha vectors changes/features:

	- Removed unused "linked" and "locked" members.
	- Removed "changed" signal.
	- Added "freeze" and "thaw" signals and functions to emit them.
	- Added "freeze_count" member so we emit only one freeze/thaw pair
	  even when doing nested changes.
	- Added GimpItem::translate() implementation.
	- Actually scale and resize the vectors in scale() and resize().
	- Added undo for scale() and resize().
	- Added freeze()/thaw() pairs around all modifying functions.
	- Changed gimp_vectors_copy_strokes() to work as needed.

	* app/core/gimpimage-resize.c
	* app/core/gimpimage-scale.c: resize and scale all vectors.
	Fixes bug #36491.

	* app/core/gimpimage-undo-push.c (undo_pop_vectors_mod): added
	freeze()/thaw() around the vectors-modifying code. Also restore
	width, height and offsets.

	* app/tools/gimpvectortool.c: connect to "freeze" and "thaw"
	and pause()/resume() vectors drawing accordingly.
2003-05-09 00:38:51 +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 c1ab39a5e8 removed gimp_drawable_offsets().
2003-05-08  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable.[ch]: removed gimp_drawable_offsets().

	* app/core/gimpitem.[ch]: added gimp_item_offsets().

	* app/core/gimpdrawable-blend.c
	* app/core/gimpdrawable-bucket-fill.c
	* app/core/gimpdrawable-histogram.c
	* app/core/gimpedit.c
	* app/core/gimpimage-convert.c
	* app/core/gimpimage-crop.c
	* app/core/gimpimage-mask-select.c
	* app/core/gimpimage-mask.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage-pick-color.c
	* app/core/gimpimage-preview.c
	* app/core/gimpimage-projection.c
	* app/core/gimpimage-undo-push.c
	* app/core/gimpimage.c
	* app/core/gimplayer-floating-sel.c
	* app/core/gimplayer.c
	* app/display/gimpdisplay.c
	* app/display/gimpdisplayshell-transform.c
	* app/display/gimpdisplayshell.c
	* app/gui/channels-commands.c
	* app/gui/layers-commands.c
	* app/paint/gimppaintcore.c
	* 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/gimpcurvestool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpfliptool.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimpinktool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimppainttool.c
	* app/tools/gimprectselecttool.c
	* app/tools/gimptransformtool.c
	* app/widgets/gimpselectioneditor.c
	* app/widgets/gimptoolbox.c
	* tools/pdbgen/pdb/color.pdb
	* tools/pdbgen/pdb/drawable.pdb: changed accordingly.

	* app/pdb/color_cmds.c
	* app/pdb/drawable_cmds.c: regenerated.
2003-05-08 14:06:03 +00:00
Michael Natterer 54878b79ce removed gimp_drawable_width,height().
2003-05-08  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable.[ch]: removed gimp_drawable_width,height().

	* app/core/gimpitem.[ch]: added gimp_item_width,height().

	* app/core/gimpchannel.c
	* app/core/gimpdrawable-bucket-fill.c
	* app/core/gimpdrawable-offset.c
	* app/core/gimpdrawable-preview.c
	* app/core/gimpdrawable-transform.c
	* app/core/gimpimage-contiguous-region.c
	* app/core/gimpimage-crop.c
	* app/core/gimpimage-mask.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage-preview.c
	* app/core/gimpimage-projection.c
	* app/core/gimpimage-undo-push.c
	* app/core/gimpimage.c
	* app/core/gimpimagemap.c
	* app/core/gimplayer-floating-sel.c
	* app/core/gimplayer.c
	* app/core/gimplayermask.c
	* app/core/gimpscanconvert.c
	* app/display/gimpdisplay.c
	* app/display/gimpdisplayshell-dnd.c
	* app/display/gimpdisplayshell.c
	* app/gui/channels-commands.c
	* app/gui/layers-commands.c
	* app/paint/gimpclone.c
	* app/paint/gimpconvolve.c
	* app/paint/gimpdodgeburn.c
	* app/paint/gimppaintcore.c
	* app/paint/gimpsmudge.c
	* app/text/gimptextlayer.c
	* app/tools/gimpbezierselecttool.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpclonetool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpfliptool.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimphistogramtool.c
	* app/tools/gimpinktool.c
	* app/tools/gimprectselecttool.c
	* app/tools/gimptransformtool.c
	* app/widgets/gimpselectioneditor.c
	* app/widgets/gimptoolbox.c
	* tools/pdbgen/pdb/drawable.pdb
	* tools/pdbgen/pdb/selection.pdb: changed accordingly.

	* app/pdb/drawable_cmds.c
	* app/pdb/selection_cmds.c: regenerated.
2003-05-08 13:12:46 +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 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
Michael Natterer 372094aefa fixed to check the *new* guide position to be within bounds, not the old
2003-03-30  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-resize.c (gimp_image_resize): fixed to check
	the *new* guide position to be within bounds, not the old
	one. Cleanup.

	* app/core/gimpimage-undo-push.c (undo_pop_image_guide): undo
	guide removal and moves manually instead of calling
	gimp_image_[add|move]_guide() because the latter may run into
	g_return_if_fail(position <= gimage->width/height) if the undo
	step is part of a resize or crop undo group.
2003-03-30 16:11:51 +00:00
Michael Natterer f13f80f04a added "position" and "push_undo" parameters to gimp_image_add_[vh]guide().
2003-03-28  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-guides.[ch]: added "position" and "push_undo"
	parameters to gimp_image_add_[vh]guide(). Start with a refcount
	of 1, not 0 (EEK). Added gimp_image_guide_[un]ref(). Added
	"position" parameter to gimp_image_add_guide(). Added new
	function gimp_image_move_guide(). All functions push guide
	undos correctly and call gimp_image_update_guide() so this
	doesn't need to be done by callers.

	* app/core/gimpimage-crop.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-resize.c
	* app/core/gimpimage-undo-push.c
	* app/core/gimpimage.c
	* app/tools/gimpmeasuretool.c
	* app/xcf/xcf-load.c
	* tools/pdbgen/pdb/guides.pdb: greatly simplyfied all places which
	modify guides: don't fiddle with undo and guide properties
	manually but simply use the API provided.

	* app/tools/gimpmovetool.[ch]: ditto. Changed everything to
	create/move the guide on button_release, not button_press. Enable
	canceling the operation by clicking button3 before releasing
	button1. Keep the guide drawn at its old position until the move
	is finished (fixes bug #75349 and bug #109267).

	* app/pdb/guides_cmds.c: regenerated.
2003-03-28 13:52: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 dfd7df9a58 added new functions gimp_image_active_[layer|channel|vectors]_changed()
2003-03-25  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage.[ch]: added new functions
	gimp_image_active_[layer|channel|vectors]_changed() which emit the
	resp. signals.

	* app/core/gimpimage-undo-push.c (undo_pop_layer,channel,vectors):
	fixed them to not leave the image's active layer, channel, vectors
	pointers undefined (fixes bug #109110). Call gimp_item_removed()
	from all of them.

	* app/core/gimpimage-qmask.c: cleanup.
2003-03-25 03:29:11 +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 94590602b0 Added an API for image colormap manupulation and made colormap changes
2003-03-18  Michael Natterer  <mitch@gimp.org>

	Added an API for image colormap manupulation and made colormap
	changes undoable (fixes bug #25963).

	* app/core/Makefile.am
	* app/core/gimpimage-colormap.[ch]: new files implementing
	colormap getters/setters. The setters push undos using the
	new function below.

	* app/core/core-enums.[ch]: added GIMP_UNDO_IMAGE_COLORMAP.

	* app/core/gimpimage-undo-push.[ch]: added
	gimp_image_undo_push_image_colormap(). Use GimpItemUndo even more
	often. Cleanup.

	* app/core/gimpimage.[ch]: removed gimp_image_get_colormap() here.

	* app/core/gimpimage-convert.c
	* app/gui/colormap-editor-commands.c
	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimptoolbox.c
	* tools/pdbgen/pdb/image.pdb: use the new API.

	* app/pdb/image_cmds.c: regenerated.

	* plug-ins/common/vinvert.c: removed the comment about the bug,
	cosmetic cleanup.

	Unrelated:

	* app/gui/splash.c: added a frame around the splash. Please eek
	if it doesn't please you.
2003-03-18 13:49:02 +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
Michael Natterer b417203a62 added GIMP_UNDO_CHANNEL_COLOR.
2003-03-17  Michael Natterer  <mitch@gimp.org>

	* app/core/core-enums.[ch]: added GIMP_UNDO_CHANNEL_COLOR.

	* app/core/gimpchannel.[ch]: added "gboolean push_undo" to
	gimp_channel_set_color().

	* app/core/gimpimage-undo-push.[ch]: added
	gimp_image_undo_push_channel_color().

	* app/core/gimpimage-qmask.c
	* app/gui/qmask-commands.c
	* app/widgets/gimpchannellistitem.c
	* tools/pdbgen/pdb/channel.pdb: changed accordingly.

	* app/gui/channels-commands.c
	* app/gui/layers-commands.c
	* app/gui/vectors-commands.c: ditto. Use gimp_item_rename().

	* app/pdb/channel_cmds.c: regenerated.
2003-03-17 02:25:39 +00:00
Sven Neumann 06b3e1471c fixed typo which caused layer mask undo to fail.
2003-02-27  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage-undo-push.c (undo_push_layer_mask): fixed
	typo which caused layer mask undo to fail.
2003-02-27 18:47:48 +00:00
Michael Natterer c8b4394d71 Reimplemented the undo history:
2003-02-20  Michael Natterer  <mitch@gimp.org>

	Reimplemented the undo history:

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

	Changes/cleanups to the undo system to enable/simplify the new
	undo history implementation:

	* app/core/core-types.h: removed enum undo_event_t. Removed the
	GimpImage parameter from GimpUndoPopFunc and GimpUndoFreeFunc
	because GimpUndo has a GimpImage pointer now (see below).

	* app/core/core-enums.[ch]: added enum GimpUndoEvent. Added an
	enum value for REDO_EXPIRED.

	* app/core/gimpimage.[ch]: added a GimpUndo pointer to the
	"undo_event" signal which needs to be passed for all events except
	UNDO_FREE.

	* app/display/gimpdisplayshell-handlers.c: changed accordingly.

	* app/core/gimpundo.[ch]: added a GimpImage pointer to the
	GimpUndo struct. Removed GimpImage parameters all over the
	place. Added preview stuff. The preview creation needs to be
	triggered explicitly using gimp_undo_create_preview() because the
	GimpUndo can't know when it's possible to create the preview.

	* app/core/gimpimage-undo-push.c
	* app/paint/gimppaintcore-undo.c
	* app/tools/gimptransformtool-undo.c: changed accordingly, cleanup.

	* app/core/gimpundostack.[ch]: ditto. Return the freed undo from
	gimp_undo_stack_free_bottom(). Removed unused container signal
	handlers.

	* app/core/gimpimage-undo.c: free the redo stack the same way old
	undos are freed (from bottom up). Emit "undo_event" with event ==
	REDO_EXPIRED for each removed redo.

	* app/core/gimpmarshal.list: added new marshallers.

	New undo history implementation:

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpundoeditor.[ch]
	* app/widgets/gimpundopreview.[ch]: new widgets for the undo
	step previews and the history itself.

	* app/widgets/gimppreview-utils.c: added GimpUndoPreview to the
	list of possible preview types.

	* app/gui/dialogs-constructors.[ch]
	* app/gui/dialogs-menu.c
	* app/gui/dialogs.c
	* app/gui/image-menu.c
	* app/gui/toolbox-menu.c: removed the old and added the new undo
	history to the dialog factory and the various dialog menus.

	* app/widgets/gimpdnd.[ch]: don't warn if a GType has no
	corresponding DND type. Instead, return FALSE from the function
	that failed.

	* app/widgets/gimppreview.c: check the return value of gimpdnd
	functions.  Not only add drag sources but also remove them when no
	longer needed.

	* app/widgets/gimpselectioneditor.h: removed unneeded inclusion of
	"gui/gui-types.h".
2003-02-20 12:47:42 +00:00
Michael Natterer fefaa3092f added "undo_desc" parameters.
2003-02-17  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage.[ch] (gimp_image_position_*): added
	"undo_desc" parameters.

	* app/core/gimpimage-undo-push.c: changed accordingly.

	* app/widgets/gimpitemlistview.[ch]: moved the item stack
	manipulation function pointers from the instance to the class
	struct. Added lots of descriptive strings to be used by tooltips
	and undo steps.

	* app/widgets/gimpchannellistview.c
	* app/widgets/gimpitemlistitem.c
	* app/widgets/gimplayerlistview.[ch]
	* app/widgets/gimpvectorslistview.c
	* app/gui/dialogs-constructors.c
	* app/gui/layers-commands.[ch]
	* app/gui/vectors-commands.c: changed accordingly. Cleanup.
2003-02-17 13:33:29 +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 be70105d3b Moved the undo system to the core: Keep GimpUndoStack objects as undo and
2003-02-12  Michael Natterer  <mitch@gimp.org>

	Moved the undo system to the core: Keep GimpUndoStack objects as
	undo and redo stack. Use GimpUndo objects as members of the
	stacks. GimpUndoStack is derived from GimpUndo and keeps undo
	groups, so undo group handling is much simpler than before
	(the whole group is just a single GimpUndo object on the
	stack and not everything between group boundary markers).

	* app/Makefile.am
	* app/undo_types.h: removed.

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

	* app/core/core-enums.[ch]: added GimpUndoMode and GimpUndoType.

	* app/core/core-types.h: removed UndoType, added GimpUndoAccumulator,
	GimpUndoPopFunc and GimpUndoFreeFunc.

	* app/core/gimpundo.[ch]: do everything the old "Undo" struct did.
	Removed the virtual push() function and added free().

	* app/core/gimpundostack.[ch]: keeps the new undo/redo stacks
	and also acts as undo group.

	* app/core/gimpimage-undo.[ch]: moved the undo apparatus here.

	* app/core/gimpimage.[ch]: removed the old stuff.

	* app/core/gimpmarshal.list: added marshaller needed for GimpUndo.

	* app/undo.[ch]: removed the whole undo mechanism. Only the
	actual undo pushing functions are left.

	* app/undo_history.c
	* app/gui/edit-commands.c
	* app/gui/file-commands.c
	* app/gui/image-menu.c
	* app/gui/preferences-dialog.c
	* app/tools/gimpeditselectiontool.c: changed accordingly.
2003-02-12 17:11:34 +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
Michael Natterer c5b1f98add unified some comments, some cleanup.
2003-02-03  Michael Natterer  <mitch@gimp.org>

	* app/undo.c: unified some comments, some cleanup.

	* app/pdb/procedural_db.c: some cleanup & comments to clarify
	what GIMP_PDB_PASS_THROUGH does.
2003-02-03 13:45:40 +00:00
Michael Natterer 794885e297 added gimp_item_configure() and gimp_item_copy().
2003-01-31  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpitem.[ch]: added gimp_item_configure() and
	gimp_item_copy().

	* app/core/gimpdrawable.c (gimp_drawable_configure,copy): use them.

	* app/vectors/gimpvectors.[ch]: added gimp_vectors_new(),
	gimp_vectors_copy() and gimp_vectors_copy_points(). Use the new
	GimpItem functions just as GimpDrawable does. Added a
	get_memsize() implementation.

	* app/vectors/gimpstroke.[ch]: made it a GimpObject and added
	a get_memsize() implementation.

	* app/undo.c: implemented vectors undo as if the new GimpVectors
	functions above worked.

	* app/gui/dialogs-constructors.c
	* app/gui/vectors-commands.c
	* app/tools/gimpvectortool.c: use gimp_vectors_new,copy().
2003-01-31 18:08:32 +00:00
Michael Natterer 44278fd4d8 Fixed bug #97449:
2003-01-29  Michael Natterer  <mitch@gimp.org>

	Fixed bug #97449:

	* app/core/gimpchannel.c (gimp_channel_scale,resize)
	* app/core/gimplayer.c (gimp_layer_scale,resize)
	* app/undo.c (undo_pop_layer_mod,channel_mod): emit "size_changed"
	whenever the size has changed. Cleaned up the two undo_pop
	functions.

	* app/core/gimpimage.c (gimp_image_size_changed): emit
	"size_changed" on all layers/channels so their previews are
	updated correctly on image resize and image resize undo. Don't
	invalidate layers/channels previews here because it's the
	layers'/channels' job to invalidate themselves if needed.
2003-01-29 17:27:34 +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
Michael Natterer ea95a3227d Replaced Garry's fix for bug #98843 by a more general solution which stops
2003-01-02  Michael Natterer  <mitch@gimp.org>

	Replaced Garry's fix for bug #98843 by a more general solution
	which stops the active tool when an undo group start is pushed:

	* app/core/gimpimage.[ch]: removed the "layer_merge" signal
	and added "undo_start" instead.

	* app/undo.c: emit "undo_start" in undo_push_group_start()
	_before_ checking if gimage->undo_on is TRUE.

	* app/tools/tool_manager.c: connect to "undo_start" and HALT the
	active tool if neccessary.

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

	* app/core/gimpedit.c: push an undo group around the copy
	operation. Will probably have to add more undo group types to wrap
	other critical image modifications with.

	* app/core/gimpimage-merge.c
	* app/gui/convert-dialog.c
	* app/gui/edit-commands.c
	* app/gui/test-commands.c
	* app/tools/gimpimagemaptool.c: removed all special code to
	stop the active tool.
2003-01-02 13:38:09 +00:00
Garry R. Osgood d8fd3b04c1 Updated my CVS. app/undo.c app/undo_history.c app/core/gimpimage.[ch]
2003-01-01 Garry R. Osgood <grosgood@rcn.com>
* MAINTAINERS: Updated my CVS.
* app/undo.c
* app/undo_history.c
* app/core/gimpimage.[ch]
* app/tools/gimpimagemaptool.c
* app/core/gimpimage-merge.c: implementation of LAYER_MERGE
signal emitters and listeners. (see bug #98843); listeners thaw
undo stack (image map tools, usually).
* app/widgets/gimpviewabledialog.c: gimp_viewable_dialog_close ()
Check if the widget has a non-null reference to a window before
using it to synthesize a cancel event. These seven deltas closes bug #98843.
* app/core/gimpimage-merge.c: (gimp_image_merge_layers())
Regardless of merge type, temporarily set composition mode
of bottom layer to NORMAL, then merge. Closes bug #101036.
2003-01-01 23:40:53 +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
Michael Natterer 9c416076b1 app/undo.c (undo_pop_layer) emit "alpha_changed" from the image if we
2002-08-28  Michael Natterer  <mitch@gimp.org>

	* app/undo.c (undo_pop_layer)
	* app/core/gimpimage.c (gimp_image_[add|remove]_layer): emit
	"alpha_changed" from the image if we started (or ended up)
	with an image containing one layer without alpha.

	* app/core/gimplayer.c: use gimp_container_num_children() instead
	of accessing container->num_children manually.
2002-08-28 14:09:14 +00:00
Michael Natterer c2523d8d63 compress emissions of "mask_changed" and "qmask_changed" across undo
2002-08-22  Michael Natterer  <mitch@gimp.org>

	* app/undo.c: compress emissions of "mask_changed" and
	"qmask_changed" across undo groups.

	* app/core/gimpimage-mask.c: set GIMP_DRAWABLE(mask)->preview_valid
	to FALSE in gimp_image_mask_invalidate(), not in
	gimp_image_mask_push_undo(). Fixes selection preview rendering
	after a mask undo.
2002-08-22 10:40:11 +00:00
Michael Natterer 33bba65728 Make sure the selection (gimpimage-mask.c) functionality is really built
2002-08-20  Michael Natterer  <mitch@gimp.org>

	Make sure the selection (gimpimage-mask.c) functionality is really
	built *on top* of the GimpChannel functionality:

	* app/undo.[ch]: renamed undo_push_image_mask() to
	undo_push_mask() and generalized it's API to take a GimpChannel
	param so undos can be pushed for channels which are not the
	image's selection. Simplified the API and added code which copies
	the region of interest instead of leaving this to callers.

	* app/undo_types.h: s/IMAGE_MASK_UNDO/MASK_UNDO/

	* app/undo_history.c: changed accordingly.

	* app/core/gimpchannel.[ch]: don't #include "gimpimage-mask.h".
	Changed gimp_channel_push_undo() to really push a channel undo,
	not a selection undo. Added "gboolean push_undo" params to all
	functions which are called from gimpimage-mask.c. Various cleanups
	and optimizations. Added /*< proxy-foo >*/ stuff to the header so
	we export just the struct itself to libgimpproxy. Added accessors
	gimp_channel_[get|set]_show_masked().

	* app/core/gimpimage-mask.[ch]: renamed gimp_image_mask_undo() to
	gimp_image_mask_push_undo(). Call it before calling GimpChannel
	functions which modify the mask, also call all GimpChannel
	functions with push_undo = FALSE. Emit gimp_image_mask_changed()
	after each operation instead of calling it in
	gimp_image_mask_invalidate(). Removed gimp_image_mask_none()
	because it is the same as gimp_image_mask_clear().
	General cleanup.

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

	* app/core/gimpedit.c: call gimp_image_mask_clear(), not
	gimp_channel_clear (gimp_image_get_mask()).

	* app/core/gimpimage-crop.c
	* app/core/gimpimage-resize.c
	* app/core/gimpimage-scale.c: call gimp_image_mask_changed()

	* app/gui/channels-commands.c
	* app/gui/select-commands.c
	* app/tools/gimptexttool.c
	* tools/pdbgen/pdb/channel.pdb
	* tools/pdbgen/pdb/selection.pdb: follow GimpChannel and
	gimp_image_mask* API changes.

	* app/pdb/channel_cmds.c
	* app/pdb/selection_cmds.c
	* libgimpproxy/gimpchannel.h: regenerated.

	Unrelated:

	* app/core/gimpimage.c: call gimp_drawable_push_undo() instead of
	undo_push_image() directly.
2002-08-20 10:22:23 +00:00
Sven Neumann fd21daebdf app/undo.c app/config/gimpconfig-deserialize.c app/core/gimpbrushpipe.c
2002-06-09  Sven Neumann  <sven@gimp.org>

	* app/undo.c
	* app/config/gimpconfig-deserialize.c
	* app/core/gimpbrushpipe.c
	* app/core/gimpcontainer.c
	* app/core/gimpimagefile.c
	* app/gui/paths-dialog.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimplevelstool.c
	* app/widgets/gimpcomponentlistitem.c
	* app/widgets/gimpgradienteditor.c: unified translatable strings
	and unmarked a few for translation since they should never be seen.

2002-06-09  Sven Neumann  <sven@gimp.org>

	* POTFILES.in: updated.

	* de.po: updated german translation.
2002-06-09 12:53:42 +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
Michael Natterer c86ca2da6a app/Makefile.am removed...
2002-05-05  Michael Natterer  <mitch@gimp.org>

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

	* app/widgets/Makefile.am
	* app/widgets/gimphelp.[ch]: ...and added here.

	* app/widgets/widgets-enums.[ch]: added GimpHelpBrowserType here
	as registered enum. Added an evil hack with GimpCursorType so
	app/config/gimpguiconfig.h can include this file.

	* app/widgets/gimpcursor.c: added an assertion because of the
	changed GimpCursorType.

	* app/config/gimpguiconfig.[ch]: added a property for the help
	browser type.

	* app/gimprc.c
	* app/libgimp_glue.c
	* app/gui/preferences-dialog.c
	* tools/pdbgen/pdb/help.pdb

	* app/pdb/help_cmds.c: regenerated.

	Some nav_window cleanup before chopping:

	* app/nav_window.[ch]: removed the old preview code and use
	GimpNavigationPreviews only. Namespaceified all functions. Speak
	in terms of GimpDisplayShell, not GimpDisplay. Lots of internal
	cleanup.

	* app/gui/gui-types.h: removed NadiagtionDialog here...

	* app/display/display-types.h: ...and added it here.

	* app/display/gimpdisplayshell-callbacks.[ch]: added a callback
	for the navigation button and call nav_window_show_popup() from there.

	* app/display/gimpdisplayshell.c: free shell->nav_dialog
	unconditionally, connect to the new callback.

	* app/display/gimpdisplayshell-scale.c
	* app/display/gimpdisplayshell-scroll.c
	* app/gui/view-commands.c: changed accordingly.

	* app/widgets/gimppreview.c (gimp_preview_set_viewable): the
	assertion introduced recently was too tight, breaking
	GimpNavigationPreview. Changed it to do an "is a" check, not exact
	preview type matching.

	* app/widgets/gimpimagepreview.c: added quick-hack support for
	xres != yres.

	* app/widgets/gimpnavigationpreview.[ch]: made
	gimp_navigation_preview_grab_pointer() public so the nav_window
	can call it.

	Unrelated:

	* app/display/gimpdisplay.c: removed the gui/ dependency from this
	file by removing info_window stuff.

	* app/display/gimpdisplayshell.c (gimp_display_shell_flush): update
	the info_window here.

	* app/gui/dialogs-constructors.c (dialogs_indexed_palette_new): call
	gimp_dockable_set_context() like all other constructors.

	* app/undo.c
	* app/paint/gimppaintcore.h: some more include cleanup.
2002-05-05 19:17:41 +00:00
Nate Summers 69ccb4d370 massive tool plugin changes 2002-03-29 03:50:29 +00:00
Sven Neumann bba46560ba app/core/core-enums.h moved some more enums into the right place and
2002-03-18  Sven Neumann  <sven@gimp.org>

	* app/core/core-enums.h
	* app/core/core-types.h: moved some more enums into the right place
	and namespacified them.

	* app/undo.c
	* app/core/gimpdrawable-bucket-fill.[ch]
	* app/core/gimpdrawable.c
	* app/core/gimpedit.c
	* app/core/gimpimage-mask.c
	* app/core/gimpimage-new.c
	* app/core/gimpimage-qmask.c
	* app/core/gimplayer.[ch]
	* app/display/gimpdisplayshell-dnd.c
	* app/gui/channels-commands.c
	* app/gui/file-new-dialog.c
	* app/gui/layers-commands.c
	* app/gui/menus.c
	* app/paint-funcs/paint-funcs.c
	* app/tools/gimpbucketfilltool.c
	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/layer.pdb
	* tools/pdbgen/pdb/misc_tools.pdb: changed accordingly.

	* libgimp/gimpcompat.h
	* plug-ins/script-fu/siod-wrapper.c: added compat defines for changed
	GimpMaskApplyMode enum.

	* tools/pdbgen/enums.pl
	* app/pdb/drawable_cmds.c
	* app/pdb/edit_cmds.c
	* app/pdb/image_cmds.c
	* app/pdb/layer_cmds.c
	* app/pdb/misc_tools_cmds.c
	* libgimp/gimpenums.h
	* plug-ins/script-fu/script-fu-constants.c: regenerated.
2002-03-18 11:07:34 +00:00
Michael Natterer b20880ad38 renamed undo_push_layer_rename() to undo_push_item_rename(), so
2002-02-26  Michael Natterer  <mitch@gimp.org>

	* app/undo.[ch]: renamed undo_push_layer_rename() to
	undo_push_item_rename(), so channel/vectors renaming is undoable.
	Use "gsize" for all undo size variables. Cleanup.

	* app/undo_types.h: s/LAYER_RENAME_UNDO/ITEM_RENAME_UNDO/.

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

	* app/core/gimpimage.c: s/Vectors/Path/ in all user-visible strings.

	* app/core/gimpitem.[ch]: cleanup.

	* app/gui/menus.c: s/"New Path"/"New Path..."/, pass
	"vectors_menu_update" to gimp_item_factory_new().

	* app/gui/layers-commands.c: renaming the floating layer
	transforms it into an ordinary layer. Push an undo group around
	around both the "fs_to_layer" and the renaming.

	* app/gui/channels-commands.c
	* app/gui/vectors-commands.c: made renaming undoable, cleanup.

	* app/widgets/gimpitemlistview.c: added an EEKY hack so "Delete"
	is not broken any more for floating selections. Need a better
	solution...
2002-02-26 00:04:55 +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 769136013f app/undo.[ch] added undo stuff for GimpVectors.
2002-02-24  Michael Natterer  <mitch@gimp.org>

	* app/undo.[ch]
	* app/undo_types.h: added undo stuff for GimpVectors.

	* app/core/gimimage.c: use the new undo functions. Still unused
	and untested.
2002-02-24 21:00:58 +00:00
Michael Natterer ab0c8fe212 added parasite undo groups.
2002-02-24  Michael Natterer  <mitch@gimp.org>

	* app/core/core-types.h: added parasite undo groups.

	* app/undo.c: added assertions to make undo_push_group_start()
	accept only "UndoType" values and undo_push() only "UndoImplType".

	* app/core/gimpdrawable.c: use the new undo group and don't
	include "undo_types.h".
2002-02-24 18:31:48 +00:00
Michael Natterer 7831743211 app/undo_types.h added new undo type IMAGE_TYPE_UNDO along with
2002-02-23  Michael Natterer  <mitch@gimp.org>

	* app/undo_types.h
	* app/undo.[ch]: added new undo type IMAGE_TYPE_UNDO along with
	undo_push_image_type(), removed undoing the base_type from
	IMAGE_SIZE_UNDO. Hacked the undo_names a bit.

	* app/core/gimpimage-convert.c: call undo_push_image_type().

	This removes lots of unneeded invalidations on type/size undo.
2002-02-23 18:29:07 +00:00
Michael Natterer a3c3e7d3a6 General undo cleanup:
2002-02-23  Michael Natterer  <mitch@gimp.org>

	General undo cleanup:

	* app/undo.[ch]: made all undo structs private. Changed all
	undo_push_foo() functions to take useful parameters instead of
	"gpointer foo_ptr" and create the undo structs internally.
	Renamed lots of functions so they are more self-explanatory
	(like undo_push_gimage_mod -> undo_push_image_size). Added some
	undo functions (channel reordering is undoable now).  Never pass
	in a UndoType, as they are reseved for groups now (see below).
	Lots of cleanup and stuff...

	* app/undo_types.h: is a private header now which defines "enum
	UndoImplType" which is reserved for actual undo operations.
	All enum values are named "FOO_UNDO".

	* app/core/core-types.h: added the "UndoType" enum here and don't
	include "undo_types.h" any more. The UndoType values are all
	named "FOO_UNDO_GROUP" and are reserved for undo groups.

	The ID space of actual undo operations and undo groups
	is now strictly disjunct.

	* app/core/gimpchannel.h
	* app/core/gimpimage.h
	* app/core/gimplayer.h
	* app/core/gimplayermask.h
	* app/paint/gimppaintcore.h
	* app/tools/gimptransformtool.h: removed undo stuct definitions.

	* app/undo_history.c
	* app/path_transform.h
	* app/core/gimpchannel.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.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/gui/paths-dialog.c
	* app/paint/gimppaintcore.c
	* app/tools/gimpbezierselecttool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimptexttool.c
	* app/tools/gimptransformtool.c
	* tools/pdbgen/pdb/guides.pdb
	* tools/pdbgen/pdb/layer.pdb
	* tools/pdbgen/pdb/undo.pdb: changed accordingly.

	* app/pdb/guides_cmds.c
	* app/pdb/layer_cmds.c
	* app/pdb/undo_cmds.c: regenerated.

	* app/core/gimpimage.[ch]: added infrastructure for holding a
	GimpList of GimpVectors objects. The API is the same as for layers
	and channels. Not used yet.
2002-02-23 17:29:19 +00:00
Michael Natterer 9f9fa587ec app/Makefile.am removed...
2002-02-21  Michael Natterer  <mitch@gimp.org>

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

	* app/core/Makefile.am
	* app/core/gimplayer-floating-sel.[ch]: ...and added here.

	* app/undo.c
	* app/core/gimpdrawable-transform.c
	* app/core/gimpedit.c
	* app/core/gimpimage-convert.c
	* app/core/gimpimage-crop.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-mask.c
	* app/core/gimpimage-merge.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/gimplayer.c
	* app/gui/layers-commands.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpfreeselecttool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimprectselecttool.c
	* app/tools/gimptexttool.c
	* app/tools/gimptransformtool.c
	* app/xcf/xcf-load.c
	* app/xcf/xcf-save.c
	* plug-ins/tools/common/gimpbrushselecttool.c
	* tools/pdbgen/pdb/floating_sel.pdb
	* tools/pdbgen/pdb/layer.pdb: changed includes accordingly.

	* app/pdb/floating_sel_cmds.c
	* app/pdb/layer_cmds.c: regenerated.
2002-02-21 22:19:45 +00:00
Michael Natterer 9c510759c5 Made the paint tool PDB wrappers work again (a bit at least...)
2002-02-21  Michael Natterer  <mitch@gimp.org>

	Made the paint tool PDB wrappers work again (a bit at least...)

	* app/Makefile.am: changed linking order. libtool sucks.

	* app/undo.c: check if active_tool is a GimpPaintTool before
	casting it.

	* app/paint/Makefile.am
	* app/paint/paint-types.h: added new files/types.

	* app/paint/gimppaintoptions.[ch]: new files cut out of
	tools/paint_options.h. Prefixed everything with "Gimp". There is
	still GtkWidget* cruft hanging around in the structs...

	* app/paint/gimppaintcore-stroke.[ch]: utility function
	which paints a stroke array. Needed for the PDB wrappers.

	* app/paint/gimpairbrush.[ch]
	* app/paint/gimpclone.[ch]
	* app/paint/gimpconvolve.[ch]
	* app/paint/gimpdodgeburn.[ch]
	* app/paint/gimperaser.[ch]
	* app/paint/gimppaintbrush.c
	* app/paint/gimppaintcore.[ch]
	* app/paint/gimppencil.c
	* app/paint/gimpsmudge.[ch]: added *_options_new() functions which
	create correctly initialized options structures without widgets.

	* app/tools/paint_options.[ch]: removed the options struct
	definitions and value initialisations.

	* app/tools/gimpairbrushtool.c
	* app/tools/gimpblendtool.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpclonetool.c
	* app/tools/gimpconvolvetool.c
	* app/tools/gimpdodgeburntool.c
	* app/tools/gimperasertool.c
	* app/tools/gimpinktool.c
	* app/tools/gimppaintbrushtool.c
	* app/tools/gimppainttool.c
	* app/tools/gimppenciltool.c
	* app/tools/gimpsmudgetool.c: changed all paint_options functions
	accordingly, s/PaintOptions/GimpPaintOptions/g etc., removed all
	#if 0'ed non_gui functions.

	* tools/pdbgen/pdb/paint_tools.pdb: use gimp_paint_core_stroke().
	We currently leak all paint_options structs created by the PDB
	wrappers, more stuff to come...

	* app/pdb/paint_tools_cmds.c: regenerated.
2002-02-21 16:02:30 +00:00
Michael Natterer bc7c7f3216 Implemented #7100 (initialize layer mask with a copy of the image)
2002-02-20  Michael Natterer  <mitch@gimp.org>

	Implemented #7100 (initialize layer mask with a copy of the image)

	* app/core/core-types.h: added ADD_COPY_MASK and ADD_INV_COPY_MASK
	enum values.

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

	* app/core/gimplayer.c (gimp_layer_create_mask): implement
	the new layer mask add modes.

	* app/gui/layers-commands.c (layers_add_mask_query): added radio
	buttons for the new modes.

	* app/paint-funcs/paint-funcs.c (flatten_region): this function
	was never needed so nobody noticed that it never worked. Fixed now.

	* app/undo.c
	* app/core/gimplayermask.h
	* app/core/gimpimage.c: the "mode" field of LayerMaskUndo is
	obsolete since some earlier 1.3 layer mask change. Removed it.
	(Makes mask undos work again)
2002-02-20 16:15:53 +00:00
Michael Natterer dca988f74d Core/UI separation for the paint tools:
2002-02-14  Michael Natterer  <mitch@gimp.org>

	Core/UI separation for the paint tools:

	* configure.in
	* app/Makefile.am
	* app/paint/.cvsignore
	* app/paint/Makefile.am: added new directory for the paint methods
	without GUI and tools around them.

	* app/paint/paint-types.h: typedefs for this module.

	* app/paint/gimppaintcore-kernels.h
	* app/paint/gimppaintcore.[ch]: the general paint logic taken
	from GimpPaintTool.

	* app/paint/gimpairbrush.[ch]
	* app/paint/gimpclone.[ch]
	* app/paint/gimpconvolve.[ch]
	* app/paint/gimpdodgeburn.[ch]
	* app/paint/gimperaser.[ch]
	* app/paint/gimppaintbrush.[ch]
	* app/paint/gimppencil.[ch]
	* app/paint/gimpsmudge.[ch]: subclasses of GimpPaintCore,
	implementing their own paint() methods.  Needs more hacking
	to get the GtkWidget pointers out of the options structs.

	* app/tools/gimppainttool_kernels.h: removed.

	* app/tools/tools-types.h: removed the paint tool enums.

	* app/tools/gimpairbrushtool.[ch]
	* app/tools/gimpclonetool.[ch]
	* app/tools/gimpconvolvetool.[ch]
	* app/tools/gimpdodgeburntool.[ch]
	* app/tools/gimperasertool.[ch]
	* app/tools/gimppaintbrushtool.[ch]
	* app/tools/gimppainttool.[ch]
	* app/tools/gimppenciltool.[ch]
	* app/tools/gimpsmudgetool.[ch]: all paint tools are pure GUI
	things now.  PaintOptions and friends still need to be chopped up
	though...

	* app/undo.c: changed PaintUndo to GimpPaintCoreUndo, some minor
	cleanup.

	* tools/kernelgen.c: changed accordingly.

	* tools/pdbgen/Makefile.am: scan paint/paint-types.h for enums.

	* tools/pdbgen/pdb/paint_tools.pdb: hardcode "success = FALSE" for
	all paint PDB wrappers.  The non-gui stuff is completely broken.
	More commits to come...

	* app/pdb/paint_tools_cmds.c
	* tools/pdbgen/enums.pl: regenerated.
2002-02-14 19:31:16 +00:00
Michael Natterer ceed8eae4e removed #if 0'ed old display update hackery. Don't flush the displays here
2002-02-10  Michael Natterer  <mitch@gimp.org>

	* app/undo.c: removed #if 0'ed old display update hackery. Don't
	flush the displays here at all and include nothing from
	"display/".

	* app/undo_history.c
	* app/gui/edit-commands.c: call gdisplays_flush() if undo_pop() or
	undo_redo() return TRUE.

	* app/core/gimpimage-contiguous-region.[ch]: allow a contiguous
	transparent region to be selected/filled (#71058).

	* app/core/gimpdrawable-bucket-fill.[ch]
	* app/core/gimpimage-mask-select.[ch]: take a boolean
	fill_transparent/select_transparent parameter and pass it to the
	contiguous region funcion.

	* app/display/gimpdisplayshell-dnd.c: pass
	fill_transparent == FALSE to bucket_fill_full because we fill the
	whole drawable anyway here.

	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/selection_options.[ch]: added toggle buttons to the
	tool options and pass the value to the fill and select core
	functions.

	* tools/pdbgen/pdb/misc_tools.pdb
	* tools/pdbgen/pdb/selection_tools.pdb: hardcode
	"select_transparent" to FALSE to get the old behaviour. Should
	export the new feature to plug-ins however.

	* app/pdb/misc_tools_cmds.c
	* app/pdb/selection_tools_cmds.c: regenerated.
2002-02-10 15:18:08 +00:00
Kelly Martin 56f849d9fc Fixed another use of array of gpointer in place of a proper struct, this
* app/undo.c: Fixed another use of array of gpointer in place of a
	proper struct, this time in undo_(push|pop)_channel_mod.

	* base/base-types.h
	* base/tile-manager.h
	* base/tile-manager-private.h
	* base/tile-manager.c: added PixelDataHandle as an abstraction
	on top of tiles.  PixelDataHandles either return a pointer into
	the tile data, or create a temporary buffer so the calling
	function can access data from disparate tiles using a single
	buffer.  This is a step in reducing the dependence of core
	image functions being aware of tiles as well as a step toward
	having a single abstraction for pixel data.

	* app/image_map.c: changed to use read_pixel_data_1
	* app/pixel-region.c: changed to use the read_pixel_data and
	write_pixel_data where practical.
2001-11-29 01:06:44 +00:00
Michael Natterer f7bbdc3e49 s/gimage_mask/gimp_image_mask/g
2001-11-28  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-mask.[ch]: s/gimage_mask/gimp_image_mask/g

	* app/floating_sel.c
	* app/undo.c
	* app/undo_history.c
	* app/core/gimpchannel.c
	* app/core/gimpdrawable-blend.c
	* app/core/gimpdrawable-transform.c
	* app/core/gimpdrawable.c
	* app/core/gimpedit.c
	* app/core/gimpimage-crop.c
	* app/core/gimpimage-mask-select.c
	* app/core/gimpimage-resize.c
	* app/core/gimpimage-scale.c
	* app/core/gimpimage.c
	* app/display/gimpdisplayshell-qmask.c
	* app/display/gimpdisplayshell-selection.c
	* app/display/gimpdisplayshell.c
	* app/gui/channels-commands.c
	* app/gui/edit-commands.c
	* app/gui/layers-commands.c
	* app/gui/select-commands.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpclonetool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpfliptool.c
	* app/tools/gimpfreeselecttool.c
	* app/tools/gimpinktool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimppainttool.c
	* app/tools/gimprectselecttool.c
	* app/tools/gimpselectiontool.c
	* app/tools/gimptexttool.c
	* app/tools/gimptransformtool.c
	* app/widgets/gimpchannellistview.c
	* app/xcf/xcf-save.c
	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/selection.pdb: changed accordingly.

	* app/pdb/edit_cmds.c
	* app/pdb/selection_cmds.c: regenerated.
2001-11-28 22:42:19 +00:00
Michael Natterer 6cf34005af include the new "paint-funcs/paint-funcs-types.h".
2001-11-28  Michael Natterer  <mitch@gimp.org>

	* app/base/base-types.h: include the new
	"paint-funcs/paint-funcs-types.h".

	* app/paint-funcs/Makefile.am
	* app/paint-funcs/paint-funcs-types.h: new file. Includes
	"base/base-types.h".

	* app/paint-funcs/paint-funcs.[ch]: removed the enums here,
	include "paint-funcs-types.h".

	* app/widgets/widgets-types.h: include "display/display-types.h"

	* app/display/display-types.h: include "widgets/widgets-types.h".

	* app/tools/tools-types.h: include "display/display-types.h"

	* app/gui/gui-types.h: include "tools/tools-types.h".

	The order of namespaces/dependencies should be (but is not):

	(base, paint-funcs) -> (core, file, xcf, pdb) ->
	(widgets, display) -> tools -> gui

	* app/path.c: include "tools/tools-types.h".

	* app/core/Makefile.am
	* app/core/gimpimage-guides.[ch]
	* app/core/gimpimage-merge.[ch]
	* app/core/gimpimage-resize.[ch]
	* app/core/gimpimage-scale.[ch]: new files.

	* app/core/gimpimage.[ch]: removed the stuff which is in the new
	files. Reordered all functions in both the .h and .c files,
	commented the groups of functions.

	* app/core/gimpcontainer.c: create the handler_id using a counter,
	not the address of a pointer, because the address *may* be the
	same twice, added debugging output.

	* app/core/gimpviewable.[ch]: added primitive support for getting
	a preview GdkPixbuf.

	* app/nav_window.c
	* app/undo.c
	* app/undo_history.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-mask.[ch]
	* app/display/gimpdisplay.c
	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell-dnd.c
	* app/display/gimpdisplayshell-render.c
	* app/display/gimpdisplayshell-scale.c
	* app/display/gimpdisplayshell-scroll.c
	* app/gui/image-commands.c
	* app/gui/info-window.c
	* app/gui/layers-commands.c
	* app/gui/palette-import-dialog.c
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimpmovetool.c
	* app/widgets/gimpcontainerview-utils.c
	* app/xcf/xcf-load.c: changed accordingly, some cleanup.

	* tools/pdbgen/pdb/guides.pdb
	* tools/pdbgen/pdb/image.pdb: changed accordingly, reordered functions.

	* app/plug_in.c: set the labels of the "Repeat" and "Re-Show" menu
	items to the name of the last plug-in (Fixes #50986).

	* app/display/gimpdisplayshell.[ch]: set the labels of "Undo" and
	"Redo" to the resp. undo names. Much simplified the WM icon stuff
	by removing most code and using gimp_viewable_get_new_preview_pixbuf().

	* app/widgets/gimpbrushfactoryview.c: forgot to assign the GQuark
	returned by gimp_container_add_handler().

	* app/pdb/guides_cmds.c
	* app/pdb/image_cmds.c
	* libgimp/gimpimage_pdb.[ch]: regenerated.
2001-11-28 17:51:06 +00:00
Kelly Martin 36efb12be7 Fixed evil<tm> double casting of enum to glong to gpointer for layer_mod
* app/undo.c: Fixed evil<tm> double casting of enum to glong to
	gpointer for layer_mod undo by using a struct instead of an array
	of gpointer (!!!) for storing layer_mod undo data.  Also moved
	layer offset undo information out of the undo tile manager.
	* app/image_map.c: Moved layer offset undo information out of the
	undo tile manager.

	Above changes may break image_map and layer_mod undos, please test
	as I haven't. :)
2001-11-28 16:54:11 +00:00
Michael Natterer 9bac8fafec app/core/Makefile.am new files. Changed function names to be consistent.
2001-11-28  Michael Natterer  <mitch@gimp.org>

	* app/core/Makefile.am
	* app/core/gimpimage-projection.[ch]: new files. Changed function
	names to be consistent.

	* app/core/gimpimage.[ch]: removed the projection stuff
	here. Removed the gimp_image_composite_blah() functions becauee
	they were just calling the resp. gimp_image_projection ones.

	* app/core/gimpimage-contiguous-region.c
	* app/core/gimpimage-convert.c
	* app/core/gimpimage-crop.c
	* app/core/gimppalette-import.c
	* app/undo.c
	* app/display/gimpdisplay.c
	* app/display/gimpdisplayshell-render.c
	* app/gui/info-window.c
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpiscissorstool.c: changed accordingly.
2001-11-28 03:08:03 +00:00
Michael Natterer 3c8b37f18c added "update_guide" signal.
2001-11-14  Michael Natterer  <mitch@gimp.org>

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

	* app/display/gimpdisplay-foreach.[ch]: removed
	gdisplays_expose_guide().

	* app/display/gimpdisplayshell-handlers.c: added a handler for
	"update_guide" and expose the guide there.

	* app/undo.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimpmovetool.c: call gimp_image_update_guide() instead
	of gdisplays_expose_guide().
2001-11-14 15:40:30 +00:00
Michael Natterer 6ed7523052 use GimpCoords structs for cur_coords, last_coords and start_coords and
2001-11-13  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimppainttool.[ch]: use GimpCoords structs for
	cur_coords, last_coords and start_coords and the undo struct
	instead of storing separate gdouble values.

	* app/undo.c
	* app/tools/gimpairbrushtool.c
	* app/tools/gimpclonetool.c
	* app/tools/gimpconvolvetool.c
	* app/tools/gimpdodgeburntool.c
	* app/tools/gimperasertool.c
	* app/tools/gimppaintbrushtool.c
	* app/tools/gimppenciltool.c
	* app/tools/gimpsmudgetool.c: changed accordingly.
2001-11-13 16:21:34 +00:00
Michael Natterer 4fa2553253 should set the fs.backing_store TileManager pointer to NULL after deleting
2001-11-09  Michael Natterer  <mitch@gimp.org>

	* app/undo.c: should set the fs.backing_store TileManager pointer
	to NULL after deleting it. Why the heck didn't this crash
	before...?

	* app/core/Makefile.am
	* app/core/gimpdrawable-blend.[ch]: the blend stuff taken from
	the blend tool.

	* app/core/core-types.h: added the blend enums.

	* app/tools/gimpblendtool.[ch]: removed the stuff here.

	* tools/pdbgen/pdb/tools.pdb: changed blend wrapper accordingly.

	* app/pdb/tools_cmds.c: regenerated.

	* tools/pdbgen/Makefile.am: don't scan tools/gimpblendtool.c.

	* tools/pdbgen/enums.pl: regenerated.

	* app/tools/gimpbucketfilltool.c: fixed crash caused by my last
	change.

	* app/display/gimpdisplay.c
	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell.c: removed lots of uglyness by
	using GtkImages for the qmask and navigation buttons. Don't realize
	anything before the shell is shown. Connect the realize
	callback and do stuff there. Don't call the realize callback
	from gimp_display_shell_canvas_events() any more.

	* pixmaps/navbutton.xpm
	* pixmaps/qmasknosel.xpm
	* pixmaps/qmasksel.xpm: removed.

	* themes/Default/Makefile.am
	* themes/Default/images/Makefile.am
	* themes/Default/images/stock-menu-navigation.png
	* themes/Default/images/stock-menu-qmask-off.png
	* themes/Default/images/stock-menu-qmask-on.png: new PNGs instead.

	* libgimpwidgets/gimpstock.[ch]: register them as stock icons.
2001-11-09 16:54:56 +00:00
Michael Natterer d162376d47 app/display/Makefile.am app/display/gimpdisplay-callbacks.[ch]
2001-11-01  Michael Natterer  <mitch@gimp.org>

	* app/display/Makefile.am
	* app/display/gimpdisplay-callbacks.[ch]
	* app/display/gimpdisplay-render.[ch]
	* app/display/gimpdisplay-scale.[ch]
	* app/display/gimpdisplay-scroll.[ch]: removed and added as
	gimpdisplayshell-foo.[ch] because they are all methods of the
	shell.

	* app/display/gimpdisplay.[ch]
	* app/display/gimpdisplayshell.[ch]: moved the "offset" and "size"
	variables from GimpDisplay to GimpDisplayShell. GimpDisplay
	should know nothing about screen coordinates.

	The gdisplay_[un]transform_foo() methods are still part of
	GimpDisplay but will be moved to GimpDisplayShell as soon as the
	tools' vitrual functions speak in image coordinates instead of
	GdkEvents.

	* app/display/gimpdisplayshell-callbacks.[ch]: prefixed all
	functions with gimp_display_shell_*. Moved some stuff to a
	"realize" callback File still has to be renamed.

	* app/display/gimpdisplay-foreach.[ch]: removed
	gdisplays_shrink_wrap().

	* app/gui/menus.c
	* app/gui/view-commands.[ch]
	* app/display/gimpdisplayshell-scale.[ch]: implemented "Zoom to
	Fit Window" function (#57670).

	* app/nav_window.c
	* app/display/gimpdisplay-handlers.c
	* app/display/gimpdisplayshell-render.[ch]
	* app/display/gimpdisplayshell-scale.[ch]
	* app/display/gimpdisplayshell-scroll.[ch]
	* app/gui/colormap-dialog.c
	* app/gui/gui.c
	* app/gui/preferences-dialog.c
	* app/tools/gimpmagnifytool.c
	* app/tools/gimpmovetool.c
	* app/widgets/gimppreview.c: changed according to variable
	and filename changes.

	* app/tools/tool_manager.c: tool_manager_select_tool(): send the
	active tool a "HALT" command before selecting the new one. Fixes
	stale tool dialogs which were there because some other hack was
	removed (This is IMHO the right place to shut down the active
	tool).

	* app/tools/gimpcroptool.c: don't shrink wrap after cropping but
	let gimprc.allow_resize_windows decide.

	* app/tools/gimpselectiontool.c: gimage_mask_value() takes image,
	not screen coordinates. A good example of how braindead it is to
	pass GdkEvents to tools :-) Fixes incorrect cursor and oper
	update of the selection tools.

	* app/tools/gimptransformtool.c
	* app/undo.c: removed (#if 0 for now) some strange code which did
	manual exposing of GimpDisplayShell areas. This was definitely a
	hack and should not be there given the image emits correct
	"update" signals.
2001-11-02 09:31:21 +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 cc83594bf2 link the app in a different order as some init functions are called from
2001-10-19  Michael Natterer  <mitch@gimp.org>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	* app/pdb/procedural_db.c: don't include "app_procs.h"
2001-10-17 11:33:43 +00:00
Michael Natterer 859e9c4117 gdk_pixbuf_new_from_stream -> _from_inline
2001-10-13  Michael Natterer  <mitch@gimp.org>

	* RELEASE-TO-CVS.patch: gdk_pixbuf_new_from_stream -> _from_inline

	* app/display/Makefile.am
	* app/display/gimpdisplay-foreach.[ch]: new files for functions
	operating on all displays (will go away as soon as the display
	behaves like a proper view which doesn't need to be updated
	explicitly).

	* app/display/gimpdisplay-callbacks.c
	* app/display/gimpdisplay-scale.[ch]
	* app/display/gimpdisplay-scroll.[ch]
	* app/display/gimpdisplay.[ch]: "scale" and "scroll" namespace
	cleanup, moved bounds_checking() to gimpdisplay-scroll.[ch], lots
	of unfinished, intermediate stuff.

	* app/display/gimpdisplayshell.[ch]: added some GObject framework
	for the GimpDisplayShell object (not used yet).

	* app/app_procs.c
	* app/docindex.c
	* app/image_map.c
	* app/nav_window.c
	* app/path.c
	* app/qmask.c
	* app/undo.c
	* app/gui/channels-commands.c
	* app/gui/convert-dialog.c
	* app/gui/edit-commands.c
	* app/gui/file-commands.c
	* app/gui/gui.c
	* app/gui/image-commands.c
	* app/gui/layer-select.c
	* app/gui/layers-commands.c
	* app/gui/offset-dialog.c
	* app/gui/paths-dialog.c
	* app/gui/preferences-dialog.c
	* app/gui/select-commands.c
	* app/gui/view-commands.c
	* 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/gimpcolorbalancetool.c
	* app/tools/gimpcroptool.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/gimpmagnifytool.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/widgets/gimpbufferview.c
	* app/widgets/gimpchannellistview.c
	* app/widgets/gimpcomponentlistitem.c
	* app/widgets/gimpdrawablelistitem.c
	* app/widgets/gimpdrawablelistview.c
	* app/widgets/gimplayerlistitem.c
	* app/widgets/gimplayerlistview.c
	* app/widgets/gimplistitem.c
	* tools/pdbgen/pdb/display.pdb
	* app/pdb/display_cmds.c: changed accordingly (mostly including
	"gimpdisplay-foreach.h" instead of "gimpdisplay.h")
2001-10-13 12:52:30 +00:00
Michael Natterer f235eabbf1 app/Makefile.am app/disp_callbacks.[ch] app/gdisplay.[ch]
2001-09-26  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/disp_callbacks.[ch]
	* app/gdisplay.[ch]
	* app/gdisplay_ops.[ch]
	* app/gximage.[ch]
	* app/image_render.[ch]
	* app/interface.[ch]
	* app/marching_ants.h
	* app/scale.[ch]
	* app/scroll.[ch]
	* app/selection.[ch]: removed.

	* app/display/Makefile.am
	* app/display/display-types.h
	* app/display/gimpdisplay-callbacks.[ch]
	* app/display/gimpdisplay-marching-ants.h
	* app/display/gimpdisplay-ops.[ch]
	* app/display/gimpdisplay-render.[ch]
	* app/display/gimpdisplay-scale.[ch]
	* app/display/gimpdisplay-scroll.[ch]
	* app/display/gimpdisplay-selection.[ch]
	* app/display/gimpdisplay.[ch]
	* app/display/gimpdisplayshell.[ch]
	* app/display/gximage.[ch]: added here.

	* app/[many files]
	* app/gui/[many files]
	* app/tools/*
	* app/widgets/[many files]: changed accordingly. Still very
	incomplete separation of the display stuff but it at least
	compiles.

	* tools/pdbgen/pdb.pl:
	* tools/pdbgen/pdb/display.pdb: s/GDisplay/GimpDisplay/,
	s/"gdisplay.h"/"display/gimpdisplay.h"/.

	* app/pdb/display_cmds.c: regenerated.
2001-09-25 23:23:09 +00:00
Thomas Canty 4e9fcfa632 app/colormaps.c app/gdisplay.c app/nav_window.c app/scroll.c
2001-08-31  Thomas Canty  <tommydal@optushome.com.au>
	* app/colormaps.c
	* app/gdisplay.c
	* app/nav_window.c
	* app/scroll.c
	* app/selection.c
	* app/undo.c
	* app/gui/about-dialog.c
	* app/gui/color-area.c
	* app/gui/color-select.c
	* app/gui/gradient-editor.c
	* app/gui/gui.c
	* app/gui/splash.c
	* app/tools/gimpcurvestool.c
	* plug-ins/Lighting/lighting_preview.c
	* plug-ins/Lighting/lighting_ui.c
	* plug-ins/MapObject/mapobject_preview.c
	* plug-ins/MapObject/mapobject_ui.c
	* plug-ins/common/animationplay.c
	* plug-ins/common/curve_bend.c
	* plug-ins/gap/gap_navigator_dialog.c
	* plug-ins/gfig/gfig.c
	* plug-ins/gimpressionist/gimpressionist.c
	* plug-ins/ifscompose/ifscompose.c
	* plug-ins/imagemap/imap_main.c
	* plug-ins/imagemap/imap_preferences.c
	* plug-ins/imagemap/imap_preview.c: replaced some deprecated GDK
	functions
2001-08-31 14:01:47 +00:00
Michael Natterer 7de0a2cbdd removed a gdk_pointer_ungrab(), it was only there because of buggy gtk+
2001-08-07  Michael Natterer  <mitch@gimp.org>

	* app/disp_callbacks.c: removed a gdk_pointer_ungrab(), it was
	only there because of buggy gtk+ 1.2.x. Cosmetic changes.

	* app/undo.c: use G_N_ELEMENTS() instead of
	sizeof(array)/sizeof(element).

	* app/gui/menus.c: more stock icons, moved the item_factory
	creation into the menus_get_foo_factory() functions, use
	G_N_ELEMENTS(). This file badly needs to be spit up...

	* app/core/gimpviewable.[ch]
	* app/widgets/gimpcontainermenu.[ch]
	* app/widgets/gimpcontainerview.[ch]
	* app/widgets/gimplistitem.[ch]
	* app/widgets/gimpmenuitem.[ch]
	* app/widgets/gimppreview.[ch]: replaced tons of signal emissions
	by virtual functions which are *much* faster. Moreover, all of
	them are private implementation bits of the specific class
	hierarchy and are useless or even dangerous to be exposed as
	signals.

	* app/widgets/gimpdrawablelistitem.c: removed the drag_motion()
	implementation as it's already done in the parent class.

	* app/widgets/gimplistitem.[ch]
	* app/widgets/gimplayerlistitem.c: redraw the widget when the
	drop_type has changed. Fixes drop_indicator drawing.
2001-08-07 12:42:23 +00:00
Sven Neumann e5949e4326 app_procs.c errors.c errors.h file-save.c gdisplay.c module_db.c use
2001-07-25  Sven Neumann  <sven@gimp.org>

	* app_procs.c
	* errors.c
	* errors.h
	* file-save.c
	* gdisplay.c
	* module_db.c
	* undo.c: use GObject functions and const fixes.
2001-07-25 01:03:43 +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 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 37ce6b9ac8 app/Makefile.am removed.
2001-07-08  Michael Natterer  <mitch@gimp.org>

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

	* app/core/gimpdrawable.[ch]: added the functions here. Made an
	end to the myth that FG/BG and the undo system (!!!) are not
	really part of the core.

	* app/disp_callbacks.c
	* app/floating_sel.c
	* app/image_map.c
	* app/qmask.c
	* app/undo.c
	* app/core/gimpchannel.c
	* app/core/gimpdrawable-desaturate.c
	* app/core/gimpdrawable-equalize.c
	* app/core/gimpdrawable-invert.c
	* app/core/gimpdrawable-offset.c
	* app/core/gimpedit.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-mask.c
	* app/core/gimpimage-new.c
	* app/core/gimpimage.[ch]
	* app/core/gimplayer.c
	* app/core/gimplayermask.c
	* app/gui/channels-commands.c
	* app/gui/gui.c
	* app/gui/layers-commands.c
	* app/tools/gimpairbrushtool.c
	* app/tools/gimpbezierselecttool.c
	* app/tools/gimpblendtool.c
	* app/tools/gimpbrightnesscontrasttool.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpclonetool.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpconvolvetool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimphistogramtool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimpinktool.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimppainttool.c
	* app/tools/gimpposterizetool.c
	* app/tools/gimpscaletool.c
	* app/tools/gimpthresholdtool.c
	* app/tools/gimptransformtool.c
	* app/tools/tool_manager.c
	* app/widgets/gimpchannellistitem.c
	* app/widgets/gimpchannellistview.c
	* app/widgets/gimpdrawablelistitem.c
	* app/widgets/gimplayerlistitem.c
	* app/widgets/gimplayerlistview.c
	* 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/parasite_cmds.c
	* app/pdb/selection_cmds.c
	* app/pdb/text_tool_cmds.c
	* app/pdb/tools_cmds.c
	* tools/pdbgen/pdb.pl
	* tools/pdbgen/pdb/color.pdb
	* tools/pdbgen/pdb/drawable.pdb: changed accordingly. Misc small
	fixes and cleanups.
2001-07-07 22:49:01 +00:00
Michael Natterer b70ee4b76d put all tool_manager variables into a struct which is attached to a
2001-07-07  Michael Natterer  <mitch@gimp.org>

	* app/tools/tool_manager.[ch]: put all tool_manager variables into
	a struct which is attached to a "Gimp". Pass a Gimp* to all
	tool_manager functions.

	* app/disp_callbacks.c
	* app/gdisplay.c
	* app/gimage.c
	* app/scale.c
	* app/scroll.c
	* app/undo.c
	* app/gui/convert-dialog.c
	* app/gui/edit-commands.c
	* app/gui/tool-options-dialog.c
	* app/gui/tools-commands.c: changed accordingly.

	* app/tools/gimpbezierselecttool.c
	* app/tools/gimpbrightnesscontrasttool.c
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpclonetool.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimphistogramtool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpposterizetool.c
	* app/tools/gimptexttool.c
	* app/tools/gimpthresholdtool.c
	* app/tools/gimptool.c
	* app/tools/gimptransformtool.c: mostly bad hacks for tool dialogs
	which exist without a real context. Needs some more review.
2001-07-07 17:36:00 +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 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 3ef20cd842 major cleanup. After being finished, I decided that it needs to be
2001-06-18  Michael Natterer  <mitch@gimp.org>

	* app/nav_window.[ch]: major cleanup. After being finished, I
	decided that it needs to be factored out to a widget (see below),
	so like 90% of this file will go away soon.

	* app/apptypes.h: added opaque NavigationDialog typedef.

	* app/gdisplay.[ch]: Added gdisplay_selection_visibility() which
	is called from gdisplays_selection_visibility(). Capitalized the
	SelectionControl enum values. Cleaned up the GDisplay struct and
	it's initialisation while i was on it.

	* app/gimage.c: gimage_size_changed_handler(): removed stuff which
	is now done by GimpImage itself.

	* app/scale.c
	* app/scroll.c: also update the navigation popup, not only the
	dialog.

	* app/selection.[ch]: major indentation & cleanup attack. Maybe
	found the "Selection vanishes" bug (the timeout id was assinged to
	a gint, not a _guint_).

	* app/undo.c: s/gimp_image_size_changed/gimp_viweable_size_changed/

	* app/core/gimpdrawable.c: invalidate the image's preview from our
	"invalidate_preview" implementation. This means that the image's
	preview is invalidated way too often currently, which cries for
	some general freeze/thaw mechanism on the GimpViewable level.
	(Note that previews are rendered in the idle loop, so this is not
	really a major performance impact, it's just ugly).

	* app/core/gimpimage.[ch]: removed the "size_changed" signal...

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

	* app/core/gimplayer.c: invalidate_preview(): always chain up,
	also if it's a floating selection.

	* app/gui/info-dialog.[ch]
	* app/gui/info-window.c: minor cleanups.

	* app/gui/preferences-dialog.c: no need to invalidate the image
	after we have invalidated all it's layers.

	* app/core/gimpimage-mask.c
	* app/gui/commands.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpinktool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimppainttool.c: capitalized the SelectionCommand enum
	values.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpnavigationpreview.[ch]: new widget.

	* app/widgets/gimppreview.[ch]: added a non-working
	non-dot-for-dot mode. Added xres/yres params to the
	gimp_preview_calc_size() helper function.

	Cache the "size" value which was passed to the simple function
	variants (gimp_preview_new() and gimp_preview_set_size()) so we
	can re-calculate the preview's extents on the underlying
	viewable's "size_changed" signal and on gimp_preview_set_viewable().

	* app/widgets/gimpdrawablepreview.c
	* app/widgets/gimpimagepreview.c: changed accordingly.
2001-06-18 13:10:03 +00:00
Dave Neary 8a4d5f08b1 Made all the global options members of one struct, gimprc.
2001-06-03  Dave Neary  <dneary@eircom.net>

	* app/gimprc.[ch]: Made all the global options members of one
	struct, gimprc.

	* lots of .c files in app, app/core, app/tools, app/widgets &
	app/gui: Changed accordingly.
2001-06-03 20:40:50 +00:00
Dave Neary 109abaeed4 app/core/gimpimage.[ch] app/core/gimpimage-mask.c
2001-05-31  Dave Neary  <dneary@eircom.net>

	* app/core/gimpimage.[ch]
	* app/core/gimpimage-mask.c
	* app/tools/gimpbycolorselecttool.c
	* app/undo.c: Added a "mask_changed" signal, to allow
	gimpbycolorselect to update it's dialog properly, and take out a
	silly dependency in gimpimage.

	One outstanding issue is that now the dialog doesn't close
	automatically when the tool context changes. Working on it :)
2001-05-31 19:53:13 +00:00
Michael Natterer 7d1375e949 Makefile.am configure.in added new directory libgimpbase/
2001-05-21  Michael Natterer  <mitch@gimp.org>

	* Makefile.am
	* configure.in
	* gimptool-1.4.in: added new directory libgimpbase/

	* app/Makefile.am: link against the new lib.

	* app/appenums.h: removed the PDB enums which are in
	libgimpbase/gimpbasetypes.h now. They are all "Gimp" prefixed.

	* app/apptypes.h: #include "libgimpbase/gimpbasetypes.h"

	* app/[lots]
	* app/core/[of]
	* app/gui/[files]
	* app/tools/: changed includes and all PDB types.

	* app/pdb/*: regenerated.

	* libgimp/Makefile.am: don't build libgimpi.a uglyness any more.

	* libgimp/gimpenv.[ch]
	* libgimp/gimplimits.[hh]
	* libgimp/gimpparasite.[ch]
	* libgimp/gimpparasiteio.[ch]
	* libgimp/gimpprotocol.[ch]
	* libgimp/gimpsignal.[ch]
	* libgimp/gimpunit.h
	* libgimp/gimputils.[ch]
	* libgimp/gimpwire.[ch]: removed...

	* libgimpbase/*: ...and added here as new library.

	* libgimp/gimp.[ch]
	* libgimp/gimpdrawable.[ch]
	* libgimp/gimpenums.h
	* libgimp/gimpimage.[ch]
	* libgimp/gimptile.c
	* libgimp/gimptypes.h
	* libgimp/gimpunit.c: changed accordingly. Added the
	gimp_*_add_new_parasite to gimp.[ch], gimpdrawable.[ch] and
	gimpimage.[ch].

	* libgimpwidgets/gimppatheditor.c
	* libgimpwidgets/gimpquerybox.c
	* libgimpwidgets/gimpsizeentry.c
	* libgimpwidgets/gimpunitmenu.c
	* libgimpwidgets/gimpwidgets.c
	* libgimpwidgets/gimpwidgetstypes.h: changed includes accordingly.

	* plug-ins/*/Makefile.am
	* plug-ins/common/mkgen.pl: link against libgimpbase.

	* tools/pdbgen/Makefile.am: scan libgimpbase/gimpbasetypes.h, so
	the enums are known to pdbgen...

	* tools/pdbgen/enumcode.pl: ...but don't write them out to
	libgimp/gimpenums.h

	* tools/pdbgen/app.pl: include libgimp/gimpbase.h in all *_cmds.c
	files. Added GIMP_ to the type names ganerated in app/.

	* tools/pdbgen/enums.pl: regenerated.

	* tools/pdbgen/pdb.pl
	* tools/pdbgen/pdb/fileops.pdb
	* tools/pdbgen/pdb/procedural_db.pdb
	* tools/pdbgen/pdb/unit.pdb: changed includes.
2001-05-21 13:58:46 +00:00
Michael Natterer 62a4c05777 removed (was not used).
2001-05-15  Michael Natterer  <mitch@gimp.org>

	* app/gimpcontextpreview.[ch]: removed (was not used).

	* app/apptypes.h: removed the Guide typedef.

	* app/core/core-types.h: added it here as GimpGuide (everything in
	core/ must be "Gimp"-prefixed).

	* app/gimage.[ch]: removed the global "next_guide_id" variable,
	don't destroy the guides in the "destroy" handler.

	* app/core/gimpimage.[ch]: destroy them in destroy().

	* app/xcf.c: use GimpImage accessors to add the guides, so we
	don't need "next_guide_id".

	* app/gdisplay.[ch]
	* app/undo.c
	* app/core/gimpimage-duplicate.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimpmovetool.[ch]
	* tools/pdbgen/pdb/guides.pdb: s/Guide/GimpGuide/, cleanup.
2001-05-15 19:10:57 +00:00
Michael Natterer d240f623f1 new directory app/base/
2001-05-15  Michael Natterer  <mitch@gimp.org>

	* configure.in: new directory app/base/

	* app/Makefile.am
	* app/boundary.[ch]
	* app/brush_scale.[ch]
	* app/gimpchecks.h
	* app/gimplut.[ch]
	* app/pixel_processor.[ch]
	* app/pixel_region.[ch]
	* app/pixel_surround.[ch]
	* app/temp_buf.[ch]
	* app/tile.[ch]
	* app/tile_cache.[ch]
	* app/tile_manager.[ch]
	* app/tile_manager_pvt.h
	* app/tile_pvt.h
	* app/tile_swap.[ch]: moved to base/

	* app/base/Makefile.am
	* app/base/base-types.h
	* app/base/*: new directory for the sub-object pixel maniplation
	and storage stuff. Does not include Gtk+ or anything outside
	base/. Did some cleanup in all files.

	* app/appenums.h
	* app/apptypes.h
	* app/core/gimpimage.h: removed types which are now in
	base/base-types.h.

	* app/base/base-config.[ch]
	* app/gimprc.[ch]: put the config variables for base/ to their own
	file so base/ doesn not have to include gimprc.h (does not yet
	work, i.e. the variables are un-configurable right now)

	* app/main.c: set a log handler for "Gimp-Base".

	* app/paint-funcs/Makefile.am
	* app/paint-funcs/paint-funcs.[ch]: removed the color hash which
	maps RGB to color indices because it's a totally standalone system
	which has nothing to do with the paint-funcs and introduced a
	GimpImage dependency.

	paint-funcs/ should be considered on the same sub-object
	(glib-only) level as base/, only in a different directory.

	* app/core/Makefile.am
	* app/core/gimpimage-colorhash.[ch]: put the color hash here.

	* app/gimage.c: don't invalidate the color hash here...

	* app/core/gimpimage.c: ... but in the colormap_changed() default
	inplementation. Initialize the hash in class_init().

	* tools/pdbgen/Makefile.am: scan app/base/base-types.h for enums.

	* tools/pdbgen/enums.pl: regenerated.

	* app/[lots]
	* app/core/[of]
	* app/gui/[files]
	* app/pdb/[all]
	* app/tools/[over]
	* app/widgets/[the]
	* tools/pdbgen/pdb/[place]: changed #includes accordingly. And use
	base_config->value instead of the stuff from gimprc.h.
2001-05-15 11:25:25 +00:00
David Neary 42c3912161 app/tools/gimpbycolorselecttool.[ch] Temporarily fixed an issue with undo
2001-05-10  David Neary  <dneary@eircom.net>

        * app/tools/gimpbycolorselecttool.[ch]
        * app/undo.c: Temporarily fixed an issue with undo when
        there's a bycolorselect mask on the image - since
        gimp_by_color_select_tool_initialize_by_image() should be
        a private function, this needs changing.
2001-05-10 21:01:02 +00:00
Michael Natterer d1022c34b6 app/Makefile.am removed.
2001-05-10  Michael Natterer  <mitch@gimp.org>

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

	* app/core/Makefile.am
	* app/core/core-types.h
	* app/tools/Makefile.am
	* app/tools/tools-types.h: new files.

	* app/tools/gimptoolinfo.[ch]: removed.
	* app/core/gimptoolinfo.[ch]: added here.

	* libgimp/Makefile.am
	* libgimp/gimp.h
	* libgimp/gimpadaptivesupersample.[ch]
	* libgimp/gimpbilinear.[ch]: removed here...

	* libgimpcolor/Makefile.am
	* libgimpcolor/gimpcolortypes.h
	* libgimpcolor/gimpadaptivesupersample.[ch]
	* libgimpcolor/gimpbilinear.[ch]: ..and added here.

	* tools/pdbgen/app.pl
	* tools/pdbgen/pdb/paths.pdb

	* app/*.c: changed tons of #include's
2001-05-09 22:34:59 +00:00
Michael Natterer 8985b107c3 configure.in added new directory app/core/ for the core object system.
2001-05-09  Michael Natterer  <mitch@gimp.org>

	* configure.in
	* app/Makefile.am: added new directory app/core/ for the core
	object system.

	* app/gimage_mask.[ch]
	* app/gimpbrush-header.h
	* app/gimpbrush.[ch]
	* app/gimpbrushgenerated.[ch]
	* app/gimpbrushpipe.[ch]
	* app/gimpchannel.[ch]
	* app/gimpcontainer.[ch]
	* app/gimpcontext.[ch]
	* app/gimpdata.[ch]
	* app/gimpdatafactory.[ch]
	* app/gimpdatalist.h
	* app/gimpdrawable-desaturate.[ch]
	* app/gimpdrawable-equalize.[ch]
	* app/gimpdrawable-invert.[ch]
	* app/gimpdrawable-offset.[ch]
	* app/gimpdrawable-preview.[ch]
	* app/gimpdrawable.[ch]
	* app/gimpgradient.[ch]
	* app/gimpimage-convert.[ch]
	* app/gimpimage-duplicate.[ch]
	* app/gimpimage-undo.[ch]
	* app/gimpimage.[ch]
	* app/gimplayer.[ch]
	* app/gimplayermask.[ch]
	* app/gimplist.[ch]
	* app/gimpmarshal.[ch]
	* app/gimpobject.[ch]
	* app/gimppalette-import.[ch]
	* app/gimppalette.[ch]
	* app/gimppattern-header.h
	* app/gimppattern.[ch]
	* app/gimpundo.[ch]
	* app/gimpundostack.[ch]
	* app/gimpviewable.[ch]: removed these files...

	* app/core/*: ...and added them here.

	* app/*.c
	* app/gui/*.c
	* app/pdb/*.c
	* app/tools/*.c
	* app/widgets/*.c
	* plug-ins/common/gbr.c
	* plug-ins/common/gih.c
	* plug-ins/common/pat.c
	* po/POTFILES.in
	* tools/pdbgen/Makefile.am
	* tools/pdbgen/enums.pl
	* tools/pdbgen/pdb.pl
	* tools/pdbgen/pdb/*.pdb: changed accordingly.
2001-05-09 02:32:03 +00:00
Michael Natterer f63cd1d979 new signal "floating_selection_changed", removed ancient declaration of
2001-05-07  Michael Natterer  <mitch@gimp.org>

	* app/gimpimage.[hc]: new signal "floating_selection_changed",
	removed ancient declaration of _GimpImageRepaintArg.

	* app/floating_sel.c
	* app/undo.c: emit "floating_selection_changed" where approptiate.

	* app/gimage_mask.c: s/"Floated Layer"/"Floating Selection"/
	because we view this layer directly now (not some thing with an
	"L" icon).

	* app/gui/layers-commands.c: don't use confusing boolean variables
	which indicate that something is not true (reversed their logic).

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpchannellistitem.[ch]: new widget. Does nothing yet.

	* app/widgets/gimpchannellistview.c: set the button box
	insensitive when there is a floating selection.

	* app/widgets/gimpdrawablelistitem.c: made channel DND work again.
	Very ugly btw.

	* app/widgets/gimpdrawablelistview.c: connect to
	"floating_selection_changed". Fake a change of the active drawable
	so the button boxes get updated correctly.

	* app/widgets/gimplayerlistview.c: set the sensitivity of the
	buttons correctly.

	* app/widgets/gimplistitem.c: create GimpChannelListItems for
	channels.  Some very ugly code to work around broken
	GTK_STATE_INSENSITIVE propagation in list items.
2001-05-08 01:32:25 +00:00
Michael Natterer 950e35d577 renamed the "resize" signal to "size_changed".
2001-05-06  Michael Natterer  <mitch@gimp.org>

	* app/gimpimage.[ch]: renamed the "resize" signal to "size_changed".

	* app/gimage.c: changed accordingly.

	* app/undo.c: renamed the "shrink_wrap" to "size_changed", call
	gimp_image_size_changed() and let the handlers do the work.

	* app/widgets/gimplistitem.[ch]: added a virtual set_preview_size()
	method and a default implementation.

	* app/widgets/gimplayerlistitem.c: added an inplementation of
	set_preview_size() which set's the size of the mask preview.

	* app/widgets/gimpchannellistview.c: implement set_preview_size()
	and set the size of the component previews.

	* app/widgets/gimpcontainerlistview.c: call
	gimp_list_item_set_preview_size() instead of resizing the preview
	manually.

	* app/widgets/gimpcontainerview.c: emit "set_preview_size" even if
	the size has not changed so we can use it to re-calculate the
	preview size on image size change.

	* app/widgets/gimpdrawablelistview.c: connect to the image's
	"size_changed" signal and trigger preview size re-calculation in
	the callback.
2001-05-06 17:56:10 +00:00
Michael Natterer 59b06707bd added GimpDropMode... ...removed from here.
2001-05-06  Michael Natterer  <mitch@gimp.org>

	* app/appenums.h: added GimpDropMode...
	* app/gimpdnd.h: ...removed from here.

	* app/gimpimage.[ch]:
	- New signal "mode_changed".
	- removed "const GimpImage*" from gimp_image_colormap_changed()
	  because a signal emission is never "const" for the object
	  which emits the signal.
	- Fixed gimp_image_[set|get]_component_[active|visible]():
	  ALPHA_CHANNEL maps to ALPHA_PIX only in RGB mode, use
	  ALPHA_G_PIX/ALPHA_I_PIX in GRAY/INDEXED mode.

	* app/gimpimage-convert.c
	* app/undo.c: call gimp_image_mode_changed().

	* app/gimpviewable.c: added an implementation of
	"invalidate_preview" which frees the preview temp_buf which may be
	attached to the viewable. Subclasses need to chain up now.

	* app/gimpdrawable.c
	* app/gimpimage.c: chain up in invalidate_preview().

	* app/widgets/gimpchannellistview.c: connect to the image's
	"mode_changed" signal and rebuild the channel list in the
	callback.

	* app/widgets/gimpcontainerview.h: indentation.

	* app/widgets/gimpdockbook.c: set the dockable's context to NULL
	in gimp_dockbook_remove()

	* app/widgets/gimpimagedock.c: forgot to actually set the dock's
	image in gimp_image_dock_new().

	* app/gui/dialogs-constructors.c: added a get_name_func() for tool
	views which returns the tool's "blurb". It's safe to assume now
	that a dockable's context will exist as long as the dockable
	exists unless it's explicitely set to NULL, so remove ugly hacks
	handling context destruction.

	* app/tools/gimptool.c: removed COMPAT_CRUFT and useless #include's.
2001-05-06 16:14:34 +00:00
Michael Natterer f6f1901228 app/paint_funcs.c app/paint_funcs.h removed the old files.
2001-04-07  Michael Natterer  <mitch@gimp.org>

	* app/paint_funcs.c
	* app/paint_funcs.h
	* app/paint_funcs_simd.S: removed the old files.

	* tools/pdbgen/Makefile.am
	* app/app_procs.c
	* app/channel_ops.c
	* app/channels_dialog.c
	* app/desaturate.c
	* app/disp_callbacks.c
	* app/floating_sel.c
	* app/gimage.c
	* app/gimage_mask.c
	* app/gimpchannel.c
	* app/gimpdrawable-preview.c
	* app/gimpdrawable.c
	* app/gimpimage.c
	* app/gimplayer.c
	* app/gimplayermask.c
	* app/global_edit.c
	* app/image_map.c
	* app/image_new.c
	* app/layers_dialog.c
	* app/temp_buf.c
	* app/toolbox.c
	* app/undo.c
	* app/undo_history.c
	* app/paint-funcs/paint-funcs.c
	* app/tools/gimpairbrushtool.c
	* app/tools/gimpblendtool.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpdodgeburntool.c
	* app/tools/gimperasertool.c
	* app/tools/gimpfliptool.c
	* app/tools/gimpinktool.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimppaintbrushtool.c
	* app/tools/gimppainttool.c
	* app/tools/gimppenciltool.c
	* app/tools/gimptexttool.c
	* app/tools/gimptransformtool.c: changed accordingly.
2001-04-07 15:58:26 +00:00
Michael Natterer 2824801f78 made undo_pop_paint() work again.
2001-03-31  Michael Natterer  <mitch@gimp.org>

	* app/undo.c: made undo_pop_paint() work again.

	* app/tools/gimppainttool.[ch]: store the tool ID and the tool
	type in the PaintUndo struct.

	* app/tools/gimppenciltool.c: removed unused variable.

	* app/tools/gimptool.c: removed and reordered STUB()s and cruft.
2001-03-31 17:46:59 +00:00
Michael Natterer 4ee31d0cac re-enabled transform undo. Fixes the transform tool crashes.
2001-03-31  Michael Natterer  <mitch@gimp.org>

	* app/undo.c: re-enabled transform undo. Fixes the transform tool
	crashes.

	* app/tools/gimptool.[ch]: put tool->ID back because the undo
	system uses it. Also, a unique tool serial number will be not too
	bad to have once we have module tools.

	* app/tools/gimptransformtool.[ch]: changed accordingly.
2001-03-31 14:47:44 +00:00
Hans Breuer 787ffe3e93 app/makefile.msc adapted to current state of file renaming/restructuring.
2001-03-16  Hans Breuer  <hans@breuer.org>

	* app/makefile.msc
	* app/tools/makefile.msc : adapted to current state of file
	renaming/restructuring. Probably will break again soon ...

	* app/context_manager.c : needs register_tools () prototype

	* app/gimplist.c
	* app/gimppalette-import.c : #include <string.h> for memcpy, strcmp
	and friends

	* app/pdb/fileops_cmds.c : #include <process.h>	/* for _getpid() */
	(Yes I know that this is not the right place to change it, but hacking
	pdbgen.pl to get platform specific headers is out of my scope)

	* app/test_commands.c : explicit casts to (GimpSetDrawableFunc) make
	it compile even with strict checks turned on.

	* app/undo.c (undo_pop_paint) : return a value even if the function
	does nothing at the moment (makes it compile)

	* libgimp/gimp.def : updated

	* libgimp/gimpcolorselector.h : include <gmodule.h> to make
	gimp_color_selector_(un)register prototypes conform to their
	implementation

	* libgimp/gimpfeatures.h : reflect 1.3 version

	* libgimpmath/gimpmatrix.c
	* libgimpwidgets/gimpdialog.c : more <string.h> inclusion

	* libgimp/makefile.msc : moved gimpadativesupersample.c to
	libgimpcolor, which makes it reusable from the core, too.

	* libgimp/gimp.def : updated

	* libgimp/gimpproceduraledb.c : #include <string.h>

	* libgimpcolor/gimpcolor.def
	* libgimpcolor/makefile.msc : added gimpadaptivesupersample

	* libgimpmath/gimpmatrix.c : #include <string.h> for memcmp
	* libgimpwidgets/gimpdialog.c - " - for strcmp
2001-03-16 19:14:04 +00:00
Michael Natterer b51d761fcc app/Makefile.am app/apptypes.h new subclass of GimpDrawableListView (the
2001-03-11  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/apptypes.h
	* app/gimplayerlistview.[ch]: new subclass of GimpDrawableListView
	(the upcoming replacement of the layers dialog). Connects to the
	new GimpLayer signals using the layer container as signal proxy
	(see below).

	* app/gimpcontainerview.[ch]: made "set_container" a virtual
	function.  This is needed by the GimpLayerListView to
	connect/disconnect signals. Subclasses implementing this method
	MUST obey the following order of instructions:

	1. disconnect from signals related to GimpContainerView->container
	2. chain up (!!!)
	3. connect to signals related to GimpContainerView->container

	And yes, I will add DocBook files for all those new objects :)

	* app/gimppreview.[ch]: made "border_color" a GimpRGB instead of
	guchar[3]. Added gimp_preview_set_border_color().

	* app/gimpcontainergridview.c
	* app/gimplayerlistitem.c: use gimp_preview_set_border_color().

	* app/gimpcontainerlistview.c
	* app/gimpdrawablelistview.c: cleanup.

	* app/gimpdrawablelistitem.c: we can safely asume that our parent
	widget is a GimpDrawableListView and use it's "reorder_drawable"
	function pointer (after checking that it's there).

	* app/gimplistitem.c: connect the correct DND type when changing
	the container of a list item with "reorderable" enabled.

	* app/gimplayer.[ch]: added accessors and "*_changed" signals for
	layer->mode, layer->opacity and layer->preserve_trans.

	* app/disp_callbacks.c: fixed a FIXME: use the correct bucket fill
	tool context again.

	* app/tools/paint_options.[ch]: paint_mode_menu_new(): added a
	boolean which toggles the "Behind" item on/off to the same
	constructor can be used for all paint mode menus.

	* app/tools/gimptoolinfo.c: rect. select is the standard tool again.

	* app/brush_select.c
	* app/floating_sel.c
	* app/gimpimage.c
	* app/layers_dialog.c
	* app/pdb/layer_cmds.c
	* app/tools/gimpeditselectiontool.c
	* tools/pdbgen/pdb/layer.pdb: use the new layer accessors and the
	paint_mode_menu constructor.

	* app/commands.c
	* app/gdisplay.c
	* app/menus.c
	* app/undo.c
	* app/tools/gimppainttool.c
	* app/tools/gimptool.c
	* app/tools/paint_options.c
	* app/tools/tool_manager.c: put the #warning's back inside
	#ifdef __GNUC__
2001-03-11 17:24:47 +00:00
Garry R. Osgood b8a72df54e Garry R. Osgood <grosgood@rcn.com>
* app/Makefile.am
Inclusion of David's MMX code into Makefile now
depends on prior definition of HAVE_ASM_MMX.
* app/pdb/procedural_db.c
Line 276 cast of va_args to type GimpRGB seems
very problematical on SGI, as the va_args macro
expands to Extreme Ugliness and
(GimpRGB)(Extreme Ugliness) does not compile.
RH Linux seems indifferent and accepts either.
* app/commands.c
* app/gdisplay.c
* app/menus.c
* app/plug_in_cmds.c
* app/undo.c
* app/tools/gimppainttool.c
* app/tools/gimptool.c
* app/tools/paint_options.c
* app/tools/tool_manager.c
s|#<remark about extreme buggedness>|
/* #<remark about extreme buggedness> */|
Not all compilers are at peace with non-standard
pre-compiler directives. SGI MIPs compilers are
among the latter species.
2001-03-11 13:15:41 +00:00
Nate Summers 6fa118a0fd More transform tool work. 2001-03-09 07:09:12 +00:00
Michael Natterer 1d987a3ba7 app/tools/Makefile.am lots of files renamed to gimp*tool.[ch]
2001-03-08  Michael Natterer  <mitch@gimp.org>

	* app/tools/Makefile.am
	* app/tools/[almost *]: lots of files renamed to gimp*tool.[ch]

	* app/commands.c
	* app/context_manager.c
	* app/disp_callbacks.c
	* app/gdisplay.c
	* app/gimage.c
	* app/gimage_mask.c
	* app/gimpdnd.c
	* app/gimprc.c
	* app/global_edit.c
	* app/info_window.c
	* app/scale.c
	* app/scroll.c
	* app/undo.c
	* app/pdb/text_tool_cmds.c
	* app/pdb/tools_cmds.c
	* po/POTFILES.in
	* tools/pdbgen/Makefile.am
	* tools/pdbgen/enums.pl
	* tools/pdbgen/pdb/text_tool.pdb
	* tools/pdbgen/pdb/tools.pdb: changed accordingly.
2001-03-08 01:07:03 +00:00
Michael Natterer af76f2bbb8 removed the layer mask functions.
2001-03-06  Michael Natterer  <mitch@gimp.org>

	* app/gimage.[ch]: removed the layer mask functions.

	* app/gimpchannel.[ch]: added a boolean "dummy" parameter to
	gimp_channel_copy() so it has the same signature as
	gimp_layer_copy() and can be used by the GimpDrawableListView to
	generically duplicate drawables.

	* app/gimpcontainerview.c: call "select_item" with a NULL item
	before changing the underlying GimpContainer so subclasses have
	a chance to update (e.g. set button sensitivity).

	* app/gimpdnd.c: folded all the GtkType comparing code into a
	utility function (much more readable now).

	* app/gimpdrawablelistview.[ch]: activated the "raise", "lower",
	"duplicate" and "delete". I'm not really happy with all those
	function pointers passed to the constructor (and the dummy
	parameters I've added to some GimpChannel functions) -- OTOH the
	generic view maybe worth the "gboolean dummy" cruft hanging around
	in the channel class.

	* app/gimplayer.[ch]: removed the "apply_mask", "edit_mask" and
	"show_mask" booleans ...

	* app/gimplayermask.[ch]: .. and added them here together with
	proper accessors and "*_changed" signals.

	This also makes the layer mask undo code much clearer as we don't
	have to store the booleans separately.

	* app/gimplayerlistitem.c: badly hacked to acheive the correct
	indicator being drawn around the active drawable. This needs
	a new GimpPreview function for setting the border color.

	* app/gimplistitem.c: smaller horizontal spacing.

	* app/gimppreview.[ch]: added the "border_width" parameter also to
	gimp_preview_set_size() so we can modify all previews the same way
	after creation.

	* app/layers_dialog.c: no need to push an undo group around
	the "duplicate layer" code. Was this an artefact or did I miss
	something here ???

	* app/channel_ops.c
	* app/channels_dialog.c
	* app/gimage_mask.c
	* app/gimpcontainergridview.c
	* app/gimpcontainerlistview.c
	* app/gimpdrawablelistitem.c
	* app/gimpimage.[ch]
	* app/qmask.c
	* app/test_commands.c
	* app/undo.c
	* app/xcf.c
	* app/pdb/channel_cmds.c
	* tools/pdbgen/pdb/channel.pdb
	* app/pdb/selection_cmds.c
	* tools/pdbgen/pdb/selection.pdb: changed accordingly.

	* app/pdb/internal_procs.c
	* app/pdb/layer_cmds.c
	* libgimp/gimplayer_pdb.[ch]
	* tools/pdbgen/pdb/layer.pdb: commented out the layer mask accessors
	from the perl code, so the functions temporarily disappeared all
	over the place.

	* plug-ins/Makefile.am: don't build XJT until the layer mask stuff
	is back.

	* pixmaps/eye.xpm: cropped it to it's minimal size.
2001-03-06 13:28:39 +00:00
Michael Natterer 9860ad1b3d app/Makefile.am app/apptypes.h new widget derived from
2001-03-04  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/apptypes.h
	* app/gimplayerlistitem.[ch]: new widget derived from
	GimpDrawableListItem (additionally displays the layer mask),

	* app/gimplistitem.[ch]: added the preview_size to the struct so
	subclasses can create previews at arbitrary times. Removed the
	"preview_size" parameter from "set_viewable".

	* app/gimpimage.[ch]: removed the layer mask functions because
	they belong to GimpLayer.

	* app/gimplayer.[ch]: folded the layer mask code from GimpImage
	into GimpLayer's layer mask functions. Added a "mask_changed"
	signal which is emitted when a mask is added/removed. Added
	"push_undo" parameters to the functions so we can use them from
	the undo system.

	* app/undo.c: instead of badly poking the GimpLayer struct, use
	the accessors with push_undo = FALSE.

	* app/gimage_mask.c
	* app/gimpdrawablelistitem.c
	* app/layers_dialog.c
	* app/xcf.c
	* app/pdb/image_cmds.c
	* tools/pdbgen/pdb/image.pdb: changed accordingly.
2001-03-04 20:06:48 +00:00
Nate Summers 80a8d5a75f Introduced GimpPaintTool and GimpDrawTool 2001-02-27 05:21:12 +00:00
Michael Natterer 2fd2a4e6b5 app/channel_ops.c app/channels_dialog.c app/commands.c app/floating_sel.c
2001-02-25  Michael Natterer  <mitch@gimp.org>

	* app/channel_ops.c
	* app/channels_dialog.c
	* app/commands.c
	* app/floating_sel.c
	* app/gdisplay.c
	* app/gimpimage.[ch]
	* app/layer_select.c
	* app/layers_dialog.c
	* app/undo.c
	* app/xcf.c
	* app/tools/move.c: remove direct access of gimage->active_layer and
	gimage->active_channel. Reading access is of course harmless, but
	gimp_image_set_active_blah() will trigger a signal emission soon.

	It will probably be neccessary to change the functions to accept
	NULL layers and channels to acheive exactly what weird places like
	floating_sel.c did before by setting it directly.

	* gimptool-1.4.in
	* libgimp/Makefile.am
	* libgimpcolor/Makefile.am
	* libgimpmath/Makefile.am
	* libgimpwidgets/Makefile.am
	* plug-ins/libgck/gck/Makefile.am: made linking against stable
	GIMP installed in the same prefix work again by renaming all our
	libraries explicitly to libgimp<foo>-1.3.* (not as part of the
	libtool revision but as part of the library name). Removed the
	libtool revision to avoid double versioning. This has to be
	hardcoded in the libraries' Makefile.am ...

	* app/Makefile.am
	* plug-ins/FractalExplorer/Makefile.am
	* plug-ins/Lighting/Makefile.am
	* plug-ins/MapObject/Makefile.am
	* plug-ins/bmp/Makefile.am
	* plug-ins/common/Makefile.am
	* plug-ins/common/mkgen.pl
	* plug-ins/dbbrowser/Makefile.am
	* plug-ins/faxg3/Makefile.am
	* plug-ins/fits/Makefile.am
	* plug-ins/flame/Makefile.am
	* plug-ins/fp/Makefile.am
	* plug-ins/gap/Makefile.am
	* plug-ins/gdyntext/Makefile.am
	* plug-ins/gfig/Makefile.am
	* plug-ins/gflare/Makefile.am
	* plug-ins/gfli/Makefile.am
	* plug-ins/gimpressionist/Makefile.am
	* plug-ins/helpbrowser/Makefile.am
	* plug-ins/ifscompose/Makefile.am
	* plug-ins/imagemap/Makefile.am
	* plug-ins/maze/Makefile.am
	* plug-ins/mosaic/Makefile.am
	* plug-ins/pagecurl/Makefile.am
	* plug-ins/plugin-helper/Makefile.am
	* plug-ins/print/Makefile.am
	* plug-ins/rcm/Makefile.am
	* plug-ins/script-fu/Makefile.am
	* plug-ins/sel2path/Makefile.am
	* plug-ins/sgi/Makefile.am
	* plug-ins/webbrowser/Makefile.am
	* plug-ins/xjt/Makefile.am: ... while all other Makefiles can simply
	link against "libgimp<foo>-$(LT_REVISION).la"
2001-02-25 14:37:12 +00:00
Sven Neumann 9e131cb249 converted gimage->layers and gimage->channels to GimpLists.
2001-02-19  Sven Neumann  <sven@gimp.org>

	* app/gimpimage.[ch]: converted gimage->layers and gimage->channels
	to GimpLists.

	* app/channel_ops.c
	* app/channels_dialog.c
	* app/commands.c
	* app/convert.c
	* app/floating_sel.c
	* app/gdisplay.c
	* app/gimpdrawable.c
	* app/layers_dialog.c
	* app/resize.c
	* app/undo.c
	* app/xcf.c
	* app/pdb/display_cmds.c
	* app/pdb/image_cmds.c
	* app/pdb/layer_cmds.c
	* app/tools/crop.c
	* app/tools/edit_selection.c
	* tools/pdbgen/pdb/display.pdb
	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/layer.pdb: changed accordingly
2001-02-19 13:06:09 +00:00
Nate Summers 35ac032ff1 prototype for an extension that allows gmodules as plugins. Known bug:
* plug-ins/plugin-helper/*: prototype for an extension that allows
        gmodules as plugins.  Known bug: crashes on gmodules with a static "query" function

        * app/tools/tool.c
        * app/tools/tool.h: created new GimpTool object.  Did away with ToolInfo.
        Most tools still need to be ported over to the new api.
        * plug-ins/script-fu/script-fu-scripts.c: fixed typo in comment.  Pathetic, huh?
2001-02-14 04:55:21 +00:00
Michael Natterer f029c6b59f app/Makefile.am app/apptypes.h new object. Everything that can have a
2001-02-04  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/apptypes.h
	* app/gimpviewable.[ch]: new object. Everything that can have a
	preview will be a GimpViewable. The virtual functions are
	"invalidate_preview", "preview" and "preview_new".

	* app/gimpmarshal.[ch]: new marshaller needed for the viewable.

	* app/gimpdrawable.[ch]
	* app/gimpimage.[ch]: derived from GimpViewable. Removed the
	preview stuff from the public interface.

	Made a single boolean out of GimpImage's "comp_preview_valid"
	array because we have only one copposite preview.

	* app/gimplayer.c: made the preview stuff private.

	* app/gimppreviewcache.[ch]: removed gimp_preview_scale()...

	* app/temp_buf.[ch]: ...and added it as temp_buf_scale() here.

	* app/gimpdrawablepreview.[ch]: is a private method of
	GimpDrawable now.

	* app/channels_dialog.c
	* app/convert.c
	* app/drawable.c
	* app/fileops.c
	* app/floating_sel.c
	* app/gimage.c
	* app/gimage_mask.c
	* app/gimpchannel.c
	* app/gimpcontainer.c
	* app/gimpdnd.c
	* app/layer_select.c
	* app/layers_dialog.c
	* app/lc_dialog.c
	* app/nav_window.c
	* app/palette_import.c
	* app/undo.c
	* app/undo_history.c
	* app/pdb/drawable_cmds.c
	* app/pdb/image_cmds.c
	* app/tools/crop.c
	* app/tools/edit_selection.c
	* app/tools/ink.c
	* app/tools/paint_core.c
	* tools/pdbgen/pdb/drawable.pdb
	* tools/pdbgen/pdb/image.pdb
	* po/POTFILES.in: changed accordingly.
2001-02-04 22:10:54 +00:00
Michael Natterer c46bdc37f0 app/Makefile.am removed.
2001-02-03  Michael Natterer  <mitch@gimp.org>

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

	* app/gimpcontainer.[ch]: some minor fixes, cleanup.

	* app/context_manager.[ch]: made the "image_context" a GimpContainer
	and moved it here...

	* app/appenv.h
	* app/main.c: ...from here.

	* app/app_procs.c
	* app/colormap_dialog.[ch]
	* app/commands.c
	* app/gimage.c
	* app/gimpcontext.c
	* app/gimpimage.c
	* app/info_window.c
	* app/lc_dialog.c
	* app/lut_funcs.c
	* app/module_db.c
	* app/nav_window.c
	* app/palette_import.c
	* app/paths_dialog.c
	* app/pixel_region.c
	* app/scale.c
	* app/scroll.c
	* app/selection.c
	* app/temp_buf.c
	* app/undo.c
	* app/pdb/procedural_db.c
	* app/tools/by_color_select.c
	* app/tools/clone.c
	* app/tools/color_balance.c
	* app/tools/color_picker.c
	* app/tools/convolve.c
	* app/tools/crop.c
	* app/tools/curves.c
	* app/tools/paint_core.c
	* app/tools/transform_core.c: s/GimpSet/GimpContainer/g, removed
	many useless #include "appenv.h".

	* app/gimpdrawablepreview.c
	* app/gdisplay.c: found two badly crashing bugs i have introduced
	with my last changes here.
2001-02-03 22:05:41 +00:00