Commit graph

3415 commits

Author SHA1 Message Date
Michael Natterer 361c288c93 the default value of "clip" is FALSE, not TRUE. Fixes bug #106644.
2003-02-21  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimptransformoptions.c
	(gimp_transform_options_class_init): the default value of "clip"
	is FALSE, not TRUE. Fixes bug #106644.
2003-02-21 12:24:34 +00:00
Michael Natterer 5f5e0bf5d6 Refactored the GimpDisplayShell update/draw code:
2003-02-21  Michael Natterer  <mitch@gimp.org>

	Refactored the GimpDisplayShell update/draw code:

	* app/display/gimpdisplayshell.[ch]: removed the display_areas
	list which used to hold the GimpAreas to update. Instead, simply
	queue draws using gtk_widget_queue_draw[_area]() in
	gimp_display_shell_expose_area(), _expose_full() and
	_expose_guide(). Made all _draw() functions public because they
	are now called from the "expose_event" handler.  Removed rendering
	from gimp_display_shell_flush() because stuff is now flushed
	automatically by the gtk idle renderer.

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_canvas_expose): draw everything here (the code
	removed from gimp_display_shell_flush() without the GimpArea list).
	(gimp_display_shell_canvas_tool_events): return "return_val", not
	TRUE if gimp->busy is TRUE. Fixes unupdated (windowk bg color)
	display areas. Fixes bug #106595.

	* app/display/gimpdisplay.c
	* app/display/gimpdisplayshell-cursor.c
	* app/display/gimpdisplayshell-filter-dialog.c
	* app/display/gimpdisplayshell-handlers.c
	* app/display/gimpdisplayshell-selection.c
	* app/gui/view-commands.c: changed accordingly. Removed calls to
	gimp_display_shell_flush() all over the place.

	* app/display/gimpdisplayshell-scroll.c: replaced lots of code by
	a single call to gdk_window_scroll().
2003-02-21 12:16:43 +00:00
Sven Neumann a18fee2912 added a colspan parameter and fixed packing of the stock icon.
2003-02-21  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpwidgets-utils.[ch] (gimp_table_attach_stock):
	added a colspan parameter and fixed packing of the stock icon.

	* app/tools/gimpselectionoptions.c
	* app/tools/gimptextoptions.c: improved dialog layout.
2003-02-21 00:42:53 +00:00
Sven Neumann 0f59cb4040 app/widgets/gimpfontselection-dialog.c connect the dialog to the font
2003-02-20  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpfontselection-dialog.c
	* app/widgets/gimpfontselection.c: connect the dialog to the font
	selection widget and block the signal handler when the font is
	changed from the dialog. Fixes weird behaviour noted by Jimmac.
2003-02-20 17:56:18 +00:00
Sven Neumann e105077033 always start with an empty text.
2003-02-20  Sven Neumann  <sven@gimp.org>

	* app/tools/gimptexttool.c: always start with an empty text.
2003-02-20 17:05:10 +00:00
Sven Neumann df09eb68d3 trim the string only if necessary.
2003-02-20  Sven Neumann  <sven@gimp.org>

	* libgimpbase/gimputils.c (gimp_utf8_strtrim): trim the string
	only if necessary.

	* app/text/gimptext.c: changed the default text to NULL.

	* app/widgets/gimptexteditor.[ch]: replaced Cancel and OK buttons
	with a single Close button and removed the callback.

	* app/widgets/gimppropwidgets.c: gtk_text_buffer_set_text()
	doesn't like NULL pointers, pass it an empty string instead.

	* app/tools/gimptexttool.c: create a new text layer as soon as the
	user starts editing.
