2001-06-26 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/color_transfer.[ch]: removed.
* app/tools/Makefile.am
* app/tools/gimpcolorbalancetool-transfer.[ch]: added.
* app/tools/gimpcolorbalancetool.c: changed accordingly.
* app/base/Makefile.am
* app/base/tile-manager-crop.[ch]: formerly known as crop_buffer().
* app/tools/gimptexttool.c: changed accordingly.
* app/context_manager.[ch]: added the global clipboard and the
named buffer list here.
* app/app_procs.c: don't call color_transfer_init() and don't free
the buffer stuff (done by the context manager now).
* app/errorconsole.c: don't #include "gui/commands.h"
* app/global_edit.[ch]: removed lots of stuff which is now done by
gui/edit-commands.* or the new GimpBuffer object. The "paste
named" dialog will go away and this file will be moved to core/
soon.
* app/image_new.c: no need to declare the global_buffer extern any
more.
* app/qmask.c: don't #include "global_edit.h"
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpbuffer.[ch]: new object (aka named buffer)
* app/core/gimpcontext.[ch]: added a GimpBuffer attribute.
* app/core/gimpimage.[ch]: one s/int/gboolean/.
* app/core/gimppattern.c: hmm...
* app/gui/commands.[ch]: split up in small files:
* app/gui/Makefile.am
* app/gui/edit-commands.[ch]
* app/gui/file-commands.[ch]
* app/gui/image-commands.[ch]
* app/gui/select-commands.[ch]
* app/gui/view-commands.[ch]: new files.
* app/gui/dialogs-constructors.[ch]
* app/gui/dialogs.c: added the named buffer list & grid.
* app/gui/file-new-dialog.[ch]
* app/gui/menus.c
* app/gui/palette-editor.c
* app/gui/test-commands.c: changed accordingly.
* app/pdb/edit_cmds.c
* tools/pdbgen/pdb/edit.pdb: changed for the global_edit stuff.
* app/widgets/Makefile.am
* app/widgets/gimpbufferpreview.[ch]
* app/widgets/gimpbufferview.[ch]
* app/widgets/gimpcontainereditor.[ch]: new widgets.
* app/widgets/gimpcontainerview-utils.c
* app/widgets/gimpdatafactoryview.[ch]
* app/widgets/gimpdnd.[ch]
* app/widgets/gimpdrawablepreview.c
* app/widgets/gimplayerlistview.c
* app/widgets/gimppreview.c
* app/widgets/widgets-types.h: changed accordingly for the new
GimpBuffer object and it's views, misc. cleanups.
* pixmaps/Makefile.am
* pixmaps/paste-as-new.xpm
* pixmaps/paste-into.xpm
* pixmaps/paste.xpm: new pixmaps (they all look the same... Tigert? ;-)
* po/POTFILES.in: added the new files.
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-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-08 Michael Natterer <mitch@gimp.org>
* app/appenums.h: added ChannelType.
* app/gimpimage.h: removed ChannelType.
* tools/pdbgen/enums.pl: regenerated.
* app/apptypes.h: don't include libgimpwidgets/gimpwidgetstypes.h
and widgets/widgets-types.h any more.
* app/devices.c
* app/gimpdnd.c
* app/gimprc.c
* app/lc_dialog.c
* app/gui/[many].c: include widgets/widgets-types.h
* app/tools/histogram_tool.h: include widgets/widgets-types.h here
because of an ugly dependency from pdb/color_cmds.c
* app/tools/tool_options_dialog.c
* app/widgets/widgets-types.h: include
libgimpwidgets/gimpwidgetstypes.h and apptypes.h so files in
widgets/ only have to include this file.
* app/widgets/*.c: include widgets-types.h instead of apptypes.h
* app/gimpdrawable-preview.c
* app/gui/gradient-editor.c: removed useless #includes.
2001-05-03 Michael Natterer <mitch@gimp.org>
* app/app_procs.c: don't #include "gui/color-select.h"
* app/disp_callbacks.[ch]: renamed gdisplay_drop_viewable() to
gdisplay_drop_pattern().
* app/gimpimage.[ch]: added new signals
"component_visibility_changed" and "component_active_changed" and
emit them in the resp. accessors.
* app/interface.c: removed old GimpPreview test code.
* app/widgets/Makefile.am
* app/apptypes.h
* app/widgets/gimpchannellistview.[ch]
* app/widgets/gimpcomponentlistitem.[ch]: new (unfinished) widgets.
* app/widgets/gimpdockbook.c: switch to the right-clicked notebook
page before showing the menu.
* app/widgets/gimpdrawablelistitem.[ch]: removed the protected
functions which make the toggle buttons look nicer...
* app/widgets/gimplistitem.[ch]: ...and added them here.
* app/widgets/gimpdrawablelistview.[ch]: virtualized set_image()
so subclasses can properly (dis)connect on image change.
* app/widgets/gimpdrawablepreview.c
* app/widgets/gimpimagepreview.[ch]: removed the calc_size()
functions which calculate the preview's aspect ratio...
* app/widgets/gimppreview.[ch]: ...and added then here as
protected functions.
* app/widgets/gimplayerlistitem.c: flush displays after changing
the layer mask's "apply" or "show" state.
2001-04-22 Michael Natterer <mitch@gimp.org>
* app/Makefile.am: cleanup.
* app/interface.c: #include "gimpui.h"
* app/gui/dialogs-constructors.[ch]
* app/gui/dialogs.c
* app/gui/menus.c
* app/gui/test-commands.[ch]: changes for the image menu below.
* app/apptypes.h
* app/widgets/Makefile.am
* app/widgets/gimpcontainermenu.[ch]
* app/widgets/gimpcontainermenuimpl.[ch]: new widgets. The actual
implemtation lives in a separate file because
gimpcontainermenu.c's code is identical to gimpcontainerview.c's
except for the base class. This will become an interface with Gtk 2.0.
* app/widgets/gimpimagedock.[ch]: a dock with an image menu. The
pages still don't follow the context correctly.
* app/widgets/gimpmenuitem.[ch]: a menu item with a preview.
* app/widgets/gimpdialogfactory.[ch]: pass a dock constructor to
the constructor and provide a method to create a new dock within
this factory's context.
* app/widgets/gimpdock.[ch]: removed the constructor because we
create only image docks now. Put the vbox into a main_vbox (which
also contains the image menu).
* app/widgets/gimpdockbook.[ch]: create new docks with the dialog
factory.
* app/gimpcontainer.[ch]
* app/gimpdata.[ch]
* app/gimpdatafactory.[ch]
* app/gimpdatalist.[ch]
* app/gimplist.[ch]
* app/gimpviewable.[ch]
* app/widgets/gimpbrushpreview.[ch]
* app/widgets/gimpcontainergridview.[ch]
* app/widgets/gimpcontainerlistview.[ch]
* app/widgets/gimpcontainerview.[ch]
* app/widgets/gimpdatafactoryview.[ch]
* app/widgets/gimpdockable.[ch]
* app/widgets/gimpdrawablelistitem.[ch]
* app/widgets/gimpdrawablelistview.[ch]
* app/widgets/gimpdrawablepreview.[ch]
* app/widgets/gimplayerlistitem.[ch]
* app/widgets/gimplayerlistview.[ch]
* app/widgets/gimplistitem.[ch]
* app/widgets/gimppalettepreview.[ch]
* app/widgets/gimppatternpreview.[ch]
* app/widgets/gimppreview.[ch]: ass-sign some copyrights.
2001-02-19 Michael Natterer <mitch@gimp.org>
* app/commands.[ch]
* app/menus.c: first version of the new layers and channels dialogs.
* app/gimpcontainergridview.c
* app/gimpcontainerlistview.c: allow creation with a NULL container.
* app/gimpdnd.[ch]: added generic DND functions for all drawable
types (not just setting the DND icon). Started to remove code
duplication.
* app/gimpdrawablepreview.c: with some magic calculations and ugly
assumptions the drawable previews now look exactly like in the old
L&C dialog.
* app/gimpimagepreview.c: no need to say "return" at the end of a
void function.
* app/gimppreview.[ch]: added the "is_popup" boolean also to the
default constructor. Call gimp_preview_set_viewable() before
calculating the preview size.
2001-02-07 Michael Natterer <mitch@gimp.org>
* app/gimppreview.[ch]: allocate less temp_bufs by removing the
"create_preview" virtual function and adding a "render" one.
Implementations have to call the new public function
gimp_preview_render_and_flush() to render their temp_bufs.
This way, e.g. the GimpPatternPreview can render the preview
directly from the pattern's mask.
* app/gimpdrawablepreview.c
* app/gimpimagepreview.c
* app/gimppatternpreview.c: changed accordingly.
* app/gimpbrushpreview.[ch]: same as above and added BrushPipe
popup animation.
2001-02-07 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/gimpimagepreview.[ch]: new object with own implementations
of "create_preview" and "create_popup".
* app/gimpdrawablepreview.c: stuff... still unused.
* app/gimppreview.c: fixed idle rendering crashes, don't
forget popups on GDK_2BUTTON_PRESS.
* app/app_procs.c: gimpbrushlist.h doesn't exist any more.
* app/gimpobject.h: removed the GimpObject typedef because it
is in apptypes.h
* app/Makefile.am
* app/gimpdrawable-preview.[ch]: new files formerly known as
gimpdrawablepreview.[ch].
This is a new naming scheme for methods of objects which live
outside their object's file. The old name implied a derived object
(and is in fact now taken by a GimpPreview subclass, see below).
Further candidates for renaming are e.g. gimpdrawable-invert.[ch],
gimpimage-convert.[ch] etc. Finaly, the main objects (image,
drawable) will go to their own directories together with their
subclasses.
* app/apptypes.h: added typedefs for the new objects:
* app/gimpbrushpreview.[ch]
* app/gimppatternpreview.[ch]: new subclasses of GimpPreview.
* app/gimpdrawablepreview.[ch]: contains a subclass of GimpPreview
now.
* app/gimpviewable.[ch]: renamed the virtual functions to
"get_preview" and "get_new_preview" to avoid confusion with the
new GimpPreview subclasses.
* app/gimppreview.[ch]: virtualized "create_preview" and
"create_popup".
* app/gimpmarshal.[ch]: new marsaller for GimpPreview.
* app/channels_dialog.c
* app/fileops.c
* app/gimpbrush.c
* app/gimpdnd.c
* app/gimpdrawable.c
* app/gimpimage.c
* app/gimppattern.c
* app/layer_select.c
* app/layers_dialog.c
* app/lc_dialog.c
* app/nav_window.c
* app/palette_import.c
* app/undo_history.c
* app/pdb/drawable_cmds.c
* app/pdb/image_cmds.c
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/image.pdb: changed accordingly.
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-01-29 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/gimpdrawablepreview.[ch]: new file with one set of functions...
* app/channel.[ch]
* app/layer.[ch]: ...instead of having everything duplicated three
times here.
* app/channels_dialog.c
* app/floating_sel.c
* app/floating_sel.h
* app/gimpdnd.c
* app/gimpimage.c
* app/layer_select.c
* app/layers_dialog.c
* app/selection.c
* app/pdb/drawable_cmds.c
* tools/pdbgen/pdb/drawable.pdb: changed accordingly, cleanup.