2003-08-21 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/selection.pdb (selection_load,combine): use
gimp_image_mask_select_channel() instead of
gimp_image_mask_load(). Removes the restriction that the channel
to select has to have the same size as the image. Changed help
texts accordingly.
* app/pdb/selection_cmd.c
* libgimp/gimpselection_pdb.c: regenerated.
2003-08-21 Michael Natterer <mitch@gimp.org>
* app/widgets/Makefile.am
* app/widgets/gimphelp-ids.h: new file defining the available help
topics. Work in progress and totally unusable for matching to the
help system. Stay tuned...
* app/gui/about-dialog.c
* app/gui/brushes-menu.c
* app/gui/buffers-menu.c
* app/gui/channels-commands.[ch]
* app/gui/channels-menu.c
* app/gui/edit-commands.c
* app/gui/file-commands.c
* app/gui/file-new-dialog.c
* app/gui/file-open-dialog.c
* app/gui/file-save-dialog.c
* app/gui/gradients-commands.c
* app/gui/gradients-menu.c
* app/gui/image-menu.c
* app/gui/layers-commands.[ch]
* app/gui/layers-menu.c
* app/gui/module-browser.c
* app/gui/offset-dialog.c
* app/gui/palettes-menu.c
* app/gui/patterns-menu.c
* app/gui/resize-dialog.c
* app/gui/select-commands.c
* app/gui/templates-menu.c
* app/gui/tips-dialog.c
* app/gui/toolbox-menu.c
* app/gui/vectors-commands.[ch]
* app/gui/vectors-menu.c: replaced literal HTML file paths by help
IDs from gimphelp-ids.h. Renamed some menu callbacks to be
consistent with similar ones. This is just an intermediate commit
and not finished.
While browsing all the menus, I noticed that our "x to selection"
functions are not consistent at all. They should all offer the
REPLACE,ADD,SUBTRACT,INTERSECT options:
* app/core/gimpchannel.[ch]: added new function
gimp_channel_new_from_alpha(). Removed gimp_channel_layer_alpha()
and gimp_channel_layer_mask().
* app/core/gimpimage-mask.[ch]: added
gimp_image_mask_select_alpha() and
gimp_image_mask_select_component() which offer the full set of
operation, feather and feather_radius parameters as the other
selection functions.
* app/core/gimpimage-mask-select.[ch]: removed
gimp_image_mask_layer_alpha() and gimp_image_mask_layer_mask().
* app/gui/channels-commands.c (channels_channel_to_selection): use
gimp_image_mask_select_component() instead of implementing it
here.
* app/gui/image-menu.c
* app/gui/layers-commands.[ch]: offer the full choice of
REPLACE,ADD,SUBTRACT,INTERSECT with "Alpha to Selection" and "Mask
to Selection".
* tools/pdbgen/pdb/selection.pdb: changed accordingly.
* app/pdb/selection_cmds.c: regenerated.
2003-05-16 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-mask.[ch] (gimp_image_mask_extract): added
"gboolean cut_image" parameter so we can float selections
without cutting them from the original drawable.
* app/gui/select-commands.c
* tools/pdbgen/pdb/selection.pdb: pass cut_image == TRUE.
* app/pdb/selection_cmds.c: regenerated.
* app/tools/tools-enums.[ch]: added SELECTION_MOVE_COPY value
to the SelectOps enum.
* app/tools/gimpselectiontool.c: use the new mode when
<ctrl>+<alt>-dragging a selction (yes, this is evil but there are
no modifiers left).
* app/tools/gimpeditselectiontool.[ch]: extended EditType enum by
EDIT_MASK_COPY_TO_LAYER_TRANSLATE and pass cut_image == FALSE if
it's passed to init_edit_selection().
* app/tools/gimpfreeselecttool.c
* app/tools/gimpfuzzyselecttool.c
* app/tools/gimprectselecttool.c: pass the new mode to
GimpEditSelectionTool.
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-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.
2001-12-13 Michael Natterer <mitch@gimp.org>
* app/core/gimp.[ch]: made gimp->global_buffer a GimpBuffer,
not TileManager.
* app/core/gimpbuffer.[ch]: added a "gboolean copy_pixels" to
gimp_buffer_new().
* app/core/gimpimage-new.c
* app/core/gimpedit.[ch]
* app/core/gimpimage-qmask.c
* app/widgets/gimpbufferpreview.c
* app/widgets/gimpbufferview.c
* app/widgets/gimpcontainerview-utils.c: chaned accordingly, don't
include "base/tile-manager.h".
* app/core/gimpdrawable.[ch]: added gimp_drawable_copy().
* app/core/gimpchannel.[ch]
* app/core/gimplayer.[ch]
* app/core/gimplayermask.[ch]: use it in
gimp_[channel|layer|layer_mask]_copy(), added "GType new_type" as
paramater to all of them.
* app/core/gimpimage-duplicate.c
* app/gui/channels-commands.c
* app/gui/edit-commands.c
* app/gui/layers-commands.c
* app/widgets/gimpchannellistview.c
* tools/pdbgen/pdb/channel.pdb
* tools/pdbgen/pdb/layer.pdb
* tools/pdbgen/pdb/selection.pdb: changed accordingly.
* app/pdb/channel_cmds.c
* app/pdb/layer_cmds.c
* app/pdb/selection_cmds.c: regenerated.
* app/core/gimplayer.[ch]: removed the "layer_type" parameter from
gimp_layer_new_from_tiles() because it always needed to be equal
to gimp_image_base_type_with_alpha() of the passed image.
* app/core/gimpdrawable-transform.c
* app/core/gimpedit.c
* app/core/gimpimage-mask.c: cahanged accordingly.
* app/core/gimpimage.[ch]: added some new GIMP_IMAGE_TYPE_FOO()
marcos to get rid of magic values like "pixels = 3" all over the
place.
* app/core/gimplayer.[ch]: added gimp_layer_new_from_drawable()
which creates a layer from an other image's drawable.
* app/core/gimpimage-convert.[ch]: made the RGB and GRAY converters
public to use them above, use the new GIMP_IMAGE_TYPE() macros.
* app/display/gimpdisplayshell-dnd.c
* app/gui/toolbox.c: removed tile manager stuff and use the new
functions.
* app/widgets/gimpdrawablelistview.[ch]: added a
"convert_drawable_func" which is used to handle drops from other
images.
* app/widgets/gimpdrawablelistitem.c
* app/widgets/gimplayerlistitem.c
* app/widgets/gimplistitem.[ch]: implemented DND of layers between
images using gimp_layer_new_from_drawable().
* app/gui/dialogs-constructors.c: changed accordingly.
2001-08-17 Michael Natterer <mitch@gimp.org>
* configure.in: added app/display/ and app/plug-in/. Empty for
now except for the types files.
* app/Makefile.am
* app/appenums.h
* app/apptypes.h: removed.
* app/display/Makefile.am
* app/display/display-types.h
* app/plug-in/Makefile.am
* app/plug-in/plug-in-types.h
* app/gui/Makefile.am
* app/gui/gui-types.h
* app/pdb/Makefile.am
* app/pdb/pdb-types.h: new files for typedefs.
* app/appenv.h: added MessageHandlerType and StackTraceMode here.
* app/undo_types.h: moved undo struct typedefs here.
* app/tools/tools-types.h
* app/core/core-types.h: added some enums and Tattoo here
(renamed to GimpTattoo).
* app/gdisplay.h: temp_hack: #include "display/display-types.h"
* app/gimphelp.c: s/gtk_idle_add/g_idle_add/
* app/gimprc.c: don't use "gimprc" in token handlers but the
passed "val1p" and "val2p".
* app/image_map.[ch]: cleanup in preparation of making a GObject
out of it.
* app/base/pixel-region.[ch]: no need to pass the
PixelRegionIterator around as void pointer.
* app/core/gimp.[ch]
* app/core/gimpcontext.[ch]
* app/core/gimptoolinfo.[ch]
* app/tools/tool_manager.c
* app/widgets/gimpdnd.c: added the standard_tool_info to the Gimp
object.
* app/batch.c
* app/file-open.c
* app/file-save.c
* app/file-utils.c
* app/interface.c
* app/main.c
* app/path.[ch]
* app/pathP.h
* app/plug_in.h
* app/core/gimpdrawable.[ch]
* app/core/gimpimage-mask.c
* app/core/gimpimage.[ch]
* app/core/gimplayer.c
* app/gui/color-area.c
* app/gui/color-notebook.c
* app/gui/colormap-dialog.c
* app/gui/dialogs-commands.c
* app/gui/dialogs-constructors.c
* app/gui/error-console-dialog.c
* app/gui/gradient-editor.c
* app/gui/gradient-select.c
* app/gui/indicator-area.c
* app/gui/info-dialog.c
* app/gui/palette-editor.c
* app/gui/palette-select.c
* app/gui/pattern-select.c
* app/gui/session.c
* app/gui/splash.c
* app/gui/view-commands.c
* app/tools/gimpinktool-blob.c
* app/widgets/gimpcolorpanel.c
* app/widgets/gimpdockbook.c
* app/widgets/gimppreview.c
* app/xcf/xcf-load.c
* app/xcf/xcf-save.c
* app/xcf/xcf.c: changed accordingly: s/Tattoo/GimpTattoo/, include
the new types files, include <glib-object.h> instead of >gtk/gtk.h>.
Bad hacks to get rid of SELECTION_OFF and friends in core/ (will
be replaced ba a signal soon).
* tools/pdbgen/Makefile.am: changed list of headers scanned for
enums accordingly.
* app/pdb/procedural_db.c
* tools/pdbgen/app.pl
* tools/pdbgen/pdb/channel.pdb
* tools/pdbgen/pdb/display.pdb
* tools/pdbgen/pdb/gradient_select.pdb
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/layer.pdb
* tools/pdbgen/pdb/pattern_select.pdb: same fixes as above, added
hacks to ensure that all foo-types.h files are included before all
other gimp internal includes, include "pdb-types.h" unconditionally.
* tools/pdbgen/enums.pl
* app/pdb/*_cmds.c: regenerated.
2001-07-04 Michael Natterer <mitch@gimp.org>
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimp.[ch]: added an "application object" called Gimp.
Currently, it contains the image list, the clipboard, the data
factories, the procedural hashtable and the tool info list. It's
the toplevel object of the core object system. Finally, creating a
Gimp object will return a standalone gimp core engine instance
with no other global states/variables involved.
* app/app_procs.[ch]: allocate a "Gimp" instance called "the_gimp" :)
Removed stuff which is now done by the "Gimp" object. Merged
gimp_init() into app_init() because gimp_init() is taken now.
* app/context_manager.[ch]: removed stuff done by "Gimp".
* app/batch.[ch]
* app/gimage.[ch]
* app/xcf/xcf-load.[ch]
* app/xcf/xcf.[ch]
* app/core/gimpedit.[ch]
* app/tools/tool_manager.[ch]: pass around an additional "Gimp"
argument.
* app/pdb/procedural_db.[ch]: pass a "Gimp" pointer as first
parameter to all internal procedures and to all procedural_db_*
functions.
* app/core/gimpcontext.[ch]
* app/core/gimpimage.[ch]: added a "Gimp" pointer to the structs.
* app/devices.c
* app/errors.c
* app/file-open.c
* app/file-save.c
* app/gimphelp.c
* app/gimpunit.c
* app/image_new.c
* app/main.c
* app/nav_window.c
* app/plug_in.c
* app/base/base.c
* app/core/gimpdatafactory.c
* app/core/gimpimage-duplicate.c
* app/core/gimpimage-mask.c
* app/core/gimptoolinfo.[ch]
* app/gui/brush-select.c
* app/gui/convert-dialog.c
* app/gui/dialogs-constructors.c
* app/gui/edit-commands.c
* app/gui/file-open-dialog.c
* app/gui/file-save-dialog.c
* app/gui/gradient-editor.c
* app/gui/gradient-select.c
* app/gui/gui.c
* app/gui/image-commands.c
* app/gui/info-window.c
* app/gui/menus.c
* app/gui/palette-editor.c
* app/gui/palette-import-dialog.c
* app/gui/palette-select.c
* app/gui/paths-dialog.c
* app/gui/pattern-select.c
* app/gui/preferences-dialog.c
* app/gui/test-commands.c
* app/gui/toolbox.c
* app/gui/tools-commands.c
* app/tools/gimpbezierselecttool.c
* app/tools/gimpbucketfilltool.c
* app/tools/gimppainttool.h
* app/tools/gimptexttool.c
* app/tools/gimptransformtool.h
* app/widgets/gimpbufferview.c
* app/widgets/gimpcontainerview-utils.c
* app/widgets/gimpcursor.c
* app/widgets/gimpdnd.c
* app/widgets/gimpimagedock.c: changed accordingly. Cleaned up
lots of includes. Many files still access the global "the_gimp"
variable exported by app_procs.h.
* tools/pdbgen/app.pl
* tools/pdbgen/pdb/brush_select.pdb
* tools/pdbgen/pdb/brushes.pdb
* tools/pdbgen/pdb/convert.pdb
* tools/pdbgen/pdb/edit.pdb
* tools/pdbgen/pdb/fileops.pdb
* tools/pdbgen/pdb/gradient_select.pdb
* tools/pdbgen/pdb/gradients.pdb
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/palette.pdb
* tools/pdbgen/pdb/pattern_select.pdb
* tools/pdbgen/pdb/patterns.pdb
* tools/pdbgen/pdb/procedural_db.pdb: changed accordingly. Don't
use "the_gimp" here because all procedures get passed a "Gimp"
pointer now.
* app/pdb/*: regenerated.
2001-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-13 Michael Natterer <mitch@gimp.org>
* app/apptypes.h: removed some forgotten tools types.
* app/tools/tools-types.h: and added them here.
* app/interface.c
* app/disp_callbacks.[ch]: ported dropping of drawables to the
new DND system.
* app/app_procs.c
* app/core/gimpdatafactory.c
* app/core/gimpimage-duplicate.c
* app/core/gimptoolinfo.h
* app/gui/gui.c
* app/tools/tool_options.c
* app/widgets/gimpchannellistview.c
* app/widgets/gimplayerlistview.c: removed/fixed includes.
* app/gui/brush-select.[ch]
* app/gui/pattern-select.[ch]: removed the display of the current
name (done by the grid view now).
* app/gui/palette-select.c: fixed palette preview size.
* app/gui/dialogs-constructors.c: added get_name() functions for
brushes, patterns, images and palettes.
* app/widgets/gimpcontainergridview.[ch]: added a label for the
name of the active item.
* app/widgets/gimpdnd.[ch]: removed the old drawable DND preview
icon code.
* tools/pdbgen/app.pl: braino: the $tool_eek hack has to be
initialized to 0 at the beginning of each file, otherwise we end
up including "tools/tools-types.h" everywhere.
* tools/pdbgen/pdb/color.pdb
* tools/pdbgen/pdb/text_tool.pdb
* tools/pdbgen/pdb/tools.pdb: add "tools/tools-types.h" where needed.
* app/pdb/color_cmds.c
* app/pdb/pattern_select_cmds.c
* app/pdb/patterns_cmds.c
* app/pdb/plug_in_cmds.c
* app/pdb/procedural_db_cmds.c
* app/pdb/selection_cmds.c
* app/pdb/undo_cmds.c
* app/pdb/unit_cmds.c: regenerated.
2001-04-13 Michael Natterer <mitch@gimp.org>
* app/pdb/procedural_db.[ch]: removed the ID system from the pdb/
subdir...
* app/gimpimage.[ch]: ...and temporarily added it back to GimpImage.
The ID stuff is not only used by the PDB but is a more general
type of service which is needed for the PDB, DND and some parts of
the GUI. Finally, a GimpFactory class with subclasses for data
objects, images etc. will maintain the ID spaces.
* app/colormap_dialog.c
* app/file-open.c
* app/file-save.c
* app/gdisplay.c
* app/gimpdnd.c
* app/gimpdrawable.c
* app/info_window.c
* app/lc_dialog.c
* app/nav_window.c
* app/palette_import.c
* app/paths_dialog.c
* app/plug_in.c
* app/xcf.c
* app/tools/gimptexttool.c
* tools/pdbgen/pdb.pl
* tools/pdbgen/pdb/image.pdb: use GimpImage's ID functions.
* app/pdb/channel_cmds.c
* app/pdb/channel_ops_cmds.c
* app/pdb/convert_cmds.c
* app/pdb/display_cmds.c
* app/pdb/drawable_cmds.c
* app/pdb/fileops_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: regenerated.
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.