2003-02-20 16:11:23 +00:00
Michael Natterer 94bdcbcc01 app/widgets/Makefile.am app/widgets/widgets-types.h new GimpEditor
2003-02-20  Michael Natterer  <mitch@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpimageeditor.[ch]: new GimpEditor subclass adding
	a GimpImage pointer and a virtual set_image() function.

	* app/widgets/gimpcolormapeditor.[ch]
	* app/widgets/gimpselectioneditor.[ch]
	* app/widgets/gimpundoeditor.[ch]: derive them from GimpImageEditor.
	Removed the public set_image() functions.

	* app/gui/colormap-editor-commands.c
	* app/gui/colormap-editor-menu.c: changed accordingly.

	* app/gui/dialogs-constructors.c: removed lots of code duplication
	and use the uniform GimpImageEditor API. Misc cleanups.
2003-02-20 15:40:15 +00:00
Sven Neumann 6a9e205b2f reduced to the set of marshallers we actually use.
2003-02-20  Sven Neumann  <sven@gimp.org>

	* app/core/gimpmarshal.list: reduced to the set of marshallers we
	actually use.
2003-02-20 13:05:01 +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
Sven Neumann ec825cba0c added a new widget constructor gimp_prop_opacity_entry_new() which is a
2003-02-19  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimppropwidgets.[ch]: added a new widget constructor
	gimp_prop_opacity_entry_new() which is a scale entry with a display
	factor of 100.0.

	* app/tools/paint_options.c: use the new opacity scale for opacity
	controls.
2003-02-19 20:06:38 +00:00
Manish Singh 3b486eb09c #include <sys/types.h> for ipc/shm headers. (Bug #106461)
2003-02-18  Manish Singh  <yosh@gimp.org>

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

        * app/plug-in/plug-in.c: remove unneeded includes of ipc/shm headers.
2003-02-18 22:47:13 +00:00
Michael Natterer 8929780522 added gimp_prop_preview_new().
2003-02-18  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimppropwidgets.[ch]: added gimp_prop_preview_new().

	* app/tools/gimpblendoptions.c
	* app/tools/paint_options.c: use it.
2003-02-18 16:52:37 +00:00
Sven Neumann a72799c53e tools/pdbgen/pdb/procedural_db.pdb use regfree() to free the regex pattern
2003-02-18  Sven Neumann  <sven@gimp.org>

	* tools/pdbgen/pdb/procedural_db.pdb
	* app/pdb/procedural_db_cmds.c: use regfree() to free the regex
	pattern buffer.

	* app/widgets/gimpdnd.c (gimp_dnd_data_dest_add): unref the
	GtkTargetList after adding it to the widget.

	* app/core/gimpimage.c (gimp_image_get_new_preview): initialize
	all fields of the mask pixel_region.

	* app/core/gimpviewable.c (gimp_viewable_get_new_preview_pixbuf):
	pass a destroy notifier to gdk_pixbuf_new_from_data() so that the
	pixel data is freed with the pixbuf.

	* libgimptool/gimptool.c (gimp_tool_class_init): register a
	finalizer that unrefs the GimpToolControl object.

	* app/widgets/gimpenummenu.c (gimp_enum_stock_box_new_with_range):
	free the generated stock_id.
2003-02-18 16:29:28 +00:00
Michael Natterer 4a8118070a added plug_ins_proc_def_find() which takes a ProcRecord and returns the
2003-02-18  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-ins.[ch]: added plug_ins_proc_def_find() which
	takes a ProcRecord and returns the corresponding PlugInProcDef.

	* app/plug-in/plug-in.[ch]: added a ProcRecord pointer to the
	PlugIn struct so we know which procedure the plug-in is
	executing. Replaced "gboolean in_temp_proc" by
	"ProcRecord *current_temp_proc". Added plug_in_get_undo_desc()
	which uses the new ProcRecord members and plug_ins_proc_def_find()
	to return a human readable string.

	* app/plug-in/plug-in-run.c: pass the ProcRecord to plug_in_new().
	Set plug_in->current_temp_proc while executing a temp_proc.
	(The latter won't work since we don't run temp_procs recursively
	at the moment).

	* app/gui/plug-in-menus.c: translate the plug-in's menu_path
	before chopping it for the "Repeat" and "Reshow" menu items.

	* tools/pdbgen/pdb/drawable.pdb
	* tools/pdbgen/pdb/undo.pdb: use plug_in_get_undo_desc() when
	pushing plug-in undos.

	* app/pdb/drawable_cmds.c
	* app/pdb/undo_cmds.c: regenerated.
