2003-05-02 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdialogfactory.[ch]: added new function
gimp_dialog_factory_add_foreign() which adds a dialog that was not
created by the factory itself. Its identifier however must be
registered with the factory. Connect to all toplevel dialogs'
"configure_event" and remember the resulting window geometry so we
get session management for *all* dialogs, not only for those which
were open on exit.
* app/gui/dialogs.c: added the "File New" dialog. Added foreign
entries (without constructor) for all dialogs opened by tools.
* app/gui/dialogs-constructors.[ch]: added a constructor for
the file_new dialog.
* app/gui/file-new-dialog.[ch]: renamed file_new_dialog_create()
to file_new_dialog_new() and removed the gimage and template
paramaters. Adder new function file_new_dialog_set() to set
gimage and template after creation.
* app/gui/file-commands.c
* app/gui/templates-commands.c: changed accordingly.
* app/tools/gimpimagemaptool.[ch]
* app/tools/gimptransformtool.[ch]: added
"const gchar *shell_identifier" to the tool structs. Register the
tool dialogs using gimp_dialog_factory_add_foreign().
* app/tools/gimpbrightnesscontrasttool.c
* app/tools/gimpcolorbalancetool.c
* app/tools/gimpcurvestool.c
* app/tools/gimphuesaturationtool.c
* app/tools/gimplevelstool.c
* app/tools/gimpperspectivetool.c
* app/tools/gimpposterizetool.c
* app/tools/gimprotatetool.c
* app/tools/gimpscaletool.c
* app/tools/gimpsheartool.c
* app/tools/gimpthresholdtool.c: set "shell_identifier" so the
dialogs become session managed. Fixes bug #61091.
* app/tools/gimpcroptool.c: register the crop dialog with the
dialog factory. Fixes bug #52849.
* app/tools/gimpcolorpickertool.c: ditto.
Unrelated:
* app/tools/gimptool.c: no need to cast the return value of
g_object_new().
2003-03-25 Sven Neumann <sven@gimp.org>
* Makefile.am
* gimpintl.h: removed this header file.
* gimpmiscui.c: include libgimp-intl.h.
* gimp.c (gimp_main): call setlocale() and bind to the libgimp
textdomain so that plug-ins don't need to do that explicitely.
* libgimp/stdplugins-intl.h: added the functionality that used to
live in gimpintl.h and removed the libgimp related stuff. Got rid
of the INIT_I18N_UI() macro.
* plug-ins/*/*.c: removed all occurances of INIT_I18N_UI().
Plug-ins simply call INIT_I18N() once in their run() function.
* plug-ins/script-fu/script-fu-intl.h: added the functionality
that used to live in gimpintl.h and removed the libgimp related
stuff.
* app/Makefile.am
* app/gimp-intl.h: new file that defines the gettext macros for
the GIMP core.
* app/*/*.c: include gimp-intl.h instead of libgimp/gimpintl.h.
* plug-ins/script-fu/scripts/test-sphere.scm: fixed typos.
2003-03-24 Sven Neumann <sven@gimp.org>
* app/widgets/gimpenummenu.[ch]: added new functions
gimp_enum_menu_set_stock_prefix() and
gimp_enum_option_menu_set_stock_prefix() that allow to
conveniently add stock icons to enum menus.
* app/tools/gimpcurvestool.c
* app/tools/gimphistogramtool.c
* app/tools/gimplevelstool.c: use the new functions here.
2003-03-16 Sven Neumann <sven@gimp.org>
* configure.in: check for gdk-pixbuf-csource and allow to override
it by setting the GDK_PIXBUF_CSOURCE environment variable.
* themes/Default/images/Makefile.am: use the gdk-pixbuf-csource
executable that was found at configure time.
* app/base/levels.c: cosmetic change.
* app/tools/gimplevelstool.c: allow to pick white, gray and black
point for all channels. Allows for easy white-point balancing.
* plug-ins/script-fu/scripts/3dTruchet.scm: restore the foreground
color when the script is done (see bug #108473).
2003-03-15 Sven Neumann <sven@gimp.org>
* app/base/levels.c (levels_adjust_by_colors): implemented this
function which used to be a an empty stub.
* app/tools/gimplevelstool.c: implemented the missing
functionality behind the color picker buttons I added some time
ago.
2003-02-04 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-selection.[ch]
* app/tools/gimpblendtool.c
* app/tools/gimpcolorpickertool.c
* app/tools/gimplevelstool.c
* app/tools/gimpthresholdtool.c
* app/tools/gimptransformtool.c: misc trivial changes and cleanup.
* app/widgets/gimppropwidgets.[ch]: added gimp_prop_unit_menu_new()
and removed the scale widget again.
* app/tools/gimptexttool.c: replaced the size scale entry with a
spinbutton and made the unit menu working.
* app/text/gimptext.c: increased the upper boundary for the font
size again now that we don't use a scale any longer.
2003-01-17 Sven Neumann <sven@gimp.org>
* app/tools/gimplevelstool.c
* app/tools/gimpthresholdtool.c: moved the creation of the
histogram object to the initialize method because we can't access
tool_info->gimp in tool_init().
2003-01-15 Sven Neumann <sven@gimp.org>
Fixed bug #103561:
* app/base/gimphistogram.[ch]: cleaned up multi-processor code,
added a GimpBaseConfig parameter to gimp_histogram_new().
* app/core/gimpdrawable-equalize.c
* app/pdb/color_cmds.c
* app/tools/gimphistogramtool.c
* app/tools/gimplevelstool.c
* app/tools/gimpthresholdtool.c
* tools/pdbgen/pdb/color.pdb: changed accordingly.
* app/base/pixel-processor.c: some cleanup to the multi-processor
code; use the global base_config variable :(
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.
2002-12-18 Michael Natterer <mitch@gimp.org>
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c: replaced lots of "gpointer data"
parameters of local callbacks by GimpCurvesTool* and
GimpLevelsTool* pointers. Makes the code shorter and more
readable. Some random cleanup.
* app/tools/gimphistogramtool.c: fixed type of "parent_class"
pointer.
2002-10-15 Sven Neumann <sven@gimp.org>
* app/base/levels.[ch]: added the API for level correction using
black, gray and white point.
* app/tools/gimpcurvestool.c
* app/tools/gimphistogramtool.c
* app/tools/gimplevelstool.[ch]: misc smaller changes.
* app/widgets/gimphistogrambox.[ch]: allocate the buffer for the
gradient preview on size_allocate, not for every expose event.
* app/widgets/gimphistogramview.c: fixed drawing for width > 256.
* themes/Default/images/stock-color-picker-white-18.png: tweaked.
2002-10-15 Sven Neumann <sven@gimp.org>
* app/tools/gimphistogramtool.c
* app/tools/gimplevelstool.[ch]
* app/tools/gimpthresholdtool.c
* app/widgets/gimphistogrambox.[ch]
* app/widgets/gimphistogramview.[ch]: started to clean up histogram
code. Moved the gradient into the GimpHistogramBox. Draw only in the
expose event handler.
2002-10-14 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplay.[ch]: added convenience function
gimp_display_coords_in_active_drawable().
* app/tools/gimpcurvestool.c: indicate the possibility to pick color
values from the image by showing a color picker cursor. Made the
file selection dialog transient for the tool shell.
* app/tools/gimplevelstool.c: made the file selection dialog
transient for the tool shell.
2002-10-13 Sven Neumann <sven@gimp.org>
* themes/Default/images/stock-color-picker-black-18.png
* themes/Default/images/stock-color-picker-gray-18.png
* themes/Default/images/stock-color-picker-white-18.png: new icons.
* libgimpwidgets/gimpstock.[ch]
* themes/Default/images/Makefile.am: added the new color picker icons.
* app/tools/gimplevelstool.c: added the GUI that will allow to pick
the white, gray and black point from the image.
2002-09-08 Michael Natterer <mitch@gimp.org>
* app/widgets/gimplayerlistview.c
* app/gui/channels-commands.c: some more auto-sizing spinbuttons.
* app/gui/offset-dialog.c: added mnemonics for "X" and "Y".
Dialog auto-hide cleanup:
* app/widgets/gimpviewabledialog.c: close the dialog when the
GimpViewable goes away (special cased GimpItems which become
invisible on "removed"). Close the dialog by syntesizing a
"delete_event" instead of simply hiding or destroying it so the
closing method of the dialog's user gets invoked.
* app/gui/resize-dialog.[ch]: don't do the same here. Simplifies
the API even more as we don't have to pass the object to watch any
more.
* app/gui/image-commands.c
* app/gui/layers-commands.c: changed accordingly.
* app/undo_history.c
* app/gui/convert-dialog.c
* app/gui/qmask-commands.c
* app/gui/vectors-commands.c: removed all dialog auto-hiding which
is now done by GimpViewableDialog. Also connect more close
callbacks to gtk_widget_destroy() and handle shell destruction
accordingly, so these pseudo widgets behave more like real ones.
Tool-dialog auto-hide fix:
* app/tools/tool_manager.c: never call a tool's initialize()
method with a NULL gdisp (I can't follow why we did this before
because it's conceptually broken and makes the semantics of
initialize() more than unclear).
To be sure, added g_return_if_fail(GIMP_IS_DISPLAY(gdisp)) to
tool_manager_initialize_active().
* app/tools/gimpbrightnesscontrasttool.c
* app/tools/gimpcolorbalancetool.c
* app/tools/gimpcurvestool.c
* app/tools/gimphistogramtool.c
* app/tools/gimphuesaturationtool.c
* app/tools/gimpimagemaptool.c
* app/tools/gimplevelstool.c
* app/tools/gimpposterizetool.c
* app/tools/gimpthresholdtool.c: removed the recently added code
for handling NULL displays in initialize().
2002-09-07 Michael Natterer <mitch@gimp.org>
Histogram cleanup:
* app/base/gimphistogram.c: Added g_return_if_fail() to all public
functions, reordered stuff, cleanup (no logic changed).
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimphistogrambox.[ch]: new widget containing a
GimpHistogramView and two range spinbuttons (as known from the
threshold tool). Users only need to connect to the histogram
view's "range_changed" signal. The spinbuttons are handled
internally.
* app/widgets/gimphistogramview.[ch]: define it's default size in
the header. Make sure "start" is always smaller than "end". Emit
"range_changed" in gimp_histogram_view_set_range().
* app/tools/gimplevelstool.c: changed accordingly.
* app/tools/gimpthresholdtool.[ch]: removed the code which
did the same and use the new widget.
* app/tools/gimphistogramtool.[ch]: ditto. Removed the "intensity"
info label. Cleanup.
2002-09-04 Michael Natterer <mitch@gimp.org>
More color correction stuff cleanup:
* app/base/Makefile.am
* app/base/base-types.h
* app/base/levels.[ch]: new files containing levels_lut_func(), a
new "Levels" parameter struct and the "auto levels" stuff.
* app/base/lut-funcs.[ch]: removed the levels stuff here, added
lots of g_return_if_fail().
* app/base/color-balance.[ch]
* app/base/hue-saturation.[ch]: added init() and reset() functions
so we don't need to duplicate this code in the tool and the pdb
wrappers.
* app/base/curves.[ch]: s/gint/GimpHistogramChannel/g, made
curves_channel_reset() initialize the curves array.
* app/tools/gimpcolorbalancetool.[ch]: use the new functions,
moved the "Range" frame to the top, added a per-range "Reset"
button, made the global "Reset" button reset all ranges and
the "Preserve Luminosity" toggle.
* app/tools/gimpcurvestool.[ch]: don't initialize the curves
array manually, as curves_channel_reset() does that,
s/gint/GimpHistogramChannel/g.
* app/tools/gimphuesaturationtool.c: use the new functions, added
a per-channel "Reset" button and made the global "Reset" button
reset all channels, cleaned up the GUI update function.
* app/tools/gimplevelstool.[ch]: changed to use the new Levels
parameter struct and it's utility functions. Removed stuff
which now lives in base/levels.c
* app/tools/gimpimagemaptool.c: align the "Preview" button
bottom-left, not bottom-right.
* tools/pdbgen/pdb/color.pdb: use the new stuff and removed
uglyness because using the "Levels" struct makes the code more
straightforward.
* app/pdb/color_cmds.c: regenerated.
2002-09-01 Michael Natterer <mitch@gimp.org>
GimpViewableDialogs everywhere, cleanup:
* libgimpwidgets/gimpstock.c: added texts for the RESIZE, SCALE
and CROP stock items.
* app/widgets/gimpviewabledialog.c: update the title when the
viewable's name changes.
* app/gui/color-notebook.[ch]: added color_notebook_viewable_new()
which creates a GimpViewableDialog.
* app/widgets/gimpgradienteditor.[ch]
* app/gui/colormap-editor-commands.c
* app/gui/file-new-dialog.c
* app/gui/gradient-editor-commands.c
* app/gui/palette-editor-commands.c
* app/undo_history.c: use GimpViewableDialogs and the new
color_notebook constructor.
* app/gui/convert-dialog.c: #include "widgets/gimpviewabledialog.h"
* app/gui/image-commands.c
* app/gui/info-dialog.c
* app/gui/resize-dialog.c: minor cleanups.
* app/gui/info-window.c: cleaned up the whole thing, esp. the
"Extended" page. Added HSV color display to the color picker
frame. Set the icons as frame titles, stuff...
* app/tools/gimpimagemaptool.[ch]: removed "shell_title",
"shell_name" and "stock_id" from the GimpImageMapTool struct
because they can be obtained from the tool's GimpToolInfo object.
* app/tools/gimpbrightnesscontrasttool.c
* app/tools/gimpcolorbalancetool.c
* app/tools/gimpcurvestool.c
* app/tools/gimphuesaturationtool.c
* app/tools/gimplevelstool.c
* app/tools/gimpposterizetool.c
* app/tools/gimpthresholdtool.c: changed accordingly.
* app/tools/gimphistogramtool.c: same here: take values from
tool->tool_info instead of hardcoding them.
* app/tools/gimpcroptool.[ch]: removed the static crop dialog
variables and added them to the GimpCropTool struct. Feels safer
and makes the callback code much simpler. Use stock items for the
dialog's "Resize" and "Crop" buttons.
* app/tools/gimpmeasuretool.c
* app/tools/gimprotatetool.c: for consistency don't name the tools
"Blah Tool", also the dialog titles need to match the menu
entries.
Unrelated:
* libgimpwidgets/gimpwidgets.c: the recently changed, gtk-doc
comment was correct, as gtk-doc takes the parameter names from
the header, not the .c file.
* app/tools/gimptransformtool.c: set the transform tool's state to
TRANSFORM_CREATING after changing displays, so the initial matrix
components are saved correctly for the "Reset" function.
2002-08-28 Michael Natterer <mitch@gimp.org>
* app/tools/gimpimagemaptool.[ch]: added a tool icon and
descriptive string to the dialog's title box. Create the
drawable preview with is_popup == TRUE so it doesn't show
layers in the image context. Still not perfect...
* app/tools/gimpbrightnesscontrasttool.c
* app/tools/gimpcolorbalancetool.c
* app/tools/gimpcurvestool.c
* app/tools/gimphuesaturationtool.c
* app/tools/gimplevelstool.c
* app/tools/gimpposterizetool.c
* app/tools/gimpthresholdtool.c: Chain up early in initialize()
and return if gdisp == NULL. Set stock_id and desc_text so
GimpImageMapTool can display them. Added lots of mnemonics
(#80804). Use gimp_size_entry_new() instead of manually creating
the slider+spinbutton stuff.
* app/tools/gimpcurvestool.c
* app/tools/gimphistogramtool.c
* app/tools/gimplevelstool.c: changed widgets packing to make them
resizable without strange effects. Put the "Load", "Save" and
"Auto" buttons into a frame.
* app/tools/gimphuesaturationtool.c: use GimpColorAreas instead of
deprecated GtkPreviews. Arranged the color previews and their
radio buttons as a color wheel. Not the best solution maybe but
IMHO better than the old GUI.
2002-08-26 Michael Natterer <mitch@gimp.org>
Color correction tool chopping:
* app/Makefile.am
* app/image_map.[ch]: removed...
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpimagemap.[ch]: ...and added here as object.
* app/base/Makefile.am
* app/base/base-types.h
* app/base/color-balance.[ch]
* app/base/curves.[ch]
* app/base/hue-saturation.[ch]
* app/base/threshold.[ch]: the lowlevel color correction functions
plus their parameter structs cut out of the resp. tools.
* app/core/core-enums.[ch]: removed GimpTransferMode enum...
* app/base/base-enums.[ch]: ...added it here. Also added
GimpHueRange for the new hue-saturation files.
* tools/pdbgen/enums.pl
* libgimp/gimpenums.h
* plug-ins/script-fu/script-fu-constants.c: regenerated.
* app/tools/Makefile.am
* app/tools/gimpcolorbalancetool-transfer.c: removed (code went
to base/color-balance.c).
* app/tools/gimpimagemaptool.[ch]: added most code which was
diplicated in subclasses. Create the dialog here with a nice title
bar including image preview and name (fixes#66033). Added virtual
functions map(), dialog() and reset() which need to be implemented
by subclasses.
* app/tools/gimpbrightnesscontrasttool.[ch]
* app/tools/gimpcolorbalancetool.[ch]
* app/tools/gimpcurvestool.[ch]
* app/tools/gimphuesaturationtool.[ch]
* app/tools/gimplevelstool.[ch]
* app/tools/gimpposterizetool.[ch]
* app/tools/gimpthresholdtool.[ch]: removed tons of duplicated
code and simply implement GimpImageMapTool's virtual functions.
Removed all dialog structs and keep the variables in the tool
structs. The dialogs are now created on-the-fly and destroyed when
the tool goes away, which makes all callbacks much simpler and
safer. Lots of GUI & code cleanup in all dialogs.
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c: added separate "Reset Channel"
buttons and let the global "Reset" buttons reset all color
channels.
* app/tools/tools.c: the various antique foo_free() functions
don't exist any more.
* app/tools/gimphistogramtool.c: removed ImageMap field from
dialog struct (it was unused). Cleaned up dialog a bit.
* tools/pdbgen/Makefile.am: don't scan tools/gimphuesaturationtool.h
for enums.
* tools/pdbgen/pdb/color.pdb: use the new stuff from base/ and
don't include stuff from tools/ any more.
* app/pdb/color_cmds.c
* app/pdb/paint_tools_cmds.c: regenerated.
2002-06-09 Sven Neumann <sven@gimp.org>
* app/undo.c
* app/config/gimpconfig-deserialize.c
* app/core/gimpbrushpipe.c
* app/core/gimpcontainer.c
* app/core/gimpimagefile.c
* app/gui/paths-dialog.c
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c
* app/widgets/gimpcomponentlistitem.c
* app/widgets/gimpgradienteditor.c: unified translatable strings
and unmarked a few for translation since they should never be seen.
2002-06-09 Sven Neumann <sven@gimp.org>
* POTFILES.in: updated.
* de.po: updated german translation.
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-03-17 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpwidgets.[ch]: new function to set the sensitivity
of an option_menu.
* app/base/base-enums.[ch]: register and describe GimpHistogramChannel.
* app/core/Makefile.am
* app/core/core-enums.[ch]: build with gimp-mkenums, added core-enums.c
to CVS, added descriptions for GimpPreviewSize.
* app/display/Makefile.am
* app/display/display-enums.[ch]: build with gimp-mkenums, added
display-enums.c to CVS, added descriptions for GimpCursorMode.
* app/gui/preferences-dialog.c: more GimpEnumMenus.
* app/tools/gimpcurvestool.c
* app/tools/gimphistogramtool.c
* app/tools/gimplevelstool.c: use a GimpEnumMenu for the Channel menu.
Allow alpha channel in HistogramView. These tools needs more work...
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.
2001-12-03 Michael Natterer <mitch@gimp.org>
* app/devices.c: use the passed Gimp pointer instead of
using "the_gimp".
* app/base/temp-buf.c: indentation.
* app/gui/preferences-dialog.c: prefs_toggle_callback(): fixed
segfault when trying to find the prefs_dlg widget from a menu
item callback (Fixes#65757).
* app/gui/offset-dialog.[ch]: fixed public prototype, include
the header in the .c file.
* app/gui/menus.c: some menu cleanup: moved all functions which
operate on the active layer/drawable to <Image>/Layer. Renamed
"Layers" to "Layer".
* app/display/gimpdisplayshell.c: changed menu update function
accordingly.
* app/gui/image-commands.[ch]
* app/gui/layers-commands.[ch]: moved stuff from image-commands.*
to layers-commads.*-
* app/tools/gimpblendtool.c
* app/tools/gimpbrightnesscontrasttool.c
* app/tools/gimpcolorbalancetool.c
* app/tools/gimpcurvestool.c
* app/tools/gimphistogramtool.c
* app/tools/gimphuesaturationtool.c
* app/tools/gimplevelstool.c
* app/tools/gimpposterizetool.c
* app/tools/gimpthresholdtool.c
* app/tools/paint_options.c
* app/tools/transform_options.c
* plug-ins/common/align_layers.c
* plug-ins/common/autocrop.c
* plug-ins/common/autostretch_hsv.c
* plug-ins/common/c_astretch.c
* plug-ins/common/color_enhance.c
* plug-ins/common/guillotine.c
* plug-ins/common/normalize.c
* plug-ins/common/rotate.c
* plug-ins/common/threshold_alpha.c
* plug-ins/common/zealouscrop.c
* plug-ins/rcm/rcm.c
* plug-ins/fp/fp.c: register under <Image>/Layer, some cosmetic
fixes.
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-10-29 Sven Neumann <sven@gimp.org>
* app/base/temp-buf.c (temp_buf_to_gray): rewrote so gcc-3.0 doesn't
complain.
* app/widgets/gimpfontselection-dialog.c: use g_ascii_strcasecmp().
* libgimp/gimpintl.h
* libgimp/stdplugins-intl.h
* plug-ins/script-fu/script-fu-intl.h: don't call gtk_set_locale()
since gtk_init() does it for us now. Don't set LC_NUMERIC to "C".
INIT_I18N_UI() is the same as INIT_I18N_UI() now.
* app/devices.c
* app/gimprc.c
* app/core/gimpbrushgenerated.c
* app/core/gimpgradient.c
* app/gui/color-notebook.c
* app/gui/gradients-commands.c
* plug-ins/gfig/gfig.c
* plug-ins/gflare/gflare.c
* plug-ins/gimpressionist/presets.c
* plug-ins/ifscompose/ifscompose_storage.c: use g_ascii_formatd() and
g_ascii_strtod() to serialize and deserialize floats. These functions
are locale-independent. There are probably more places that need to be
fixed in this fashion.
* plug-ins/script-fu/script-fu-console.c
* plug-ins/script-fu/script-fu-scripts.c
* plug-ins/script-fu/script-fu-server.c
* plug-ins/script-fu/script-fu.c: s/INIT_I18N_UI/INIT_I18N/
* tools/gimp-remote.c
* app/widgets/gimpwidgets-utils.c
* app/core/gimpimage-contiguous-region.c
* app/paint-funcs/paint-funcs-indexeda.c
* app/paint-funcs/paint-funcs.c
* app/tools/gimppathtool.c
* app/tools/path_tool.c
* modules/colorsel_triangle.c
* plug-ins/common/mpeg.c
* plug-ins/imagemap/imap_csim_parse.c: cleanups
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-10-24 Michael Natterer <mitch@gimp.org>
* app/file-open.c
* app/file-utils.c
* app/gimprc.c
* app/plug_in.c
* app/user_install.c
* app/base/base.c
* app/base/temp-buf.c
* app/core/gimpdata.c
* app/core/gimpdatafiles.c
* app/core/gimpimagefile.c
* app/gui/about-dialog.c
* app/gui/file-open-dialog.c
* app/gui/file-save-dialog.c
* app/gui/gui.c
* app/gui/menus.c
* app/gui/splash.c
* app/gui/tips-dialog.c
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c
* libgimpbase/gimpenv.c
* plug-ins/FractalExplorer/FractalExplorer.c
* plug-ins/gfig/gfig.c
* plug-ins/gflare/gflare.c
* tools/pdbgen/pdb/fileops.pdb: use g_build_filename() all over
the place instead of g_strconcat() and friends together with
G_DIR_SEPARATOR_S. Also removed all attempts to manually detect
double dir separators. LibGimpBase's searchpath utility functions
don't append a G_DIR_SEPARATOR_S to all paths any more.
* app/pdb/fileops_cmds.c: regenerated.
2001-10-16 Michael Natterer <mitch@gimp.org>
* app/gimpprogress.[ch]
* app/undo.c: s/GDisplay/GimpDisplay/
* app/plug_in.[ch]: removed unused boolean "destroy" field of
the PlugIn struct.
* app/core/gimpedit.c: don't include "app_procs.h"
* app/display/gimpdisplay-callbacks.c: moved the "grab_abd_scroll"
stuff from gimpdisplay-scroll.* here (less complicated and easier
to cleanup...)
* app/display/gimpdisplay-scroll.[ch]: removed here.
* app/display/gimpdisplay-render.[ch]
* app/display/gimpdisplay-selection.[ch]
* app/display/gimpdisplayshell.c: s/GDisplay/GimpDisplay/g
* app/display/gimpdisplay.[ch]: ditto, removed gdisplay_active()
which was just a wrapper around
"gimp_context_get_display (gimp_get_user_context (the_gimp))"
(which is more to type but makes the use of the global
"the_gimp" variable more obvious).
* app/gui/color-area.h
* app/gui/edit-commands.c
* app/gui/file-commands.c
* app/gui/file-dialog-utils.c
* app/gui/image-commands.c
* app/gui/info-window.h
* app/gui/paths-dialog.h
* app/gui/select-commands.c
* app/gui/tool-options-dialog.c
* app/gui/tools-commands.c
* app/gui/view-commands.c: s/GDisplay/GimpDisplay/, gdisplay_active()
removal, include "app_procs.h" for "the_gimp".
* app/tools/gimpbezierselecttool.h
* app/tools/gimpbrightnesscontrasttool.[ch]
* app/tools/gimpbycolorselecttool.c
* app/tools/gimpcolorbalancetool.[ch]
* app/tools/gimpcurvestool.[ch]
* app/tools/gimpeditselectiontool.h
* app/tools/gimphistogramtool.[ch]
* app/tools/gimphuesaturationtool.[ch]
* app/tools/gimplevelstool.[ch]
* app/tools/gimpmovetool.h
* app/tools/gimpperspectivetool.h
* app/tools/gimpposterizetool.[ch]
* app/tools/gimprotatetool.h
* app/tools/gimpscaletool.h
* app/tools/gimpsheartool.h
* app/tools/gimptexttool.h
* app/tools/gimpthresholdtool.[ch]
* app/tools/gimptool.[ch]
* app/tools/gimptransformtool.h
* app/tools/tool_manager.[ch]: lots of s/GDisplay/GimpDisplay/, made
all *_dialog_hide() functions private, cleanup.
* app/widgets/*: removed GtkType and gtk_type_* stuff entirely and
use GObject functions, removed lots of empty "destroy" methods and
use more type checking class cast macros instead of casting
directly.
* app/widgets/gimpcontainermenu.c: fixed item insert order.
* app/widgets/gimphistogramview.[ch]: cleaned up and renamed all
functions.
* app/widgets/gimpwidgets-utils.[ch]: removed gimp_dialog_hide() as
Gtk+ does the right thing (TM) now.
* tools/pdbgen/pdb/color.pdb: implemented "histogram" without
digging into tools/ and widgets/ (needs to be done for all
color PDB functions).
* tools/pdbgen/pdb/gimprc.pdb: no need to use "the_gimp" in a PDB
function as a "Gimp" pointer is passed to them all.
* tools/pdbgen/pdb/image.pdb: don't include "app_procs.h"
* app/pdb/color_cmds.c
* app/pdb/gimprc_cmds.c
* app/pdb/image_cmds.c: regenerated.
* app/pdb/procedural_db.c: don't include "app_procs.h"
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-08-05 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimpstock.[ch]: register the button icons with
GTK_ICON_SIZE_BUTTON, but set them as scalable fallbacks for
themselves so they get scaled for menus.
* app/gui/menus.c: set stock icons for much more menu entries.
* app/widgets/gimpwidgets-utils.[ch]: new utility function
gimp_item_factory_popup_with_data().
* app/disp_callbacks.[ch]
* app/gui/brushes-commands.c
* app/gui/channels-commands.c
* app/gui/gradients-commands.c
* app/gui/layers-commands.c
* app/gui/palettes-commands.c
* app/gui/paths-dialog.c
* app/gui/patterns-commands.c: use the new function.
* app/tools/gimpcolorbalancetool.c
* app/tools/gimpcurvestool.c
* app/tools/gimphuesaturationtool.c
* app/tools/gimplevelstool.c
* app/tools/gimpposterizetool.c: s/_("Reset")/GIMP_STOCK_RESET/
* app/widgets/gimpcontainereditor.[ch]
* app/widgets/gimpcontainerview.[ch]: moved the button_box utility
functions from the container editor to GimpContainerView itself.
* app/widgets/gimpbufferview.c
* app/widgets/gimpchannellistview.c
* app/widgets/gimpcomponentlistitem.c
* app/widgets/gimpcontainergridview.[ch]
* app/widgets/gimpdatafactoryview.c
* app/widgets/gimpdrawablelistitem.c
* app/widgets/gimpdrawablelistview.[ch]
* app/widgets/gimplayerlistitem.c
* app/widgets/gimplayerlistview.c: changed accordingly. Removed
lots of duplicated code and use stock images instead of pixmaps.
* libgimpwidgets/gimpfileselection.[ch]
* libgimpwidgets/gimppatheditor.c: use stock images instead of
pixmaps.
* pixmaps/Makefile.am: removed "yes" and "no", added "stroke".
* pixmaps/anchor.xpm
* pixmaps/delete.xpm
* pixmaps/lower.xpm
* pixmaps/new.xpm
* pixmaps/paste-as-new.xpm
* pixmaps/paste-into.xpm
* pixmaps/paste.xpm
* pixmaps/raise.xpm
* pixmaps/refresh.xpm
* pixmaps/toselection.xpm: made them all 16x16 so they are scaled
nicely in menus. Should probably be 18x18.
2001-07-24 Michael Natterer <mitch@gimp.org>
Port to glib/gtk+ 2.0 episode I (every segfault has it's beginning)
* configure.in: require glib/gtk+ >= 1.3.7, commented out the
gtkxmhtml stuff.
From now on, you will need glib, pango, atk and gtk+ HEAD from CVS
to hack or use GIMP HEAD.
Beware, it crashes randomly :)
* app/core/Makefile.am
* app/core/gimpmarshal.list: new file plus rules to generate
gimpmarshal.[ch] from it.
* app/core/*
* app/tools/*
* app/widgets/*
* libgimpwidgets/*: started to use the glib object system. All
core/ objects are still gtk objects however. All signals are
created using g_signal_new(). There are many gtk+ artefacts left.
Finally, we will _not_ use the gtk_signal_foo() wrappers and
friends any more.
* app/colormaps.c
* app/devices.[ch]
* app/disp_callbacks.c
* app/errorconsole.c
* app/file-save.[ch]
* app/interface.c
* app/module_db.c
* app/nav_window.c
* app/ops_buttons.c
* app/scroll.c
* app/user_install.c
* app/gui/about-dialog.c
* app/gui/brush-editor.c
* app/gui/brushes-commands.c
* app/gui/color-notebook.c
* app/gui/colormap-dialog.c
* app/gui/dialogs-commands.c
* app/gui/dialogs-constructors.c
* app/gui/file-commands.c
* app/gui/file-dialog-utils.c
* app/gui/file-new-dialog.c
* app/gui/file-open-dialog.[ch]
* app/gui/file-save-dialog.c
* app/gui/gradient-editor.c
* app/gui/gradients-commands.c
* app/gui/image-commands.c
* app/gui/info-dialog.[ch]
* app/gui/layer-select.c
* app/gui/layers-commands.c
* app/gui/menus.c
* app/gui/offset-dialog.c
* app/gui/palette-editor.c
* app/gui/palettes-commands.c
* app/gui/patterns-commands.c
* app/gui/preferences-dialog.c
* app/gui/resize-dialog.[ch]
* app/gui/splash.c
* app/gui/tips-dialog.c
* app/gui/tool-options-dialog.c
* app/gui/toolbox.c
* app/gui/tools-commands.c
* libgimp/gimpbrushmenu.c
* libgimp/gimpmenu.c
* libgimp/gimppatternmenu.c
* libgimp/gimpui.c
* libgimpbase/gimpenv.c: tons and tons of changes like "const
gchar*", switch from GdkDeviceInfo to GdkDevice (very incomplete
and currently disables), lots of s/gtk_signal/g_signal/,
removal/replacement of deprecated stuff,
s/GtkSignalFunc/GCallback/ and lots of small changes and fixes
while I was on it, zillions of warnings left...
* modules/Makefile.am: disabled the water color selector
temporarily (XInput issues).
* plug-ins/Makefile.am
* plug-ins/common/.cvsignore
* plug-ins/common/Makefile.am
* plug-ins/common/plugin-defs.pl: simply excluded all plug-ins
which did not build (including Script-Fu). They are trivial to
fix.
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/tools/tool_manager.[ch]: put all tool_manager variables into
a struct which is attached to a "Gimp". Pass a Gimp* to all
tool_manager functions.
* app/disp_callbacks.c
* app/gdisplay.c
* app/gimage.c
* app/scale.c
* app/scroll.c
* app/undo.c
* app/gui/convert-dialog.c
* app/gui/edit-commands.c
* app/gui/tool-options-dialog.c
* app/gui/tools-commands.c: changed accordingly.
* app/tools/gimpbezierselecttool.c
* app/tools/gimpbrightnesscontrasttool.c
* app/tools/gimpbycolorselecttool.c
* app/tools/gimpclonetool.c
* app/tools/gimpcolorbalancetool.c
* app/tools/gimpcroptool.c
* app/tools/gimpcurvestool.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimphistogramtool.c
* app/tools/gimphuesaturationtool.c
* app/tools/gimplevelstool.c
* app/tools/gimpposterizetool.c
* app/tools/gimptexttool.c
* app/tools/gimpthresholdtool.c
* app/tools/gimptool.c
* app/tools/gimptransformtool.c: mostly bad hacks for tool dialogs
which exist without a real context. Needs some more review.
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-05-25 Michael Natterer <mitch@gimp.org>
All tools are back :)
* app/tools/Makefile.am
* app/tools/brightness_contrast.[ch]
* app/tools/color_balance.[ch]
* app/tools/curves.[ch]
* app/tools/histogram_tool.[ch]
* app/tools/hue_saturation.[ch]
* app/tools/levels.[ch]
* app/tools/posterize.[ch]
* app/tools/threshold.[ch]: removed...
* app/tools/gimpbrightnesscontrasttool.[ch]
* app/tools/gimpcolorbalancetool.[ch]
* app/tools/gimpcurvestool.[ch]
* app/tools/gimphistogramtool.[ch]
* app/tools/gimphuesaturationtool.[ch]
* app/tools/gimplevelstool.[ch]
* app/tools/gimpposterizetool.[ch]
* app/tools/gimpthresholdtool.[ch]: ...and ported to the new tool
system. Yes, the toolbox looks strange right now.
* app/tools/gimpimagemaptool.[ch]: base class for all image_map
tools. Does nothing at all right now.
* app/tools/gimpbucketfilltool.h: removed _new() function
declaration.
* app/tools/gimptool.c: removed obsolete stuff and STUB()s.
* app/tools/tools.c: register the new tools.
* app/menus.c: removed the #if 0 around the code which reorders
the color tool menu entries.
* app/app_procs.c
* tools/pdbgen/Makefile.am
* tools/pdbgen/enums.pl
* tools/pdbgen/pdb/color.pdb
* app/pdb/color_cmds.c
* po/POTFILES.in: changed accordingly.
2001-01-24 Michael Natterer <mitch@gimp.org>
* Makefile.am
* configure.in
* gimptool.in: added the new library below.
* libgimpwidgets/Makefile.am
* libgimpwidgets/gimpchainbutton.[ch]
* libgimpwidgets/gimpcolorarea.[ch]
* libgimpwidgets/gimpcolorbutton.[ch]
* libgimpwidgets/gimpdialog.[ch]
* libgimpwidgets/gimpfileselection.[ch]
* libgimpwidgets/gimphelpui.[ch]
* libgimpwidgets/gimppatheditor.[ch]
* libgimpwidgets/gimppixmap.[ch]
* libgimpwidgets/gimpquerybox.[ch]
* libgimpwidgets/gimpsizeentry.[ch]
* libgimpwidgets/gimpunitmenu.[ch]
* libgimpwidgets/gimpwidgets.[ch]
* libgimpwidgets/gimpwidgets.def
* libgimpwidgets/gimpwidgetstypes.h: new shared library.
Currently there are some ugly dependencies into libgimp. These
will be removed and go to a "libgimpglue" library which will be
a library for functions which share a common interface between
plug-ins and the app but have different implementations.
Include "libgimp/gimpunit.h" from "libgimpwidgets/gimpwidgetstypes.h"
to simulate this upcoming separation.
* libgimp/Makefile.am
* libgimp/gimpchainbutton.[ch]
* libgimp/gimpcolorarea.[ch]
* libgimp/gimpcolorbutton.[ch]
* libgimp/gimpdialog.[ch]
* libgimp/gimpfileselection.[ch]
* libgimp/gimphelpui.[ch]
* libgimp/gimppatheditor.[ch]
* libgimp/gimppixmap.[ch]
* libgimp/gimpquerybox.[ch]
* libgimp/gimpsizeentry.[ch]
* libgimp/gimpunitmenu.[ch]
* libgimp/gimpwidgets.[ch]: removed from here.
* libgimp/gimpui.h
* libgimp/gimpuitypes.h
* libgimp/makefile.mingw.in
* libgimp/makefile.msc: changed accordingly.
* app/[all ui files]
* app/pdb/palette_cmds.c
* app/pdb/tools_cmds.c
* tools/pdbgen/pdb/palette.pdb
* tools/pdbgen/pdb/tools.pdb: #include "libgimpwidgets/gimpwidgets.h"
and removed useless includes.
* app/apptypes.h: #include "libgimpwidgets/gimpwidgetstypes.h"
* app/Makefile.am
* plug-ins/[all makefiles which link against libgimpui]:
link against libgimpwidgets.la
* po-libgimp/POTFILES.in: changed file locations.
2001-01-03 Michael Natterer <mitch@gimp.org>
* app/levels.c: reverted the behaviour of the "Reset" button back
to resetting the current channel only. Resetting all channels was
broken and IMHO cannot work the way it was implemented.
2000-12-29 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/channel_pvt.h
* app/drawable_pvt.h
* app/gdisplayF.h
* app/gimpdrawableP.h
* app/gimpimageP.h
* app/layer_pvt.h
* app/toolsF.h: removed these files.
* app/apptypes.h
* tools/pdbgen/enums.pl: added tons of opaque typedefs and enums.
* tools/pdbgen/pdb/brush_select.pdb
* tools/pdbgen/pdb/brushes.pdb
* tools/pdbgen/pdb/channel.pdb
* tools/pdbgen/pdb/color.pdb
* tools/pdbgen/pdb/convert.pdb
* tools/pdbgen/pdb/display.pdb
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/fileops.pdb
* tools/pdbgen/pdb/gradient_select.pdb
* tools/pdbgen/pdb/gradients.pdb
* tools/pdbgen/pdb/help.pdb
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/layer.pdb
* tools/pdbgen/pdb/pattern_select.pdb
* tools/pdbgen/pdb/patterns.pdb
* tools/pdbgen/pdb/selection.pdb
* tools/pdbgen/pdb/tools.pdb
* app/*: chainsaw #include cleanup:
- Never (never!!) include stuff in header files except where we
need access to structures' contents (like derived objects).
- Added prototypes and proper formating in many files.
- The #include order in *all* *.c files is as follows:
#include "config.h"
#include <system stuff>
#include <gtk/gtk.h>
#include "apptypes.h"
#include "gimp stuff"
#include "libgimp stuff"
#include "libgimp/gimpintl.h"
By following this scheme we can easily see a file's dependencies
from it's #include's and can grep for the inclusion to find out
where a file is used.
* tools/pdbgen/app.pl: changed to follow the include scheme above.
* libgimp/Makefile.am
* libgimp/gimpuitypes.h: new file, included from libgimp/gimpui.h
and from app/apptypes.h.
* libgimp/gimpcolorbutton.[ch]
* libgimp/gimpdialog.[ch]
* libgimp/gimphelpui.[ch]
* libgimp/gimpparasite.[ch]
* libgimp/gimppatheditor.[ch]
* libgimp/gimpprotocol.c
* libgimp/gimpquerybox.[ch]
* libgimp/gimpsizeentry.[ch]
* libgimp/gimptypes.h
* libgimp/gimpui.h
* libgimp/gimpunit.h
* libgimp/gimpunitmenu.[ch]
* libgimp/gimpwidgets.[ch]: changed accordingly.
* plug-ins/FractalExplorer/Dialogs.c
* plug-ins/gdyntext/message_window.c
* plug-ins/imagemap/imap_default_dialog.c
* plug-ins/imagemap/imap_file.c: these files used to include
"libgimp/gimpui.h" without including "libgimp/gimp.h". This is
no longer possible because the libgimpui headers don't inlcude
"libgimp/gimpunit.h" any more.
2000-12-19 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/gimphistogramP.h: removed.
* app/gimphistogram.[ch]
* app/histogramwidget.[ch]: Histogram cleanup: replaced the
channel #define's by a properly named enum and use this enum
type as parameter in functions instead of "int".
* app/curves.c
* app/histogram_tool.c
* app/levels.c: changed accordingly.
Thu Nov 30 23:26:07 GMT 2000 Andy Thomas <alt@gimp.org>
* app/curves.c
* app/levels.c
Fix for gimp bug #33403. The curves and levels dialogs should now
work in GRAYA images.
2000-06-13 Jay Cox <jaycox@gimp.org>
These files should have been commited in my 2000-05-08 commit
but somehow they didnt make it.
* app/hue_saturation.c
* app/levels.c
* app/posterize.c
* app/threshold.c: Add a call to image_map_clear in the
preview toggle button callback. This makes the preview toggle
button behave as expected.
* app/histogram_tool: remove an unnecessary include.
2000-04-26 Michael Natterer <mitch@gimp.org>
* app/color_select.c
* app/colormaps.[ch]
* app/context_manager.c: removed unused global variables
[foreground|background]_pixel and [old|new]_color_pixel.
Initialize the colormap and visual stuff with GdkRGB instead of
GtkPreview functions (which are deprecated).
* app/[62 files]: removed #include's (started with colormaps.h and
couldn't stop). Also ordered them consistently and did some small
unrelated cleanups.
Removed variuos <stdlib.h> et.al. but checked the files carefully
before doing so. If I was too radical and you get warnings on your
platform, please flame me or just put them back :)
2000-02-13 Michael Natterer <mitch@gimp.org>
* po/POTFILES.in
* app/Makefile.am
* app/buildmenu.[ch]: removed.
* app/blend.c
* app/brush_select.c
* app/curves.c
* app/histogram_tool.c
* app/layers_dialog.c
* app/lc_dialog.c
* app/levels.c
* app/paint_options.h
* app/paintbrush.c
* app/tool_options.c: use the libgimp option menu
constructor. Removed paint_mode_menu_set_history().
* app/colormap_dialog.i.c
* app/colormap_dialog.p.h: use a popup menu as in the palette
dialog instead of a pulldown menu.
* app/channels_dialog.c: made color dnd to a channel widget work
again.
* libgimp/gimpwidgets.[ch]: new function
gimp_option_menu_set_history() which sets the history according to
user_data as passed to gimp_option_menu_new().
2000-01-25 Michael Natterer <mitch@gimp.org>
* app/appenv.h: removed BOUNDS, MINIMUM and MAXIMUM. No need to
include both <glib.h> and <gtk/gtk.h>.
* app/*
* tools/pdbgen/pdb/text_tool.pdb: s/BOUNDS/CLAMP/,
same for MIN and MAX.
* app/preferences_dialog.c: the "Check Size" widget was connected
to the transparency_type variable.
* plug-ins/common/sobel.c: removed definitions of MIN and ROUND.
* libgimp/gimp.h: #include "gimplimits.h" and "gimpcolorspace.h".
* plug-ins/*: don't include the two files.
* app/gdisplay.c
* app/gimage_cmds.c
* tools/pdbgen/pdb/gimage.pdb: fixed typos
* app/gimphistogram.c: indentation
* app/histogramwidget.c: grab the pointer in the histogramwidget,
so a button_release outside the widget is noticed correctly
* app/levels.c: instead of undoing the user action, simply don't
allow the user to set the range in the histogram_widget
--Sven
1999-12-17 Michael Natterer <mitch@gimp.org>
* app/menus.c
* app/paths_dialog.c: Minor help system fixes.
* app/app_procs.c: I thought we should have a real splash (without
decoration). Like it???
* app/about_dialog.c
* app/flip_tool.c
* app/gradient.c
* app/levels.c
* app/measure.c
* app/text_tool.c
* app/tools.c
* app/transform_tool.c: Did some code browsing: I18N fixes,
s/gtk_window_position/gtk_window_set_position/g, indentation
paranoia, some g/<type>/g<type>/, various stuff (didn't change any
logic).
1999-12-02 Michael Natterer <mitch@gimp.org>
* app/app_procs.c: Default to "Cancel" in the "Really Quit?" dialog.
* app/app_procs.c
* app/brush_select.c
* app/gimpbrushlist.c: Call brush_select_[freeze|thaw]_all() from
brushes_init() and brushes_free(), so refreshing the brushes from
plugins/scripts is faster.
* app/brightness_contrast.c
* app/color_balance.c
* app/curves.c
* app/file_new_dialog.c
* app/hue_saturation.c
* app/levels.c
* app/posterize.c
* app/threshold.c:
Reorder the action are buttons: [ "OK" "Reset" "Cancel" ]
* app/menus.c: Some more cleanups in the menu code. Reorder
<Image>/Filters/Misc only if ot exists. Generalized
menu_translate() in preparation for correctly supporting catalogs
which only exist sometimes (like gimp-perl).
* app/gradient.c
* app/gradient_select.c: Save some lines of code by using
gtk_clist_new_with_titles() instead of gtk_clist_new().
* libgimp/gimpunitmenu.c: Code cleanup and made the clist titles
of the unit selection un-clickable.
1999-11-22 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/brightness_contrast.[ch]
* app/by_color_select.[ch]
* app/color_balance.[ch]
* app/curves.[ch]
* app/histogram_tool.[ch]
* app/hue_saturation.[ch]
* app/levels.[ch]
* app/posterize.[ch]
* app/threshold.[ch]: spinbuttons and cleaned up ui for all
dialog-tools. Added a "Reset" button to all dialogs.
* app/color_notebook.c: fixed a compiler warning.
* app/gimpui.[ch]: made gimp_radio_group_new() more general.
* app/menus.c: removed the <Toolbox>/File/Help submenu.
* app/tools.c: restored the old behaviour of "tools_initialize()"
(force the emission of the "tool_changed" signal)
1999-09-27 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/gimphelp.[ch]
* app/gimpui.[ch]: new files
* app/interface.[ch]
* app/preferences_dialog.[ch]
The GIMP Help System part 1: Press "F1" in any dialog to pop up
the help page for this dialog.
Moved the widget constructors from preferences_dialog.[ch] and the
query boxes from interface.[ch] to gimpui.[ch].
The dialog constructors take a help_func and a help_data
parameter and install the "F1" accelerator which emits the new
"help" signal.
The "help" signal callback calls help_func(help_data) which finally
has to call gimp_help() which in turn invokes the help browser.
Still have to find a proper way to (1) prevent "F1" being assigned
to some menu item and (2) to catch "F1" while browsing the menu
trees in order to pop up the help for the selected item.
* app/menus.c: a <Toolbox>/File/Help... menu item.
* app/commands.[ch]: a command callback for the "Help..." menu item.
* app/gimprc.[ch]: new boolean gimprc variable "use_help".
* app/info_dialog.[ch]: pass a help function and data to the info
dialog constructor.
* app/tools.[ch]: store the tools help page names in the tool info
structure. Export a special tools_help_func() which shows the help
page for the active tool.
* app/[all files calling a dialog constructor]: pass the dialog's
help page to the constructor.
Most dialogs are now created by gimp_dialog_new() which also sets
up the action_area and the WM delete event callback, so I removed
the resp. code from these files.
Fixed some minor bugs and did some other stuff but didn't change
any logic except dialog creation.
* plug-ins/helpbrowser/helpbrowser.c: don't try to call a running
help browser and don't install any menu path (all done in
app/gimphelp.[ch] now).
* libgimp/Makefile.am: use AM_CPPFLAGS instead of CPPFLAGS
* app/levels.c: added some basic load/save functionality to the levels
tool. Still needs some polishing.
-Yosh
Mon Jul 5 20:39:42 BST 1999 Austin Donnelly <austin@gimp.org>
* app/levels.c: change from greyscale bars to colour ones similar
to curves.c. Is this any use to people? If not, we can
always revert it.
1999-07-02 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/[all tools]: the Tool structure is now allocated by a common
constructor which sets default values and provides default tool
action functions. To get rid of much code duplication there should
be a object hierarchy of tools.
* app/context_manager.c
* app/tools.[ch]: create and destroy private contexts for the
paint tools on startup and exit. They are not used yet.
* app/interface.c
* app/menus.c
* app/tools.h: num_tools is now exported in tools.h
* app/commands.c
* app/gdisplay.c
* app/menus.c: made "Toggle Selection" a toggleable menu item.
1999-06-26 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/[all tool related files]
* app/commands.c
* app/disp_callbacks.c
* app/gdisplay.c
* app/gimage.c
* app/interface.c: hopefully fixed the bugs that appeared with my
last fix. And some more changes...
- Slightly changed the conditions which cause the tools to be
re-initialized on button_press events and the global
initialisation functions.
- The dialog tools now explicitly set tool->gdisp_ptr so they can
be properly hidden on display deletion.
- Create the crop info dialog only once and avoid ugly redraw bugs
by blocking the sizeentries' signal when initializing them.
- Standardized the tools_new_<tool>() functions. They are
scheduled to be moved to a common constructor in tools.c
- Various stuff...
1999-06-23 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/brightness_contrast.c
* app/by_color_select.c
* app/curves.c
* app/disp_callbacks.c
* app/histogram_tool.c
* app/hue_saturation.c
* app/levels.c
* app/posterize.c
* app/threshold.c:
Factored out the cleaning up code to the tool dialog's "cancel"
callbacks because they are called from every function which is
aborting the tool. This should fix the remaining segfaults.
I probably killed a feature of "Levels". The tool wanted to
preserve it's drawable all the time, so it was possible to select
colors from other displays. If this was the intended behaviour,
please flame me and I will try to set the "preserve" flag
correctly.
* plug-ins/common/Makefile.am: "struc" was in the Makefile but not
in the directory.
1999-06-21 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/context_manager.c: namespace cleanups.
* app/commands.[ch]
* app/menus.c: moved the "Toggle Selection" menu entry to "View",
sprinkled some separators and made the layers/channels/paths popup
menus consistent with Tigert's last ops buttons change.
* app/fileops.c
* app/plug_in.c: check for gdisplay_active() returning NULL in
some more places.
* app/[all tool related files]:
- Turned the ToolAction and ToolState #define's into typedef'ed
enums, so the compiler can do some more sanity checking.
- Removed one more unused global variable "active_tool_layer".
- Removed some #include's from tools.c.
- Standardized the individual tools' structure names.
- Moved showing/hiding the tool options to separate functions.
- Stuff...
* app/commands.c
* app/disp_callbacks.c
* app/gdisplay.c
* app/tools.c: fixed the segfaults which happened when the image
of one of the tools which have dialogs (levels/posterize/...) was
deleted. My approach was to do stricter sanity checking and to set
some gdisplay pointers correctly where appropriate, so I can't
tell exactly where the bug was.
The curves tool now(??) updates on every _second_ display change
only, which is really obscure.
Finding/changing the display to operate on should definitely be
done by connecting to the user context's "display_changed"
signal.
* app/gimpset.c: emit the "remove" signal _after_ removing the
pointer from the set. If this was not a bug but a feature, please
let me know, we'll need two signals then.
1999-04-12 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/airbrush.c
* app/bezier_select.c
* app/blend.c
* app/brightness_contrast.c
* app/bucket_fill.c
* app/by_color_select.c
* app/clone.c
* app/color_balance.c
* app/color_picker.c
* app/convolve.c
* app/crop.c
* app/curves.c
* app/ellipse_select.c
* app/eraser.c
* app/flip_tool.c
* app/free_select.c
* app/fuzzy_select.c
* app/histogram_tool.c
* app/hue_saturation.c
* app/ink.c
* app/iscissors.c
* app/levels.c
* app/magnify.c
* app/move.c
* app/paintbrush.c
* app/pencil.c
* app/posterize.c
* app/rect_select.[ch]
* app/text_tool.c
* app/threshold.c
* app/transform_tool.c
* app/tools.[ch]
* app/toolsF.h: again: all tools :(
* app/Makefile.am
* app/tool_options.[ch]
* app/selection_options.h
* app/tool_options_ui.h: new files.
Ok, this time it's general enough for future extensions:
- The tool options structures are organized like the gtk object
system to allow derived tool options.
- Renamed all create and reset functions to *_options_new() and
*_options_reset() to reflect this.
- Changed tools_register() again. Now it takes just a pointer to a
ToolOptions structure.
- Moved almost the entire tool options gui code to tool_options.c.
- Visually separated the common selection options from the
tool-specific ones. I'd like to do the same with opacity/paint
mode in all paint tool options but I think this needs some more
discussion.
* app/histogram_tool.c: changed packing boxes, label alignments.
* app/paintbrush.c: some more sensitive settings. The gradient
feature can now be toggled with a button. Hopefully didn't break
anything.
* app/Makefile.am: build color_cmds, lut_funcs, and pixel_processor
* app/app_procs.c: feedback in the splash screen when loading
parasites.
* app/boundary.c: Optimized find_empty_segs.
* app/brightness_contrast.[ch]
* app/levels.[ch]
* app/posterize.[ch]:
moved pdb and lut calculation code. These files now contain only
GUI functions.
* app/channel.c: Optimized channel_bounds (fewer compares, better
use of registers). Use color_region instead of channel_*_segment
in channel_combine_rect. Optimized channel_combine_ellipse by
skipping pixels inside of the ellipse. Use
pixel_region_process_parallel in channel_combine_mask. Use a
GimpLut in channel_invert, and channel_sharpen.
* app/invert.c
* app/equalize.c: moved the lut functions to lut_funcs.c
* app/gimpdrawable.c, app/gimpdrawableP.h
* app/gimpimage.c, app/gimpimageP.h: removed unused gimpmatrix
variables/includes.
* app/gimplut.[ch]: added new function gimp_lut_process_inline
that operates on a single PixelRegion.
* app/gimpparasite.[ch]: new functions to save/load parasiterc
* app/parasitelist.[ch]: new functions to save/load ParasiteLists
in/from files.
* libgimp/parasite.[ch]: new functions to load/save parasites.
* app/internal_procs.c: get some procs from new location in
color_cmds.h.
* app/pixel_region.[ch]: moved pixel_regions_process_parallel
related functions to a new file.
* app/color_cmds.[ch]: new files for PDB
definitions/implementations of color correction functions.
* app/lut_funcs.[ch]: new files to hold lut creation functions.
* app/pixel_processor.[ch]: new files that contain the
pixel_regions_process_parallel routines. Added some new
capabilities that are currently unused.
1999-04-08 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/airbrush.c
* app/bezier_select.c
* app/blend.c
* app/brightness_contrast.c
* app/bucket_fill.c
* app/by_color_select.c
* app/clone.c
* app/color_balance.c
* app/color_picker.c
* app/convolve.c
* app/crop.[ch]
* app/curves.c
* app/ellipse_select.c
* app/eraser.c
* app/flip_tool.c
* app/free_select.c
* app/fuzzy_select.c
* app/histogram_tool.c
* app/hue_saturation.c
* app/ink.c
* app/iscissors.c
* app/levels.c
* app/magnify.c
* app/move.c
* app/paintbrush.c
* app/pencil.c
* app/posterize.c
* app/rect_select.[ch]
* app/text_tool.[ch]
* app/threshold.c
* app/transform_tool.c
* app/tools.[ch]
* app/toolsF.h: in other words: all tools
Implemented the "reset tool options" feature.
- All tools register with a title string and a reset function now.
- The tool options' variables have two related <var>_d (default)
and <var>_w (widget) variables to restore the default values.
"Standardized" the tool options UI:
- Put the stuff info a frame to give a hint that the dialog's
contents will change.
- table layout, sensitive setting, spacings, borders, ...
As I had them all in my emacs simultaneously, I couldn't resist to
standardize the tools' *.c files declaration parts ;) Ansi stuff.
* app/Makefile.am: added gimphistogram*, histogramwidget*,
removed histogram.[ch]
* app/histogram.[ch]: removed. replaced with histogramwidget.[ch].
* app/{gimphistogramP.h, gimphistogram.h, gimphistogram.c}: new
functions that calculate histograms in parallel and perform
calculations on them.
* app/histogramwidget.[ch]: Same as old histogram.[ch], only it is
now a real widget, and it uses GimpHistograms instead of arrays of
values.
* app/curves.c: #include gimphistogram.h instead of histogram.h.
* app/equalize.c: use GimpHistogram and GimpLut.
* app/gimpbrush.c, app/gimpimage.c, app/gimpset.c: use
GTK_RUN_FIRST in calls to gimp_signal_new.
* app/histogram_tool.c, app/levels.c, app/threshold.c: modified to
use the new HistogramWidget.
* app/paint_funcs.c: removed some unused variables.
* app/preferences_dialog.c: only display the num-processor field
if we are configured --with-mp
* plug-ins/gee/gee.c: removed a couple of c++ style comments.
* app/gimplut.[ch]: new source files that implement pixel Look Up
Table functions.
* app/Makefile.am: build gimplut.[ch]
* app/brightness_contrast.c
* app/curves.c
* app/invert.c
* app/levels.c
* app/posterize.c: Use the new lut functions. Use
pixel_region_process_parallel in the PDB versions of these routines.
* libgimp/parasite.h
* libgimp/parasite.c: new functions parasite_name and
parasite_compare.
* app/gimpdrawable.c:
* app/gimpdrawable.h: new function
gimp_drawable_get_color_at(...) returns the RGBA[color index]
value at a specified position in the drawable. Don't set the dirty
bit on the image if a new parasite is the same as the old.
* app/gimpimage.c
* app/gimpimage.h new function
gimp_image_get_color_at(...) returns the RGBA[color index]
value at a specified position in the drawable. Don't set the dirty
bit on the image if a new parasite is the same as the old.
* app/by_color_select.c
* app/color_picker.c: use the new gimp_*_get_color_at
functions instead of messing with the tiles.
* app/layer.c: fixed a minor warning.
* app/commands.c:
don't scale the image if the new size == the old size
* app/channel.c: optimized channel_bounds by only checking the
pixels in a tile if it is not already entirely within the
currently computed bounds.
1999-01-15 Federico Mena Quintero <federico@nuclecu.unam.mx>
* Updated gtk_toggle_button_set_state() to
gtk_toggle_button_set_active() in all the files.
Sun Jun 21 15:16:46 CDT 1998 Larry Ewing <lewing@gimp.org>
* app/bezier_select.c
* app/commands.[ch]
* app/devices.c
* app/disp_callbacks.c
* app/interface.c
* app/menus.c
* app/pixmaps.h
* app/tools.[ch]
* app/undo.c: Lots of changes to the way tools are intialized and
accessed. All information about a tool type is now contained in a
single ToolInfo array. There are still some small issues to
adress about tool groups and we need some way of getting menu
ordering/grouping to work better (plug-ins need this too). There
is still much to be done, but this is the next in cleaning up the
tools.
* app/posterize.[ch]
* app/threshold.[ch]
* app/histogram_tool.[ch]
* app/hue_saturation.[ch]
* app/levels.[ch]
* app/brightness_contrast.[ch]
* app/by_color_select.[ch]
* app/color_balance.[ch]
* app/curves.[ch]: Changed the *_initalize function prototypes from
gpointer to GDisplay, to allow better type chacking and provide a
uniform interface for all the dialog tools.
* redid the error message handling. g_message now calls message_box or prints
to console depending on whether the no_interface is set or not. gimp-message
is also exported to the PDB as a wrapper to g_message, and libgimp has a new
API: gimp_message. libgimp also overrides g_message for all plugins. Converted
lots of messages in app/* to g_message. Made script-fu a little friendlier.
* updated the regex code from grep 2.2
* said goodbye to the old script-fu logo in script-fu.h
-Yosh
* app/brightness_contrast.c
* app/by_color_select.c
* app/color_balance.c
* app/color_picker.c
* app/curves.c
* app/histogram_tool.c
* app/hue_saturation.c
* app/levels.c
* app/posterize.c
* app/threshold.c
* app/transform_core.c: modified to call the cancel callback
instead of the ok callback when freed. modified to save the
last used drawable so that we might be able to check later
and restart the tool if need be.
* app/disp_callbacks.c
* app/gimage.c: modified tool restart/destruction code
* app/tools.c
* app/tools.h: added tools_initialize, made changes to
be able save the last used drawable in the tool.
--Matt
Tue Mar 31 02:21:15 EST 1998 Matthew Wilson <msw@gimp.org>
* app/gimage.c
* app/tools.c
* app/tools.h: Added a field in the Tools struct, preserve.
During gimage_dirty, if this flag is not set the tool will be
reset. This is good for tools that keep a copy of the image
in cache for local manipulation like transform_core.
* app/bezier_select.c
* app/blend.c
* app/brightness_contrast.c
* app/bucket_fill.c
* app/color_balance.c
* app/color_picker.c
* app/crop.c
* app/curves.c
* app/ellipse_select.c
* app/free_select.c
* app/histogram_tool.c
* app/hue_saturation.c
* app/levels.c
* app/move.c
* app/paint_core.c
* app/posterize.c
* app/rect_select.c
* app/text_tool.c
* app/transform_core.c: Set the preserve flag to the correct
values in the new functions and wrapped calls to functions that
dirty the gimage to prevent tool restarts.
* app/disp_callbacks.c
* app/menus.c: Removed Nether's tool patch.
--phew. Matt
*plug-ins/ edge.c
added a check so it woudlnt segfault when
passed a non-existend drawable
threshold_alpha added a non-interactive mode
*app/brightness_contrast.c
app/color_balance.c
app/colormaps.c
app/curves.c
app/hue_saturation.c
app/posterize.c
app/threshold.c
-added a check so it wouldnt except
a indexed drawable. This was previosly possible via the pdb.
-adrian