2002-05-08 Michael Natterer <mitch@gimp.org>
Started to get rid of the gdisplays_foo() functions in
app/display/gimpdisplay-foreach.[ch]. Work in progress...
* app/core/gimp.[ch]: added the display list to the Gimp object
(as a GimpList of GimpObjects). This way we get more independent
from whether there is GUI or not, as gimp->displays will simply
be an empty list for the --no-interface case.
* app/display/gimpdisplay.[ch]: Removed the global "display_list"
and "display_num" variables. Use gimp->displays instead.
* app/display/gimpdisplay-foreach.[ch]: renamed most functions
from gdisplays_foo() to gimp_displays_foo() and pass them a Gimp
pointer.
* app/core/gimpimage.[ch]: added a "flush" signal.
* app/display/gimpdisplay-handlers.c: connect to "flush" and call
gimp_display_flush() in the callback.
* tools/pdbgen/pdb/display.pdb: use gimp_displays_flush(gimp)
here and only here.
* app/pdb/display_cmds.c: regenerated.
* app/app_procs.c
* app/gui/gui.c
* app/gui/preferences-dialog.c:
s/gdislays_foo()/gimp_displays_foo(gimp)/
* app/image_map.c
* app/undo_history.c
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell-dnd.c
* app/display/gimpdisplayshell-layer-select.c
* app/display/gimpdisplayshell-scale.c
* app/gui/channels-commands.c
* app/gui/colormap-editor-commands.c
* app/gui/convert-dialog.c
* app/gui/drawable-commands.c
* app/gui/edit-commands.c
* app/gui/file-commands.c
* app/gui/image-commands.c
* app/gui/layers-commands.c
* app/gui/offset-dialog.c
* app/gui/qmask-commands.c
* app/gui/select-commands.c
* app/gui/vectors-commands.c
* app/paint/gimpairbrush.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/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/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/tools/gimpvectortool.c
* app/widgets/gimpbufferview.c
* app/widgets/gimpchannellistview.c
* app/widgets/gimpcomponentlistitem.c
* app/widgets/gimpdocumentview.c
* app/widgets/gimpdrawablelistitem.c
* app/widgets/gimpdrawablelistview.c
* app/widgets/gimpimageview.c
* app/widgets/gimpitemlistitem.c
* app/widgets/gimpitemlistview.c
* app/widgets/gimplayerlistitem.c
* app/widgets/gimplayerlistview.c
* app/widgets/gimpvectorslistview.c: replaced gdisplays_flush()
with calls to gimp_image_flush(gimage). Removed inclusion of
"display/gimpdisplay-foreach.h" from most files.
2002-05-03 Sven Neumann <sven@gimp.org>
* app/tools/gimpairbrushtool.[ch]
* app/tools/gimpbezierselecttool.[ch]
* app/tools/gimpblendtool.[ch]
* app/tools/gimpbrightnesscontrasttool.[ch]
* app/tools/gimpbucketfilltool[.ch]
* app/tools/gimpbycolorselecttool[.ch]
* app/tools/gimpclonetool[.ch]
* app/tools/gimpcolorbalancetool[.ch]
* app/tools/gimpcolorpickertool[.ch]
* app/tools/gimpconvolvetool[.ch]
* app/tools/gimpcroptool[.ch]
* app/tools/gimpcurvestool[.ch]
* app/tools/gimpdodgeburntool[.ch]
* app/tools/gimpeditselectiontool.c
* app/tools/gimpellipseselecttool[.ch]
* app/tools/gimperasertool[.ch]
* app/tools/gimpfliptool[.ch]
* app/tools/gimpfreeselecttool[.ch]
* app/tools/gimpfuzzyselecttool[.ch]
* app/tools/gimphistogramtool[.ch]
* app/tools/gimphuesaturationtool[.ch]
* app/tools/gimpinktool[.ch]
* app/tools/gimpiscissorstool[.ch]
* app/tools/gimplevelstool[.ch]
* app/tools/gimpmagnifytool[.ch]
* app/tools/gimpmeasuretool[.ch]
* app/tools/gimpmovetool[.ch]
* app/tools/gimppaintbrushtool[.ch]
* app/tools/gimppainttool.c
* app/tools/gimppathtool[.ch]
* app/tools/gimppenciltool[.ch]
* app/tools/gimpperspectivetool[.ch]
* app/tools/gimpposterizetool[.ch]
* app/tools/gimprectselecttool[.ch]
* app/tools/gimprotatetool[.ch]
* app/tools/gimpscaletool[.ch]
* app/tools/gimpselectiontool.c
* app/tools/gimpsheartool[.ch]
* app/tools/gimpsmudgetool[.ch]
* app/tools/gimptexttool[.ch]
* app/tools/gimpthresholdtool[.ch]
* app/tools/gimptool.c
* app/tools/gimptoolcontrol.h
* app/tools/gimptoolmodule[.ch]
* app/tools/gimptransformtool.c
* app/tools/gimpvectortool[.ch]
* app/tools/path_tool.c
* app/tools/tool_manager[.ch]
* app/tools/tools.c
* libgimptool/gimptool.c
* libgimptool/gimptoolcontrol.h
* libgimptool/gimptoolmodule.h: removed tons of warnings. Do we need
to add -Werror to the CFLAGS to avoid such a mess in the future ?!
Also had to enforce the GIMP coding style in lots of places :-(
* libgimp/gimppixelrgn.c: got sick and tired of debugging plug-ins,
so I've added checks for most parameters passed to the GimpPixelRgn
functions. This will slow down plug-in execution a little bit but
should help to find bugs early.
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-18 Michael Natterer <mitch@gimp.org>
* app/tools/tools-types.h
* app/tools/*.[ch]: chain up unconditionally in control(),
s/ToolAction/GimpToolAction/g, s/ToolState/GimpToolState/g.
* app/tools/gimpbezierselecttool.c
* app/tools/gimpinktool.c
* app/tools/gimppainttool.c: don't touch tool->paused_count
(setting it to 0 was a hack which should no longer be needed).
* app/tools/gimpdrawtool.c: check if the draw tool has actually
been started (draw_tool->gdisp != NULL) before calling it's
draw() function.
* app/tools/tool_manager.c: simplified tool_manager_control_active():
simply call gimp_tool_control() if gdisp == tool->gdisp.
* app/tools/gimptool.[ch]: gimp_tool_control(): do all the PAUSE,
RESUME and HALT voodoo here.
* app/tools/gimppainttool.c: implemented #9902 (Drawing straight
lines does not work between different views). It's an evil hack,
but clearly marked in the source.
2002-02-07 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-new.[ch]: renamed the image size utility
functions from foo_size_bar() to foo_memsize_bar(), use "gsize"
instead of "gdouble". Also take the selection mask into account
for the initial image size.
* app/display/gimpdisplayshell.c
* app/gui/file-new-dialog.c: changed accordingly.
* app/display/gimpdisplayshell-handlers.c: connect to "undo_event",
not "dirty" and "clean" to dirty the image title.
* app/tools/gimpmovetool.c: factored common code out to
gimp_move_tool_start_guide(), also set a useful cursor there.
2002-02-05 Michael Natterer <mitch@gimp.org>
Removed pointer grabbing from all tools:
* app/tools/gimptool.[ch]: added "gboolean perfectmouse" which
defaults to FALSE but can be set to TRUE in a tool's instance_init
function.
* app/display/gimpdisplayshell-callbacks.c: look at
active_tool->perfectmouse and gimprc.perfectmouse and do the
pointer grab/ungrab here. The pointer is now grabbed right before
dispatching the button_press to the tool and ungrabbed after
the tool's button_release has returned. It is also grabbed
*always*, not only if tool->state got ACTIVE by button_press,
which makes it all much simpler...
* 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/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/gimptransformtool.c: removed
gdk_pointer_grab()/ungrab() calls all over the place. Also removed
inclusion of "display/gimpdisplayshell.h" from most of them.
2002-02-04 Michael Natterer <mitch@gimp.org>
* app/tools/gimptool.[ch]: added fields for both the tool's
toggled and untoggled GdkCursorType, GimpToolCursorType and
GimpCursorModifier. Added a default implementation of
gimp_tool_cursor_update() which uses the new fields. Added
gimp_tool_set_cursor() as simple wrapper around the resp.
GimpDisplayShell functions so tools don't need to know them.
Tool implementations can either set the new fields in their
cursor_update() function and chain up or call the new wrapper.
* 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/gimpconvolvetool.c
* app/tools/gimpcroptool.c
* app/tools/gimpdodgeburntool.c
* app/tools/gimperasertool.c
* app/tools/gimpfliptool.c
* app/tools/gimpinktool.c
* app/tools/gimpiscissorstool.c
* app/tools/gimpmagnifytool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimpmovetool.c
* app/tools/gimppainttool.[ch]
* app/tools/gimppathtool.c
* app/tools/gimpselectiontool.c
* app/tools/gimpsmudgetool.c
* app/tools/gimptexttool.c
* app/tools/gimptransformtool.c: changed accordingly:
- set default values in the tools' instance_init functions.
- changed the cursor_update() stuff.
- removed inclusion of subclasses in gimppainttool.c
- the cursor_update() functions are better than before but still evil.
- i probably broke some of them...
2002-02-03 Michael Natterer <mitch@gimp.org>
* app/display/Makefile.am
* app/display/display-types.h
* app/display/gimpstatusbar.[ch]: new widget derived from
GtkStatusbar. Contains the coordinates display, a progress bar
which is also used for status message display and a cancel button.
Added a simplified API for pushing/popping messages which takes a
string as context_id and does the conversion to guint internally
on each call.
* app/display/gimpdisplayshell.[ch]: removed the status bar code.
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell-handlers.c
* app/display/gimpdisplayshell-scale.c
* app/gui/view-commands.c
* app/gimpprogress.c: changed accordingly.
Removed knowledge about GimpDisplayShell from tools:
* app/tools/gimptool.[ch]: added gimp_tool_push_status() and
gimp_tool_pop_status() so tools don't need to fiddle with
display details.
* app/tools/gimpdrawtool.[ch]: pass a GimpDisplay instead of
a GdkWindow to gimp_draw_tool_start() (the window passed was
always gdisp->shell->canvas->window).
* app/tools/gimpbezierselecttool.c
* app/tools/gimpblendtool.[ch]
* app/tools/gimpclonetool.c
* app/tools/gimpcolorpickertool.c
* app/tools/gimpcroptool.[ch]
* app/tools/gimpeditselectiontool.c
* app/tools/gimpfreeselecttool.c
* app/tools/gimpfuzzyselecttool.c
* app/tools/gimpiscissorstool.c
* app/tools/gimpmagnifytool.c
* app/tools/gimpmeasuretool.[ch]
* app/tools/gimpmovetool.c
* app/tools/gimppainttool.[ch]
* app/tools/gimppathtool.c
* app/tools/gimprectselecttool.[ch]
* app/tools/gimptransformtool.c: changed accordingly:
- pass GimpDisplay to gimp_draw_tool_start().
- use GimpTool's new status push/pop functions.
- removed the statusbar context_id from all tool structs.
* app/gui/dialogs-constructors.[ch]: a bit cleanup in preparation
of dockable editor dialogs.
2001-11-30 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/colormaps.[ch]: removed.
* app/app_procs.c: don't call it.
* app/gui/gui.c: configure GdkRGB here.
* app/display/gimpdisplayshell.c
* app/display/gximage.c
* app/gui/color-notebook.c
* app/gui/color-select.c
* app/gui/colormap-dialog.c
* app/gui/info-window.c
* app/gui/preferences-dialog.c
* app/tools/gimpmovetool.c
* app/display/gimpdisplayshell-selection.c: changed accordingly
(simply removed the unneded include or use
gdk_gc_set_rgb_[fg|bg]_color() instead).
* app/display/gimpdisplayshell.c
* app/display/gimpdisplayshell-callbacks.[ch]: chopped
gimp_display_shell_canvas_events() in smaller callbacks. Only the
events that trigger tool actions are handled in a single callback.
2001-11-29 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.[ch]: replaced the QMask radio
buttons ba a single check button. Still needs some tuning.
* app/display/gimpdisplayshell-handlers.c
* app/display/gimpdisplayshell-qmask.[ch]: changed accordingly.
* app/tools/gimptool.[ch]: added "gboolean handle_empty_image" to
the GimpTool structure.
* app/tools/gimpmovetool.c: set it to TRUE.
* app/tools/gimpfuzzyselecttool.c: don't gimp_[set|unset]_busy()
while calculating the selection but set the busy cursor on the
display manually (we have the pointer grabbed anyway).
* app/display/gimpdisplayshell-callbacks.c: don't check for
GIMP_IS_MODE_TOOL(active_tool) but look at
active_tool->handle_empty_image. Removed the checks for
GIMP_IS_FUZZY_SELECT_TOOL(active_tool) because fuzzy_select
doesn't set GIMP busy while it's active any more.
* app/tools/transform_options.[ch]
* app/tools/gimptransformtool.c
* app/tools/gimprotatetool.c
* app/tools/gimpscaletool.c: added widgets for the transform tools'
constraints (one more #51108 issue fixed).
* app/tools/gimperasertool.c: cosmetic.
* app/widgets/gimpdockbook.c: don't hardcode GtkNotebook's
tab_border to 0 but add a style property for it...
* themes/Default/gtkrc: ...and set it to 0 here.
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-26 Michael Natterer <mitch@gimp.org>
* tools/authorsgen/contributors: added Rebecca Walter (bex).
* AUTHORS
* app/gui/authors.h: regenerated.
* app/widgets/widgets-types.h: added GimpPreviewSize enum.
* app/gimprc.c
* app/gui/menus.c
* app/gui/preferences-dialog.c
* app/widgets/gimpdockbook.c: use the new enum.
* app/tools/gimpbucketfilltool.c
* app/tools/gimpconvolvetool.c
* app/tools/gimpcroptool.c
* app/tools/gimpdodgeburntool.c
* app/tools/gimperasertool.c
* app/tools/gimpfliptool.c
* app/tools/gimpmagnifytool.c: added "(<Ctrl>)" and "(<Alt>)" to
some tool options strings.
* app/tools/gimpmovetool.c: some more widgets for hidden tool
options (#51108).
* app/tools/transform_options.c: renamed to "Tool Paradigm" stuff
to something more understandable.
* app/widgets/gimpdock.c: added a style property for the height
of the separator.
* themes/Default/gtkrc: show how to use the new property.
* app/widgets/gimpcontainerview.c
* app/widgets/gimpdockable.c
* app/widgets/gimplayerlistview.c: waste less lines when calling
gtk_widget_style_get().
2001-11-20 Michael Natterer <mitch@gimp.org>
* app/tools/tools-types.h: added GimpToolRegisterFunc,
GimpToolRegisterCallback and GimpToolOptionsNewFunc typedefs
which are used to register tools.
* app/tools/tools.c: put the register funcs in an array of
GimpToolRegisterFuncs. Pass a Gimp pointer *plus* a
GimpToolRegisterCallback (which is tool_manager_register_tool())
to the tools' register functions.
* app/tools/tool_manager.[ch]: added a GimpToolOptionsNewFunc to
the parameters of tool_manager_register_tool(). Create the tool
options here, not in each tool.
* app/tools/paint_options.[ch]
* app/tools/selection_options.[ch]
* app/tools/tool_options.[ch]
* app/tools/transform_options.[ch]: all _init() and _new()
functions take a GimpToolInfo pointer now. The _reset() func needs
to be set manually now.
* app/tools/[all_tools].[ch]: changed accordingly:
- pass GimpToolOptionsNewFuncs to the register callback.
- don't create the tool options in the tools' _init() function.
- removed all static tool options variables.
- get the options from the tool system in the cases i missed
in my last commit.
- added minor hacks to get rid of the static options pointer
in some pathological cases :) (i.e. the ink tool).
2001-11-12 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-callbacks.c: use
gimp_display_shell_[install|remove]_override_cursor() to set the
middle mouse button move cursor so we get the original cursor back
after scrolling.
* app/tools/gimpdrawtool.[ch]: added lots of drawing functions
(gimp_draw_tool_draw_rectangle() etc.) which work in image (or
active drawable) coordinates.
* app/tools/gimpblendtool.c
* app/tools/gimpclonetool.c
* app/tools/gimpcolorpickertool.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimpellipseselecttool.c
* app/tools/gimpfreeselecttool.c
* app/tools/gimpiscissorstool.c
* app/tools/gimpmagnifytool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimppainttool.c
* app/tools/gimppathtool.c
* app/tools/gimprectselecttool.c
* app/tools/gimptransformtool.[ch]
* app/tools/path_tool.[ch]: use the new functions. Removed tons of
gdk_draw_foo() and gdisplay_transform_foo() calls. Most drawing
functions look *much* nicer now. Ported some tools to detect
handle clicks in display coordinates while I was on it, misc
fixes.
* app/tools/gimpmovetool.[ch]: derive from GimpDrawTool instead
of drawing manually.
2001-11-08 Michael Natterer <mitch@gimp.org>
* app/Makefile.am: build display/ before tools/.
* app/devices.c: devices_check_change(): added all events
which have a GdkDevice pointer.
* app/gimpprogress.c: include "display-types.h" instead of
"core-types.h".
* app/core/Makefile.am
* app/core/gimpdrawable-bucket-fill.[ch]: new files: the bucket_fill
stuff taken from tools/gimpbucketfilltool.[ch].
* app/core/core-types.h: added "BucketFillMode".
* app/core/gimpimage-mask-select.[ch]: cleanup.
* app/core/gimpmarshal.list: added more marshallers for GimpTool's
new signal signatures.
* app/core/gimpmarshal.[ch]: regenerated.
* app/display/Makefile.am
* app/display/gimpdisplayshell-dnd.[ch]
* app/display/gimpdisplayshell-layer-select.[ch]: new files: the
canvas drop callbacks from gimpdisplayshell-callbacks.[ch] and
the stuff formerly knows as gui/layer-select.[ch].
* app/display/gimpdisplay.h: don't include "gui/gui-types.h".
* app/display/gximage.c: include "display-types.h".
* app/display/gimpdisplay-foreach.c
* app/display/gimpdisplayshell.[ch]: call gdsplay_delete(), don't
destroy the shell widget.
* app/gui/Makefile.am
* app/gui/layer-select.[ch]: removed.
* app/gui/gradients-commands.c: fixed "Save as POV" fprintf()s.
* app/gui/preferences-dialog.c: removed the layer_select stuff
because it is useless with the new preview system.
* app/gui/tool-options-dialog.c: send the correct data to the
close_callback.
* app/gui/tools-commands.c: changed to follow the new
gimp_tool_initialize() semantics (see below).
Tool & canvas event handling chainsawing:
* app/tools/tools-types.h: new struct GimpCoords which contains
x, y, pressure, tilt etc.
* app/display/gimpdisplayshell-callbacks.[ch]: added utility
functions which transparently retreive the current event's
GimpCoords or take it from the device directly if the event has
none. Pass GimpCoords _in_image_coordinates_ to all tool
functions.
Most important: don't pass GdkEvents and display coordinates to
tools any more.
* app/tools/gimptool.[ch]: changed virtual functions to take
GimpCoords, time and state separately instead of GdkEvents.
* app/tools/gimpbezierselecttool.c
* app/tools/gimpblendtool.c
* app/tools/gimpbucketfilltool.[ch]
* app/tools/gimpbycolorselecttool.c
* app/tools/gimpclonetool.c
* app/tools/gimpcolorpickertool.c
* app/tools/gimpconvolvetool.c
* app/tools/gimpcroptool.[ch]
* app/tools/gimpcurvestool.c
* app/tools/gimpdodgeburntool.c
* app/tools/gimpdrawtool.c
* app/tools/gimpeditselectiontool.[ch]
* app/tools/gimperasertool.c
* app/tools/gimpfliptool.c
* app/tools/gimpfreeselecttool.[ch]
* 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.[ch]
* app/tools/gimprectselecttool.c
* app/tools/gimprotatetool.c
* app/tools/gimpselectiontool.[ch]
* app/tools/gimpsmudgetool.c
* app/tools/gimptexttool.c
* app/tools/gimptransformtool.[ch]
* app/tools/path_tool.[ch]
* app/tools/selection_options.c: tons and tons of changes:
- changed to use the new virtual function parameters.
- removed zillions of gdisplay_untransform_coords().
- get the active drawable's offsets manually in many cases.
(questionable, but IMHO ok because it's obvious and not simply a
"TRUE" passed to some function)
- reordered some functions to be consistent across tools.
- some tools had to be changed to work on image coords, not
display ones (esp. crop).
- fixed strange rotate tool behaviour which should be backported
to stable.
- some stuff i came across.
- indentation and other paranoia.
- rounding of coordinated may be broken in some tools.
- new bugs guaranteed.
* app/tools/tool_manager.[ch]: new semantic of
tool_manager_initialize_active() (looked at the places where it
was used from and put common code together). Should be a bit
better now :)
* app/tools/gimpblendtool.c
* app/tools/transform_options.c: use the new GTK+ feature that a
widget (toggle button) can be a frame's title for this tools' tool
options.
* app/widgets/widgets-types.h: stuff.
* themes/Default/gtkrc: s/GtkDialog/GimpDialog/.
* tools/pdbgen/Makefile.am: don't scan tools/gimpbucketfilltool.h
any more.
* tools/pdbgen/enums.pl: regenerated.
* tools/pdbgen/pdb/tools.pdb: changed bucket_fill wrapper.
* app/pdb/tools_cmds.c: regenerated.
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-10-29 Michael Natterer <mitch@gimp.org>
Cleanup weekend...
* app/app_procs.c: pass "no_interface" to gimp_new().
* app/core/gimp.[ch]: added "gboolean no_interface" and the
load_procs and save_procs GSLists.
* app/core/gimptoolinfo.[ch]: added a "Gimp" pointer to the
GimpToolInfo object so more functions find their context without
accessing the global "the_gimp" variable.
* app/display/display-types.h: removed the GDisplay -> GimpDisplay
typedef.
* app/display/gimpdisplay.c: look at gimp->no_interface, don't
include "appenv.h".
* app/file/file-open.[ch]
* app/file/file-save.[ch]: don't use "the_gimp" any more. Instead,
pass around lots of "Gimp" pointers. Removed the global load_procs
and save_procs variables here. Use access() to find out whether a
file is readable/writable, removed the manual voodoo and it's
Win32 wrappers. Added an optional (can be NULL) "PlunInProcDef"
parameter to file_save(), removed file_save_with_proc().
* app/gui/menus.c: Use the unused "gpointer data" parameter of the
GtkItemFactory callbacks to pass a "Gimp" pointer to all of them.
This reduces the usage of the global "the_gimp" hack to zero
in app/gui/... yeah.
* app/gui/channels-commands.c
* app/gui/edit-commands.c
* app/gui/file-commands.c
* app/gui/image-commands.c
* app/gui/layers-commands.c
* app/gui/palettes-commands.c
* app/gui/select-commands.c
* app/gui/test-commands.c
* app/gui/tools-commands.c
* app/gui/view-commands.c: use the passed "Gimp" pointer.
* app/gui/color-area.[ch]
* app/gui/convert-dialog.c
* app/gui/dialogs-constructors.c
* app/gui/file-new-dialog.[ch]
* app/gui/file-open-dialog.[ch]
* app/gui/file-save-dialog.[ch]
* app/gui/gui.c
* app/gui/info-window.[ch]
* app/gui/module-browser.[ch]
* app/gui/palette-editor.c
* app/gui/palette-import-dialog.[ch]
* app/gui/paths-dialog.c
* app/gui/preferences-dialog.[ch]
* app/gui/resize-dialog.[ch]
* app/gui/tool-options-dialog.[ch]
* app/gui/toolbox.c: pass around lots more "Gimp" and
"GimpContext" pointers and don't use "the_gimp" any more.
* app/tools/gimptool.h: added a pointer to the corresponding
GimpToolInfo object (which in turn has a pointer to a Gimp).
* app/tools/tool_manager.[ch]: set the pointer after creating the
tool object. Removed tool_manager_get_info_by_tool() as there is a
tool->tool_info pointer now.
* app/tools/gimpbezierselecttool.c
* app/tools/gimpblendtool.c
* app/tools/gimpbrightnesscontrasttool.c
* app/tools/gimpclonetool.c
* app/tools/gimpcolorbalancetool.c
* app/tools/gimpcolorpickertool.c
* app/tools/gimpconvolvetool.c
* app/tools/gimpcroptool.c
* app/tools/gimpcurvestool.c
* app/tools/gimpdodgeburntool.c
* app/tools/gimpdrawtool.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimpellipseselecttool.c
* app/tools/gimperasertool.c
* app/tools/gimpfliptool.c
* app/tools/gimphistogramtool.c
* app/tools/gimphuesaturationtool.c
* app/tools/gimpinktool.c
* app/tools/gimplevelstool.c
* app/tools/gimpmagnifytool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimpmovetool.c
* app/tools/gimppainttool.c
* app/tools/gimppathtool.c
* app/tools/gimpperspectivetool.c
* app/tools/gimpposterizetool.c
* app/tools/gimprectselecttool.c
* app/tools/gimprotatetool.c
* app/tools/gimpscaletool.c
* app/tools/gimpsheartool.c
* app/tools/gimptexttool.c
* app/tools/gimpthresholdtool.c
* app/tools/path_tool.c
* app/tools/xinput_airbrush.c: s/GDisplay/GimpDisplay/g.
Use tool->tool_info and tool_info->gimp in some places to get
rid of using "the_gimp".
Removing the remaining ones involves changing the tool options
system and is scheduled next...
* app/widgets/gimpdnd.c
* app/widgets/gimpdocumentview.c: pass a "Gimp" pointer to all
file_open_*() functions.
* app/gdisplay_color.[ch]
* app/gdisplay_color_ui.[ch]
* app/image_map.[ch]
* app/nav_window.[ch]
* app/path.c
* app/path_bezier.c
* app/path_transform.h
* app/qmask.[ch]: s/GDisplay/GimpDisplay/g
* tools/pdbgen/pdb/fileops.pdb: load_procs and save_procs are
members of the "Gimp" object now.
* tools/pdbgen/pdb/plug_in.pdb: use gimp->no_interface, don't
include "appenv.h".
* app/pdb/fileops_cmds.c
* app/pdb/plug_in_cmds.c: regenerated.
2001-09-25 Michael Natterer <mitch@gimp.org>
* app/gdisplay.[ch]: renamed it to GimpDisplay and made it a
GimpObject subclass.
* app/disp_callbacks.[ch]
* app/gdisplay_ops.[ch]
* app/scale.[ch]
* app/scroll.[ch]
* app/display/display-types.h: changed accordingly.
* app/core/gimpimage.[ch]: new signal "selection_control".
* app/core/core-types.h: moved the SelectionControl enum and all
other core enums here.
* app/gui/gui.c: connect to the images' "selection_control" signal
and call gdisplays_selection_visibility().
* app/core/gimpcontext.c
* app/core/gimpdrawable-offset.h
* app/core/gimpimage-convert.h
* app/core/gimpimage-mask.c
* app/core/gimplayer.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimpinktool.c
* app/tools/gimpmovetool.c
* app/tools/gimppainttool.c: changed accordingly.
* app/gui/colormap-dialog.[ch]: GObject porting.
* tools/pdbgen/Makefile.am: removed headers which no longer
contain enums.
* tools/pdbgen/pdb/convert.pdb
* tools/pdbgen/pdb/drawable.pdb: include files which are no longer
included automatically by the enum voodoo.
* app/pdb/convert_cmds.c
* tools/pdbgen/enums.pl: regenerated.
2001-08-30 Michael Natterer <mitch@gimp.org>
* app/plug_in.c
* libgimpbase/gimpwire.c
* libgimp/gimp.c: removed GIOChannel "channel->funcs->io_foo()"
hacks and use plain g_io_channel_[read|write]_chars(). An
additional g_io_channel_set_buffered (channel, FALSE); is needed
to make the channels work in binary mode. Fixed misc other stuff
in the GIOChannel code.
* app/tools/gimpdrawtool.c
* app/tools/gimpmovetool.c
* app/tools/gimptransformtool.c
* app/widgets/gimpdialogfactory.c
* libgimpwidgets/gimpcolorarea.c
* libgimp/gimpui.c: replaced some deprecated GDK functions.
* app/gui/palette-editor.c: block the color_name entry's "changed"
signal while setting it. Fixes invalid UTF-8 warnings.
2001-08-14 Michael Natterer <mitch@gimp.org>
* app/gdisplay.h: an evil temp_hack which lets GimpContext managing
the active display withoug including "gdisplay.h". Will go away as
soon ad context properties are registered dynamically.
* app/module_db.c: cleaned up the object code in preparation of
moving it to core/.
* app/path.c: connect to GimpImage's
* app/core/gimpobject.[ch]: derive it from GObject, not from
GtkObject any more (yeah :-)
* app/core/*.c: #include <glib-object.h> instead of <gtk/gtk.h>,
removed some remaining GtkObject-isms.
(left in a few #include <gtk/gtk.h> where bigger changes are needed
to get rid of the UI dependency).
* app/core/core-types.h: #include <gdk-pixbuf/gdk-pixbuf.h> here
temporarily.
* app/core/gimp.c (gimp_create_display): unref the image after
creating it's first display.
* app/core/gimpbrush.[ch]: disabled the parts of the code which
depend on GimpPaintTool.
* app/core/gimpbrushgenerated.c
* app/core/gimpbrushpipe.c: changed accordingly.
* app/core/gimpcontext.[ch]: evil hack (see above) to manage the
active display without including "gdisplay.h"
* app/core/gimpimage-mask.[ch]: pass a context to
gimage_mask_stroke() and get the current tool's PDB string from
there.
* app/core/gimpedit.c: changed accordingly.
* app/core/gimpimage.c: use gimp_image_update() instead of
gdisplays_update_full().
* app/gui/color-area.c
* app/gui/colormap-dialog.c
* app/gui/dialogs-constructors.c
* app/gui/edit-commands.c
* app/gui/image-commands.c
* app/gui/toolbox.c: changed accordingly (don't use Gtk methods on
GObjects).
* app/gui/menus.c: fix some const warnings by explicit casting.
* app/tools/*.[ch]: ported all tools to GObject, some minor
cleanup while i was on it.
* app/widgets/gimpdialogfactory.[ch]: ported to GObject.
* app/widgets/gimplayerlistview.h: added FOO_GET_CLASS() macro.
* tools/pdbgen/app.pl: added a "widgets_eek" hack like "tools_eek"
which inserts #include "widgets/widgets-types.h" before ordinary
includes.
* tools/pdbgen/pdb/brush_select.pdb
* tools/pdbgen/pdb/edit.pdb
* app/pdb/brush_select_cmds.c
* app/pdb/edit_cmds.c: changed according to the stuff above.
2001-07-17 Michael Natterer <mitch@gimp.org>
* app/path.[ch]: removed path_to_beziersel() so this file can be
safely included from core/.
* app/tools/gimpbezierselecttool.[ch]: added it here.
* app/core/core-types.h: added a GimpToolOptions typedef. Removes
deps into tools/ and will later be a core object anyway.
* app/tools/tools-types.h: removed the ToolOptions typedef here.
* app/core/gimpimage-duplicate.c
* app/core/gimpimage-mask.c
* app/core/gimpimage.c
* app/core/gimptoolinfo.[ch]: removed deps into tools/, misc stuff.
* app/tools/tool_manager.[ch]: some ugly temp hacks. Please ignore.
* app/widgets/gimpdialogfactory.[ch]: added a "remember_if_open" field
to the GimpDialogFactoryEntry so we can manage dialogs which should
not be re-opened on startup.
* app/gui/dialogs-constructors.c
* app/gui/dialogs.c: register & create all editor dialog with the
"global_dialog_factory".
* app/gui/tool-options-dialog.c
* app/tools/*: s/ToolOptions/GimpToolOptions/
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-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>
* 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-14 Sven Neumann <sven@gimp.org>
* app/Makefile.am
* app/pixmaps2.h: removed this file ...
* app/tools/Makefile.am
* app/tools/icons.h: ... and readded it here with some changes.
* app/tools/*.c: include the new icons.h file
* app/pdb/procedural_db.[ch]: declare name as const
2001-02-28 Michael Natterer <mitch@gimp.org>
* app/gdisplay.c
* app/gimage.c. #include "tools/tool.h"
* app/tools/edit_selection.[ch]: the arrow_key function is not
a method of edit_selection but of any tool that needs it.
* app/tools/gimppaintbrushtool.c: removed variables.
* app/tools/move.c: use the arrow_key function.
* app/tools/tool_manager.h: removed the include of "tool.h"
2001-02-28 Michael Natterer <mitch@gimp.org>
* app/tools/Makefile.am
* app/tools/edit_selection.[ch]: back as real tool which gets
temporarily pushed to the tool_manager's new tool stack.
* app/tools/move.c
* app/tools/text_tool.c: call the edit_selection stuff again.
* app/tools/tool.c: added a STUB().
* app/tools/tool_manager.[ch]: implemented tool_manager_push_tool()
and tool_manager_pop_tool().
2001-02-28 Michael Natterer <mitch@gimp.org>
* app/context_manager.[ch]: made the global_paint_options public.
* app/tools/gimptoolinfo.[ch]: added a "tool_context" boolean to
the constructor and create a private context for the tool
initialized with global_paint_options's values.
* app/tools/tool_manager.[ch]: changed tool_manager_register_tool()
accordingly.
* app/tools/gimpcolorpickertool.c
* app/tools/measure.c
* app/tools/move.c
* app/tools/text_tool.c: changed accordingly.
* app/tools/paint_options.[ch]: added the fade out and gradient
options here so they can be used by all paint tools.
* app/tools/gimppaintbrushtool.c: removed them here. Changed
the non_gui stuff: removed the non_gui_paint_func and handle
the non_gui stuff in the normal paint method. Allocate a
non_gui_paintbrush instead of the old non_gui_paint_core.
The non_gui stuff will change totally and will be handled
by GimpPaintTool only.
* app/tools/tool.c: removed the STUB()'s again.
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-24 Michael Natterer <mitch@gimp.org>
* TODO.xml: updated.
* app/appenums.h
* app/apptypes.h: prefixed the cursor stuff with "Gimp", added
the new stock tool cursor enum. Removed the old ToolType enum.
* app/cursorutil.[ch]
* app/gdisplay.[ch]: removed the old ToolType enum and prefixed
the functions with "gimp_". Also stripped all "toggle cursor"
stuff from the cursor code, so the new API is easier and not
depending on the tool system.
All existing tool cursors can be used via the new stock tool
cursor enum, so no tool has to fiddle around with bitmap cursors.
There will be an cursorutil function for registering stock tool
cursor types on the fly.
* app/disp_callbacks.c
* app/scroll.[ch]: moved the display scrollbar callbacks from
scroll.[ch] to disp_callbacks.c. Removed some crap from scroll.h
* app/tools/tool.[ch]: removed the BitmapCursor pointers from the
tool class struct and add cursor and toggle cursor IDs to the
GimpTool struct. Work in progress.
* app/dialog_handler.c
* app/tools/bezier_select.c
* app/tools/blend.c
* app/tools/bucket_fill.c
* app/tools/by_color_select.c
* app/tools/clone.c
* app/tools/color_picker.c
* app/tools/convolve.c
* app/tools/crop.c
* app/tools/dodgeburn.c
* app/tools/edit_selection.c
* app/tools/ellipse_select.c
* app/tools/flip_tool.c
* app/tools/free_select.c
* app/tools/fuzzy_select.c
* app/tools/ink.c
* app/tools/iscissors.c
* app/tools/magnify.c
* app/tools/measure.c
* app/tools/move.c
* app/tools/paint_core.[ch]
* app/tools/perspective_tool.c
* app/tools/rect_select.c
* app/tools/rotate_tool.c
* app/tools/scale_tool.c
* app/tools/shear_tool.c
* app/tools/text_tool.c
* app/tools/transform_core.[ch]: changed accordingly. Did this
"blind" for most tools because they don't compile. The changes are
minimal, so there should be no conflicts.
2001-02-23 Michael Natterer <mitch@gimp.org>
* app/app_procs.c: removed crap from ancient times when tools
used to be an enum.
* app/brush_select.[ch]: cleaned up the gui and made global paint
mode toggling much simpler by expanding vertically instead of
reparenting.
* app/context_manager.c: removed hack by using a tool manager
accessor function.
* app/gimpcontext.c: use the new standard tool info object. Tools
also _behave_ like all other data types now (can e.g. be
refreshed).
* app/tools/tool.[ch]
* app/tools/gimptoolinfo.[ch]: added an "identifier" which is an
untranslated string with a meaningful prefix and name, e.g.
"gimp:color_picker_tool". Renamed "tool_name" and "tool_desc"
to "blurb" and "help", changed the constructor accordingly.
Added gimp_tool_info_get_standards() to make the context work
with tool refresh.
* app/tools/tool_manager.[ch]
* app/tools/tools.c: removed the global list of tool class
structures because the tool info list is in place.
Added tool_manager_register_tool_options() which calls
tool_options_dialog_add() and registers the options in the
global_tool_info_list.
* app/tools/Makefile.am
* app/tools/paint_options.[ch]
* app/tools/selection_options.[ch]
* app/tools/tool_options.[ch]
* app/tools/tool_options_dialog.[ch]: build them all again. This
is mostly the old tool options system with minor modifications to
work with the new stuff. The tool options auto-update with the user
context now, so there are no update functions any more.
* app/gimpdnd.c
* app/toolbox.c
* app/tools/color_picker.c
* app/tools/measure.c
* app/tools/move.c: changed accordingly.
2001-02-21 Michael Natterer <mitch@gimp.org>
* configure.in: forgot one s/gimptool/gimptool-1.4/
* app/appenums.h: removed "UPDATE_CURSOR" from the ToolAction enum.
* app/context_manager.c: removed the toolbox toggle button updating
code here...
* app/toolbox.c: ...and handle it in the toolbox itself.
* app/devices.c: removed some obsolete old tool suff.
* app/tools/Makefile.am
* app/tools/move.[ch]: reactivated. Disabled the edit_selection
stuff for now. We need a way to temporary push tools to some stack
of the tool manager.
* app/tools/tool.[ch]: removed lot of stuff that is obsolete or
handled by the GimpToolInfo object now.
* app/tools/tool_manager.[ch]: stripped all tool options stuff
because they will be able to follow tool changes themselves.
Renamed some functions to be consistent.
* app/tools/tools.c: register the move tool again.
* app/cursorutil.c
* app/disp_callbacks.c
* app/gimage_mask.c
* app/global_edit.c
* app/tools/color_picker.c
* app/tools/measure.[ch]
* app/tools/tool_options.c: changed accordingly.