2003-02-18 14:08:14 +00:00
jaycox 5ed3043027 *** empty log message *** 2003-02-18 06:03:18 +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 10c4175618 s/"Add Mask to Layer"/"Add Layer Mask"/ to match an already existing
2003-02-17  Michael Natterer  <mitch@gimp.org>

	* app/core/gimplayer.c: s/"Add Mask to Layer"/"Add Layer Mask"/
	to match an already existing string,
2003-02-17 12:30:41 +00:00
Michael Natterer 0da22124d2 pass more detailed undo_desc strings instead of always "Fill".
2003-02-17  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpedit.c (gimp_edit_fill): pass more detailed
	undo_desc strings instead of always "Fill".

	* app/core/gimpimage-mask-select.c: changed undo_desc strings
	to match the already existing blurbs of the selection tools.
2003-02-17 11:32:02 +00:00
Michael Natterer 858398d630 added "const gchar *undo_desc" to gimp_image_merge_layers() so the undo
2003-02-17  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-merge.[ch]: added "const gchar *undo_desc" to
	gimp_image_merge_layers() so the undo steps say "Merge Down",
	"Flatten Image" etc. instead of always "Merge Layers".
2003-02-17 11:21:35 +00:00
Larry Ewing f23d961468 add a new variable to hold the brush vbox so the we return the correct
2003-02-15  Larry Ewing  <lewing@ximian.com>

	* app/tools/gimpinkoptions.c (gimp_ink_options_gui): add a new
	variable to hold the brush vbox so the we return the correct
	widget.
2003-02-15 21:53:10 +00:00
Michael Natterer a4a224587b Fixed most of the bugs the Script-Fu logo scripts triggered:
2003-02-14  Michael Natterer  <mitch@gimp.org>

	Fixed most of the bugs the Script-Fu logo scripts triggered:

	* app/core/gimpdrawable-bucket-fill.[ch]
	(gimp_drawable_bucket_fill): added "gboolean do_seed_fill"
	parameter instead of assuming TRUE.
	(gimp_drawable_bucket_fill_full): moved "color" and "pattern"
	parameters to the end.

	* app/tools/gimpbucketfilltool.c
	* app/display/gimpdisplayshell-dnd.c
	* app/widgets/gimpdrawablelistview.c: changed accordingly.

	* tools/pdbgen/pdb/misc_tools.pdb: only pass TRUE if the selection
	is empty. Restores old PDB behaviour.

	* app/core/gimpimage-undo.c (gimp_image_undo_group_end): return
	early if gimage->undo_on is FALSE. Fixes bogus criticals.

	* app/core/gimpimage.c (gimp_image_add_[layer|channel|vectors]):
	clamp the passed position to sane values before calling
	gimp_container_insert() (Scripts adding layers at wrong indices
	are broken but should not crash the core).

	* tools/pdbgen/pdb/paint_tools.pdb: need to copy the relevant
	paint parameters from the current context now that the paint
	options are contexts themselves.

	* tools/pdbgen/pdb/palette.pdb: removed useless includes.

	(Mostly) fixed text PDB functions:

	* app/text/gimptext-compat.[ch] (text_render): don't set
	text->font_size = -1 but get the size from the PangoFontDescrition.
	(text_get_extents): return the logical_rect, not the ink_rect
	because the size of the created text layer will be the logical_rect.

	* tools/pdbgen/pdb/text_tool.pdb: removed text_fontname_create()
	utility function and the usage of pass_through and implement all
	invokers in-place, using the correct parameters.

	* plug-ins/script-fu/siod-wrapper.c: fixed BG-IMAGE-FILL compat
	define so we can BG fill again. Cleaned up color handling code.

	* plug-ins/script-fu/scripts/coolmetal-logo.scm
	* plug-ins/script-fu/scripts/glossy.scm
	* plug-ins/script-fu/scripts/land.scm
	* plug-ins/script-fu/scripts/lava.scm
	* plug-ins/script-fu/scripts/test-sphere.scm: use new gradient names.

	* app/pdb/misc_tools_cmds.c
	* app/pdb/paint_tools_cmds.c
	* app/pdb/palette_cmds.c
	* app/pdb/text_tool_cmds.c: regenerated.
