Commit Graph

9 Commits

Author SHA1 Message Date
Garry R. Osgood fe6ee9d1af app/gimpimage.c app/undo.c app/undo_types.h docs/undo.txt Changed sanity
1999-12-10 Garry R. Osgood <gosgood@idt.net>
	* app/gimpimage.c
	* app/undo.c
        * app/undo_types.h
        * docs/undo.txt
        Changed sanity checks in undo_pop/free_layer_mask() to LAYER_MASK_ADD_UNDO
	and LAYER_MASK_REMOVE_UNDO to be consistent with undo_push_layer_mask()
	These now nvoke proper cleanup and release of GimpLayerMasks.
	* docs/undo.txt: New file, an overview of undo logic written by
	Austin Donnelly
	* app/undo.c
	* app/undo_types.h
	* app/gimpimage.c : Introduced a new UndoType, UNDO_NULL, which maps
	to zero, introducing that value into the enumerated types. Use the
        type to signal type unknown/error/untyped conditions.

	Full patch documentation at
	http://idt.net/~gosgood/gimp-patch/patch02.html
1999-12-10 20:55:57 +00:00
GMT 1999 Austin Donnelly f0fdd64fd3 tag text undo group with TEXT_UNDO rather than silly EDIT_PASTE_UNDO.
Wed Nov  3 22:36:21 GMT 1999 Austin Donnelly  <austin@gimp.org>

	* app/text_tool.c: tag text undo group with TEXT_UNDO rather than
	    silly EDIT_PASTE_UNDO.
	* app/undo.c: TEXT_UNDO name
	* undo_types.h: new type: TEXT_UNDO, plus fix numbering to make it
	    consistent (overlapping enums are bad).
1999-11-03 22:34:32 +00:00
Sven Neumann fce4ad6327 a whole lotta guide fixes
--Sven
1999-10-13 23:07:45 +00:00
EDT 1999 Austin Donnelly 97140d8f15 Factored out common code from gimp_image_{raise,lower}_layer and
Fri Oct  1 19:05:04 EDT 1999  Austin Donnelly  <austin@gimp.org>

	* app/gimpimage.c: Factored out common code from
	    gimp_image_{raise,lower}_layer and
	    gimp_image_{raise_layer_to_top,lower_layer_to_bottom}.  They
	    now call gimp_image_position_layer() to do the real work.
	* app/gimpimage.h: gimp_image_position_layer() takes extra arg to
	    tell whether an undo should be pushed.
	* app/layers_dialog.c: reposition layer with undo.
	* app/undo.c: new undo type for layer reposition.  Layer rename
	    shouldn't dirty and clean the image twice!
	* app/undo.h: prototype for undo_push_layer_reposition().
	* app/undo_types.h: LAYER_REPOSITION_UNDO type.
1999-10-01 23:13:13 +00:00
Austin Donnelly 4b4d3934db don't want sub-undo type undo_push_channel() takes ADD or REMOVE type
Fri Oct  1 15:18:34 1999  Austin Donnelly  <and1000@research.att.com>

	* app/channel.h: don't want sub-undo type
	* app/gimpimage.c: undo_push_channel() takes ADD or REMOVE type
	* app/undo.c: undo_push_channel() takes type.  More specific
	    CHANNEL_{ADD,REMOVE}_UNDO types.
	* app/undo.h: undo_push_channel() prototype.
	* app/undo_types.h: More specific CHANNEL_{ADD,REMOVE}_UNDO types.
1999-10-01 19:26:56 +00:00
Austin Donnelly 11409e97fb comment typo fix, plus add %D* to default image-title-format string, so
Fri Oct  1 12:46:12 1999  Austin Donnelly  <austin@gimp.org>

	* gimprc.in: comment typo fix, plus add %D* to default
	    image-title-format string, so people get a '*' in the titlebar
	    if their image is dirty.
	* app/fileops.c: initialise filename before using it.
	* app/gdisplay.c: empty parameter list () is K&R - should be
	    stronger (void) in ANSI C.
	* app/gimpdrawable.c: gimp_drawable_{dirty,clean} functions
	    removed - no one uses them anyway.  Parasite undo type is
	    proper parasite undo type, not MISC_UNDO.
	* app/gimpdrawableP.h: drawable dirty bit removed.
	* app/gimpimage.c: don't change the resolution if there's no
	    difference from the old one.  Call gdisplay_shrink_wrap() to
	    re-calculate scale factors and refresh the display on
	    resolution change.  Layer undo doesn't have sub-types
	    anymore, uses main UndoType instead.
	* app/layer.h: Remove LayerUndoType
	* app/qmask.c: fix qmask undo so it actually works.
	* app/undo.h: new types for undo_push_layer{,_mask} and
	    undo_push_qmask.
	* app/undo.c: change way group boundaries are represented:
	    each Undo has a group_boundary boolean set to TRUE if this is
	    the start or the end of a group, and the type of the Undo is
	    the group's type.  Within a group, each Undo keeps its own
	    type.  This allows pop funcs and free funcs to do
	    type-specific things (eg needed by layer and channel stuff).
	    Don't maintain per-drawable dirty flags anymore.   Floating
	    sel to layer and layer rename now uses meaningful undo types.
	* app/undo_types.h: more specific undo types:
	    LAYER_{ADD,REMOVE}_UNDO, LAYER_MASK_{ADD,REMOVE}_UNDO,
	    LAYER_RENAME_UNDO, and PARASITE_{ATTACH,DETACH}_UNDO.
	* app/undo_history.c: oops - undo stack was being placed into gtk
	    list in wrong order.
	* app/edit_selection.c: push more descriptive LAYER_DISPLACE_UNDO
	    rather than MISC_UNDO.
	* app/layers_dialog.c: better tagging of undo types
1999-10-01 18:43:24 +00:00
Sven Neumann c3a5070e5c undo for resolution and unit changes
--Sven
1999-09-29 16:44:52 +00:00
Manish Singh 7d62a34eb4 app/channel.h app/gimpimage.h app/gimpimageP.h app/layer.h app/undo.[ch]
* app/channel.h
* app/gimpimage.h
* app/gimpimageP.h
* app/layer.h
* app/undo.[ch]
* app/undo_types.h: use proper naming convention for undo enums,
and hide them from the pdbgen stuff

* app/procedural_db.h: don't skip PDB_END

* app/undo_history.c: remove gccism from undo_history_append_special

* libgimp/gimpintl.h: INIT_LOCALE should be defined in all cases

* plug-ins/script-fu/Makefile.am: add script-fu-constants.[ch]

* plug-ins/script-fu/script-fu.c: use init_generated_constants

* plug-ins/script-fu/siod.h: #include <stdio.h> for FILE *

* tools/pdbgen/script-fu.pl: new file

* tools/pdbgen/Makefile.am: add rule for constant script-fu gen

* tools/pdbgen/enumgen.pl: add enum skip feature

* tools/pdbgen/lib.pl: use nicks for gimpenums.h

* tools/pdbgen/pdb/procedural_db.pdb: ignore PDB_END

-Yosh
1999-09-23 23:42:38 +00:00
EDT 1999 Austin Donnelly bf8db4adc8 Honest, guv, it's not a feature - it's a tightly integrated package of
Mon Sep 20 12:51:30 EDT 1999  Austin Donnelly  <austin@gimp.org>

	Honest, guv, it's not a feature - it's a tightly integrated
	package of undo system cleanups and fixes.

	NEW FILES:
	* app/undo_history.c: window showing recent undo (and redo) steps
	    available.
	* app/undo_types.h: broken out of undo.h to fix circular includes.

	MODIFIED FILES:
	* app/Makefile.am: compile undo_history.c
	* app/channel.h: use enum for channel undo type, not just magic
	    numbers.
	* app/layer.h: same for layer undos.
	* app/commands.c: edit_show_undo_history_cmd_callback() function to
	    pull up undo history window.
	* app/commands.h: prototype for above.
	* app/gdisplay.c: make undo / redo menu items sensitive according
	    to whether they would do anything.  Would be easy to change
	    the text to say what would be undone/redone, but I don't know
	    the GTK.
	* app/gimpimage.c: new signal emitted by gimage:
	    UNDO_EVENT. gimp_image_undo_event() function to emit it.
	* app/gimpimage.h: prototype for above.
	* app/gimpimageP.h: pushing_undo_group member is now an undo_type,
	    not an int.  Keep undo history widget here too (if created).
	* app/menus.c: add "Edit/Undo history..." to image menu.
	* app/undo.c: new types: enums undo_type and undo_state rather than
	    ints and magic numbers.  All undo_pop_* and undo_free_*
	    functions made static.  New static function
	    undo_type_to_name().  Issue undo event signals on various
	    important events (eg undo pushed, undo popped etc).
	    undo_push() now takes a "dirties_image" arg to say whether
	    image should be dirtied.  Layer moves now dirty the image.  A
	    couple of g_return_if_fails () on undo_pop and undo_redo to
	    assert we're not in the middle of an undo group.
	    undo_get_{undo,redo}_name() to peek at names of top items on
	    undo and redo stacks resp.   undo_map_over_{undo,redo}_stack()
	    to run a function for each item or group on stack.  Layer and
	    channel undos use symbolic names rather than 0 or 1.  Array
	    mapping undo types to names.
	* app/undo.h: split out undo types to undo_types.h.  Prototypes
	    for functions described above.  undo_event_t enum.
	    undo_history_new() prototype lives here too.

	Random other fixes:
	* app/gimpdrawable.c
	* app/image_render.c: default labels in switches to keep egcs happy.

	* app/nav_window.c: some fixes to (sort of) cope with image res !=
	    screen res.  Still needs work to handle non-square pixels
	    properly.

	* app/paths_dialog.c: bad idea to call gimp_image_dirty()
	    directly.  Even though it's currently commented out.
1999-09-20 17:15:20 +00:00