2003-02-14 22:33:22 +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
Sven Neumann ebd0d76c18 return the duplicate, not the original mask. Fixes bug #106010.
2003-02-14  Sven Neumann  <sven@gimp.org>

	* app/core/gimplayermask.c (gimp_layer_mask_duplicate): return the
	duplicate, not the original mask. Fixes bug #106010.
2003-02-14 10:21:30 +00:00
Michael Natterer 8775ff8632 fixed plugins_query() I broke recently.
2003-02-13  Michael Natterer  <mitch@gimp.org>

	* tools/pdbgen/pdb/plug_in.pdb: fixed plugins_query() I broke
	recently.

	* app/pdb/plug_in_cmds.c: regenerated.
2003-02-13 11:32:49 +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
Sven Neumann 4c8471ea45 fixed use of proxy-resume and proxy-skip trigraphs. We should get rid of
2003-02-13  Sven Neumann  <sven@gimp.org>

	* app/core/core-enums.h: fixed use of proxy-resume and proxy-skip
	trigraphs. We should get rid of these, they are so confusing.

	* app/core/core-enums.c: regenerated.

	* libgimpproxy/gimpproxytypes.h: this file was regenerated for no
	good reason.
2003-02-13 09:38:39 +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
Sven Neumann 4858a3750b app/Makefile.am app/path_bezier.[ch] app/path_curves.[ch]
2003-02-12  Sven Neumann  <sven@gimp.org>

	* app/Makefile.am
	* app/path_bezier.[ch]
	* app/path_curves.[ch]
	* app/tools/Makefile.am
	* app/tools/gimppathtool.[ch]
	* app/tools/path_tool.[ch]: removed the abandoned path tool
	prototype.
2003-02-12 13:06:13 +00:00
Sven Neumann b0161a5089 app/tools/Makefile.am removed this unused header file.
2003-02-12  Sven Neumann  <sven@gimp.org>

	* app/tools/Makefile.am
	* app/tools/path_toolP.h: removed this unused header file.
2003-02-12 12:47:27 +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 af330e9659 added lots of members for the complete state of the plug-ins.
2003-02-11  Michael Natterer  <mitch@gimp.org>

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

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

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

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

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

	* app/pdb/fileops_cmds.c
	* app/pdb/plug_in_cmds.c: regenerated.
2003-02-11 12:07:31 +00:00
Manish Singh 6afe30b923 remove a couple unused vars
2003-02-10  Manish Singh  <yosh@gimp.org>

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

        * plug-ins/common/spheredesigner.c: G_OBJECT casts not needed
        for g_signal_connect.
2003-02-11 01:49:36 +00:00
Manish Singh 96e7d31f58 added hooks for running plug-ins under a memory debugger. Also, removed
2003-02-10  Manish Singh  <yosh@gimp.org>

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

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

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

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

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

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

        * devel-docs/debug-plug-ins.txt: documented new feature
2003-02-11 01:21:21 +00:00
Sven Neumann 5d402908f8 added new utility functions gimp_config_connect() and
2003-02-10  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-utils.[ch]: added new utility functions
	gimp_config_connect() and gimp_config_disconnect() and documented
	most functions.

	* app/tools/gimptexttool.c (gimp_text_tool_connect): use the new
	GimpConfig utility functions.
2003-02-10 14:13:55 +00:00
Sven Neumann 599c2b904f allow to query for gimp paths (like "gimp_dir") as it used to work in 1.2.
2003-02-10  Sven Neumann  <sven@gimp.org>

	* app/config/gimprc.c (gimp_rc_query): allow to query for gimp
	paths (like "gimp_dir") as it used to work in 1.2.

	* libgimpwidgets/gimpunitmenu.[ch]: minor code cleanup.
2003-02-10 13:16:35 +00:00
Michael Natterer a071be69ae added a "const gchar *extension" parameter to
2003-02-10  Michael Natterer  <mitch@gimp.org>

	* app/tools/tool_options.[ch]: added a "const gchar *extension"
	parameter to gimp_tool_options_[de]serialize(). Default to
	"default" if NULL is passed.

	* app/tools/tool_manager.[ch]: load the tool_options from the
	default files in tool_manager_restore(), added tool_manager_save()
	which saves the default files.

	* app/app_procs.c: call tool_manager_save() on app exit.

	* app/gui/tool-options-dialog.c: pass "user" when loading/saving
	the user defaults. Changed tooltips of the load & save buttons.
2003-02-10 11:46:10 +00:00
Michael Natterer b3c941e9d5 take the drawable offset into account when painting (spotted by tigert).
2003-02-10  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpinktool.c: take the drawable offset into account
	when painting (spotted by tigert).
2003-02-10 11:38:03 +00:00
Michael Natterer 58d780e0c0 connect to GimpTransformOptions' "notify" signal and update grid and path
2003-02-10  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimptransformtool.[ch]: connect to GimpTransformOptions'
	"notify" signal and update grid and path drawing accordingly.

	* app/tools/gimptransformoptions.c: removed the same stuff here.
	Doesn't depend on the tool_manager any more.

	* app/tools/gimpselectionoptions.c
	* app/tools/paint_options.c: don't #include "tool_manager.h"
2003-02-10 10:08:01 +00:00
Michael Natterer 933e52adbd changed GimpOrientationType from GIMP_HORIZONTAL to
2003-02-09  Michael Natterer  <mitch@convergence.de>

	* app/core/core-enums.[ch]: changed GimpOrientationType from
	GIMP_HORIZONTAL to GIMP_ORIENTATION_HORIZONTAL etc.

	* tools/pdbgen/pdb/guides.pdb: changed accordingly. Don't subtract
	1 from guide->orientation because InternalOrientationType no
	longer exists.

	* tools/pdbgen/stddefs.pl: chop the whole GIMP_ORIENTATION_UNKNOWN
	value from the enum, not just UNKNOWN.

	* app/pdb/guides_cmds.c
	* app/pdb/transform_tools_cmds.c
	* libgimp/gimpenums.h
	* libgimp/gimpguides_pdb.c
	* plug-ins/script-fu/script-fu-constants.c
	* plug-ins/pygimp/gimpenums.py
	* tools/pdbgen/enums.pl: regenerated.

	* libgimp/gimpcompat.h
	* plug-ins/script-fu/siod-wrapper.c: added compat enums.

	* plug-ins/imagemap/imap_cmd_gimp_guides.c
	* plug-ins/xjt/xjt.c
	* plug-ins/xjt/xpdb_calls.c
	* plug-ins/common/gih.c
	* plug-ins/common/guillotine.c
	* plug-ins/common/rotate.c: changed accordingly.
2003-02-09 21:03:36 +00:00
Michael Natterer eb6e907b36 simplified everything a lot by merging the public GimpContextPropType enum
2003-02-09  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpcontext.[ch]: simplified everything a lot by
	merging the public GimpContextPropType enum with the internal
	anonymous object property id enum. Removed the internal copy_prop
	functions and handle property copying in a big switch() in
	gimp_context_copy_property(). Removed the separate signal
	connections for each property of the parent context and do the
	same using a single "notify" handler. Emit "notify" signals all
	over the place.  Removed internal arrays which are no longer
	needed due to enum merge and copy_property simplification.
	Removed the array of signal names and use g_signal_name().
	Removed gimp_context_unset_parent() and allow "parent" being NULL
	in gimp_context_set_parent().

	* app/tools/tool_manager.c
	* app/widgets/gimpdevices.c: changed accordingly.

	* libgimptool/gimptooltypes.h: changed GimpToolOptionsGUIFunc to
	return a GtkWidget (the created tool options widget).

	* libgimptool/gimptoolmodule.c: #include <gtk/gtk.h>

	* app/tools/tool_options.[ch]: removed the "main_vbox" from the
	GimpToolOptions struct. Changed gimp_tool_options_gui() to create
	and return the main_vbox.

	* app/tools/tool_manager.c: create the "This Tool has no Options"
	label here if NULL was passed as "options_gui_func". Attach the
	options widget to the tool_options object using
	g_object_set_data().

	* app/gui/tool-options-dialog.c: changed accordingly.

	* app/tools/gimpairbrushtool.c
	* app/tools/gimpblendoptions.[ch]
	* app/tools/gimpbucketfilloptions.[ch]
	* app/tools/gimpclonetool.c
	* app/tools/gimpcolorpickeroptions.[ch]
	* app/tools/gimpconvolvetool.c
	* app/tools/gimpcropoptions.[ch]
	* app/tools/gimpdodgeburntool.c
	* app/tools/gimperasertool.c
	* app/tools/gimpflipoptions.[ch]
	* app/tools/gimpinkoptions.[ch]
	* app/tools/gimpmagnifyoptions.[ch]
	* app/tools/gimpmeasureoptions.[ch]
	* app/tools/gimpmoveoptions.[ch]
	* app/tools/gimpselectionoptions.[ch]
	* app/tools/gimpsmudgetool.c
	* app/tools/gimptextoptions.[ch]
	* app/tools/gimptransformoptions.[ch]
	* app/tools/gimpvectoroptions.[ch]
	* app/tools/paint_options.[ch]: return the options vbox from
	all tool_options_gui functions.
2003-02-09 17:32:52 +00:00
Sven Neumann bb5d687557 app/text/gimptext.c app/tools/gimpbucketfilloptions.c
2003-02-08  Sven Neumann  <sven@gimp.org>

	* app/text/gimptext.c
	* app/tools/gimpbucketfilloptions.c
	* app/tools/gimpselectionoptions.c
	* app/tools/gimptextoptions.c: use N_() instead of _() with blurbs
	of object properties. GimpConfig wants the untranslated string as
	well.

	* app/widgets/gimpenummenu.c
	* app/widgets/gimppropwidgets.c: added gettext() calls.

	* app/config/gimpconfig-serialize.c: document the fact that
	gimp_config_serialize_comment() only handles ASCII comments.
2003-02-09 00:22:42 +00:00
Michael Natterer 4bd30b8c3c added gimp_tool_options_[de]serialize() utility functions.
2003-02-09  Michael Natterer  <mitch@gimp.org>

	* app/tools/tool_options.[ch]: added
	gimp_tool_options_[de]serialize() utility functions.

	* app/gui/tool-options-dialog.c: use them, cleanup.
2003-02-08 23:56:16 +00:00
Michael Natterer f6b3fb7eea allow G_CSET_DIGITS in identifiers so we can parse e.g. (foo-1 bar).
2003-02-09  Michael Natterer  <mitch@gimp.org>

	* app/config/gimpscanner.c: allow G_CSET_DIGITS in identifiers so
	we can parse e.g. (foo-1 bar).
2003-02-08 23:48:29 +00:00
Michael Natterer 23afa85b24 changed include to follow selection options change. Don't use the
2003-02-08  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpselectioneditor.c: changed include to follow
	selection options change. Don't use the tool_manager to find
	by_color_select's options.
2003-02-08 21:20:07 +00:00
Michael Natterer d24dac6833 app/tools/transform_options.[ch] removed...
2003-02-08  Michael Natterer  <mitch@gimp.org>

	* app/tools/transform_options.[ch]
	* app/tools/selection_options.[ch]: removed...

	* app/tools/gimpselectionoptions.[ch]
	* app/tools/gimptransformoptions.[ch]: ...and added here.

	* app/tools/Makefile.am
	* app/tools/gimpbezierselecttool.c
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpellipseselecttool.c
	* app/tools/gimpfreeselecttool.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimpperspectivetool.c
	* app/tools/gimprectselecttool.c
	* app/tools/gimprotatetool.c
	* app/tools/gimpscaletool.c
	* app/tools/gimpselectiontool.c
	* app/tools/gimpsheartool.c
	* app/tools/gimptransformtool.c
	* app/tools/gimpvectoroptions.h: changed accordingly.

	* app/tools/gimpinkoptions.[ch]: renamed "sensitivity" to
	"size_sensitivity". Reordered properties. Added utility
	constructors blob_button_new() and brush_widget_new().

	* app/tools/gimpinktool.c: changed accordingly.
2003-02-08 21:12:03 +00:00
Michael Natterer 7fe80e8dc8 the virtual serialize_property() returning FALSE doesn't mean the
2003-02-08  Michael Natterer  <mitch@gimp.org>

	* app/config/gimpconfig-serialize.c (gimp_config_serialize_property):
	the virtual serialize_property() returning FALSE doesn't mean the
	serialization failed but that the function didn't handle the
	property, so don't error but continue with the default
	implementation. Print newlines after properties only if
	indent_level == 0.

	* app/gui/tool-options-dialog.c: added tool options saving/loading
	as quickly hacked proof-of-concept.

	* app/paint/paint-enums.[ch]: added enum GimpInkBlobType.

	* app/tools/gimpinkoptions.[ch]: ported to object properties,
	cleanup.

	* app/tools/gimpinktool.c: changed accordingly.
2003-02-08 15:27:51 +00:00
Manish Singh 84c1f981ea app/paint-funcs/paint-funcs.c plug-ins/common/psd_save.c 64-bit cleaniless
2002-02-08  Manish Singh  <yosh@gimp.org>

        * app/paint-funcs/paint-funcs.c
        * plug-ins/common/psd_save.c
        * plug-ins/common/sample_colorize.c: 64-bit cleaniless cleanups.
2003-02-08 00:37:27 +00:00
Michael Natterer eeec3cedb8 Added object properties for almost all tool_options values and registered
2003-02-07  Michael Natterer  <mitch@gimp.org>

	Added object properties for almost all tool_options values
	and registered lots of enums with the type system:

	Part I (enum and type cleanup):

	* app/core/core-enums.[ch]
	* app/core/core-types.h: removed InternalOrientaionType and
	register GimpOrientationType. Register GimpChannelOps.
	Removed GimpToolOptionsGUIFunc.

	* app/xcf/xcf-private.h: added XcfOrientationType with the
	same values as the old InternalOrientationType

	* app/xcf/xcf-load.c
	* app/xcf/xcf-save.c: translate between GimpOrientationType and
	XcfOrientationType.

	* app/core/gimpdrawable-transform-utils.[ch]
	* app/core/gimpdrawable-transform.[ch]
	* app/core/gimpimage-crop.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-guides.c
	* app/core/gimpimage-resize.c
	* app/core/gimpimage-scale.c
	* app/core/gimpimage.h
	* app/display/gimpdisplayshell.c
	* tools/pdbgen/stddefs.pdb
	* tools/pdbgen/pdb/transform_tools.pdb: changed accordingly.

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

	* libgimptool/gimptoolenums.[ch]: added GimpTransformGridType.

	* libgimptool/gimptooltypes.h: removed GimpToolOptionsResetFunc,
	added GimpToolOptionsGUIFunc.

	Part II (tool options changes):

	* app/config/gimpconfig-utils.c (gimp_config_reset_properties):
	don't reset object properties because they have NULL as default
	value.

	* app/widgets/gimppropwidgets.[ch]: added
	gimp_prop_[enum|boolean]_radio_frame_new(),
	gimp_prop_paint_mode_menu_new() and gimp_prop_scale_entry_new(),
	which are all needed by the new tool options GUI code.

	* app/tools/tool_options.[ch]: removed the "reset_func" since
	the virtual reset() method is used now.

	* app/paint/gimpairbrushoptions.[ch]
	* app/paint/gimpcloneoptions.[ch]
	* app/paint/gimpconvolveoptions.[ch]
	* app/paint/gimpdodgeburnoptions.[ch]
	* app/paint/gimperaseroptions.[ch]
	* app/paint/gimppaintoptions.[ch]
	* app/paint/gimpsmudgeoptions.[ch]: added properties all over the
	place and removed the widget and default_value members from
	the structs. Renamed some values (e.g. s/type/clone_type/).
	Don't #include <gtk/gtk.h>.

	* app/paint/gimpairbrush.c
	* app/paint/gimpclone.c
	* app/paint/gimpconvolve.c
	* app/paint/gimpdodgeburn.c
	* app/paint/gimperaser.c
	* app/paint/gimppaintbrush.c
	* app/paint/gimppaintcore-stroke.c
	* app/paint/gimppaintcore.c
	* app/paint/gimppencil.c
	* app/paint/gimpsmudge.c
	* app/paint/paint-types.h
	* app/paint/paint.c: changed accordingly. Don't #include <gtk/gtk.h>.

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

	* app/pdb/paint_tools_cmds.c: regenerated.

	* app/tools/gimpblendoptions.[ch]
	* app/tools/gimpbucketfilloptions.[ch]
	* app/tools/gimpcolorpickeroptions.[ch]
	* app/tools/gimpcropoptions.[ch]
	* app/tools/gimpflipoptions.[ch]
	* app/tools/gimpinkoptions.c
	* app/tools/gimpmagnifyoptions.[ch]
	* app/tools/gimpmeasureoptions.[ch]
	* app/tools/gimpmoveoptions.[ch]
	* app/tools/gimptextoptions.c
	* app/tools/paint_options.[ch]
	* app/tools/selection_options.[ch]
	* app/tools/transform_options.[ch]: ditto: added properties and
	removed widget and default_value stuff. Removed most reset functions.
	Use gimp_prop widgets all over the place, renamed some values
	as above.

	* app/tools/Makefile.am
	* app/tools/gimpairbrushtool.c
	* app/tools/gimpblendtool.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpclonetool.c
	* app/tools/gimpconvolvetool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpdodgeburntool.c
	* app/tools/gimperasertool.c
	* app/tools/gimpfliptool.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimpmagnifytool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimpselectiontool.c
	* app/tools/gimpsheartool.c
	* app/tools/gimpsmudgetool.c
	* app/tools/gimptransformtool.c
	* app/tools/gimpvectoroptions.c: changed accordingly. Ported
	the paint_options GUI constructors to gimp_prop widgets.

	* app/widgets/gimpselectioneditor.c
	* app/gui/tool-options-dialog.c: changed accordingly.
2003-02-07 17:12:21 +00:00
Sven Neumann faf90e22fd app/text/gimptextlayer.c render an empty layer for an empty text layout.
2003-02-07  Sven Neumann  <sven@gimp.org>

	* app/text/gimptextlayer.c
	* app/text/gimptextlayout.[ch]: render an empty layer for an empty
	text layout.
2003-02-07 17:01:38 +00:00
Sven Neumann ba246fb10c removed /Filters/Text menu branch now that we don't install any plug-in
2003-02-06  Sven Neumann  <sven@gimp.org>

	* app/gui/image-menu.c (image_menu_entries): removed /Filters/Text
	menu branch now that we don't install any plug-in there and
	gimp-freetype is becoming obsolete.
2003-02-05 23:07:46 +00:00