2003-06-19 Michael Natterer <mitch@gimp.org>
Changed the semantics of GIMP_EXTENSION and (to some extent)
of GIMP_PLUGIN:
The old meaning of EXTENSION was "I live in the toolbox" and
PLUGIN meant "I take RUN-MODE,IMAGE,DRAWABLE args (but only if I
am invoked interactively)". This is completely useless, since
living in the toolbox means having "<Toolbox>" in the menu_path
and taking RUN-MODE,IMAGE,DRAWABLE means just that, regardless of
what type of procedure we are.
The new meaning of GIMP_PLUGIN is just "I am an ordinary procedure,
I am invoked, do my job and finish", while GIMP_EXTENSION means
"I will install temporary procedures and I will keep running to
keep them available".
(A GIMP_EXTENSION *must* call gimp_extension_ack() now to tell the
core that it's ready to run, or the core will block waiting for
the message !!!).
* configure.in: bumped version number to 1.3.16.
* libgimpbase/gimpprotocol.h: increased protocol version number so
old extensions will refuse to load.
* app/gui/plug-in-commands.c (plug_in_run_cmd_callback): don't
blindly pass RUN-MODE,IMAGE,DRAWABLE to GIMP_PLUGIN procedures but
look at their parameters and pass them either RUN-MODE, or
RUN-MODE,IMAGE, or RUN-MODE,IMAGE,DRAWABLE.
* app/pdb/procedural_db.c: cleaned up, better error reporting,
replaced an impossible error message by g_return_if_fail()
* app/plug-in/plug-in-message.c (plug_in_handle_proc_install):
better error messages.
* app/plug-in/plug-in-params.c: allocate parameter arrays using
g_new0() so we don't have to worry about uninitialized stuff
later.
* app/plug-in/plug-in-run.c (plug_in_run): wait for
gimp_extension_ack() installation confirmation for ALL extensions,
not just for automatically started ones.
* app/plug-in/plug-ins.c: cleanup.
* libgimp/gimp.[ch]: cleaned up and API-documented massively. Made
all magic values given in the GPConfig message static and added
accessor functions for them. Added gimp_tile_width()/height().
Added new function gimp_extension_enable() which turns on
asynchronous processing of temp_proc run requests without having
to enter an endless gimp_extension_process() loop. Moved all
private functions to the end of the file. Added tons of
g_return_if_fail() all over the place. Call gimp_run_procedure2()
from gimp_run_procedure() instead of duplicating the
code. Indentation, spacing, stuff...
* libgimp/gimptile.[ch]: removed gimp_tile_width()/height().
* libgimp/gimpdrawable.c
* libgimp/gimppixelrgn.c
* libgimp/gimptile.c: use the gimp_tile_width()/height() accessor
functions.
* libgimp/gimp.def: added gimp_extension_enable.
* libgimp/gimpmenu.c: removed evil code which connected to
_readchannel manually and use gimp_extension_enable() for watching
temp_procs.
* plug-ins/helpbrowser/helpbrowser.c: removed the same evil code
here and call gimp_extension_enable(). Call gimp_extension_ack()
to let the core know that the temp_proc is installed.
* plug-ins/script-fu/script-fu.c: made all procedures except the
permanently running "extension_script_fu" ordinary GIMP_PLUGIN
procedures.
* plug-ins/common/curve_bend.c
* plug-ins/common/plugindetails.c
* plug-ins/common/screenshot.c
* plug-ins/common/uniteditor.c
* plug-ins/common/winclipboard.c
* plug-ins/dbbrowser/dbbrowser.c
* plug-ins/gfli/gfli.c
* plug-ins/twain/twain.c
* plug-ins/webbrowser/webbrowser.c
* plug-ins/winsnap/winsnap.c: made them all ordinary GIMP_PLUGIN
procedures and renamed them from "extension_*" to "plug_in_*".
Random cleanups.
* app/widgets/gimphelp.c
* plug-ins/maze/maze_face.c: call "plug_in_web_browser" now.
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-01-07 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimphelpui.[ch]: removed gimp_help_init() and
gimp_help_free(). Added _gimp_help_init() instead.
* libgimpwidgets/gimpwidgets.def: changed accordingly.
* libgimpwidgets/gimpwidgets.c (gimp_widgets_init): call
_gimp_help_init() so it doesn't need to be done in all plug-ins
manually.
* libgimp/gimpcompat.h: added gimp_help_init() and gimp_help_free()
here as COMPAT_CRUFT.
* app/gui/gui.c
* plug-ins/FractalExplorer/Dialogs.c
* plug-ins/Lighting/lighting_ui.c
* plug-ins/MapObject/mapobject_ui.c
* plug-ins/common/AlienMap.c
* plug-ins/common/AlienMap2.c
* plug-ins/common/CML_explorer.c
* plug-ins/common/blur.c
* plug-ins/common/curve_bend.c
* plug-ins/common/gtm.c
* plug-ins/common/illusion.c
* plug-ins/common/jigsaw.c
* plug-ins/common/plasma.c
* plug-ins/common/polar.c
* plug-ins/common/ps.c
* plug-ins/common/randomize.c
* plug-ins/common/sinus.c
* plug-ins/common/snoise.c
* plug-ins/common/sparkle.c
* plug-ins/common/uniteditor.c
* plug-ins/common/warp.c
* plug-ins/common/wind.c
* plug-ins/gap/gap_arr_dialog.c
* plug-ins/gap/gap_mov_dialog.c
* plug-ins/gap/gap_navigator_dialog.c
* plug-ins/gdyntext/gdyntext_ui.c
* plug-ins/gfig/gfig.c
* plug-ins/gflare/gflare.c
* plug-ins/gimpressionist/gimpressionist.c
* plug-ins/maze/maze_face.c
* plug-ins/print/gimp_main_window.c
* plug-ins/sel2path/sel2path.c: removed the calls to
gimp_help_init() and gimp_help_free().
Fixed bug #81017:
* libgimpbase/gimpprotocol.[ch]: added "guint8 show_tool_tips"
to the GPConfig message. Increased the protocol version number.
* app/plug-in/plug-in.c: pass the value of gui_config->show_tool_tips.
* libgimp/gimp.[ch]: added gimp_show_tool_tips() to get the value
which was passed in the GPConfig message.
* libgimp/gimpui.c (gimp_ui_init): disable the tooltips
if show_tool_tips is FALSE.
* plug-ins/MapObject/mapobject_main.[ch]
* plug-ins/MapObject/mapobject_ui.c
* plug-ins/common/jigsaw.c
* plug-ins/gap/gap_navigator_dialog.c
* plug-ins/gfig/gfig.c: removed all plug-in specific GUI for
enabling/disabling tooltips.
2002-09-11 Michael Natterer <mitch@gimp.org>
* plug-ins/common/curve_bend.c: applied a patch from Guillermo
S. Romero which cleans up the GUI even more. Changed it a bit to
behave nicely on window resizing.
2001-11-29 Sven Neumann <sven@gimp.org>
* m4macros/gimp-1.4.m4: use gimptool-1.3.
* app/display/gimpdisplayshell.c
* app/gui/gui.c: cosmetic changes from Guillermo S. Romero.
* plug-ins/common/*.c
* plug-ins/script-fu/script-fu-scripts.c: applied patches from
Guillermo S. Romero that change the button ordering. I had to redo
some of the changes by hand since the patches didn't apply cleanly.
Hopefully got it all right...
2001-06-14 Michael Natterer <mitch@gimp.org>
* app/gdisplay.c: fixed a FIXME: set the sensitivity of the
color tools' menu entries again.
* libgimp/gimpcolorselector.h
* libgimp/gimpdrawable.h
* libgimp/gimpmenu.h: removed the usage of "id" from the public
interface because it's a reserved keyword of Objective C.
* libgimp/gimpdrawable.c
* libgimp/gimptile.c
* plug-ins/[lotsa plugins].c: changed accordingly.
2000-05-22 Michael Natterer <mitch@gimp.org>
* plug-ins/*: s/gimp_plugin_help_func/gimp_standard_help_func/
Coincidentially, my script also removed empty lines from the end
of _all_ *.c file (not only from those which contained
gimp_plugin_help_func).
2000-04-30 Michael Natterer <mitch@gimp.org>
* plug-ins/common/[a-g]*.c: use gimp_ui_init(). Minor cleanups like
reordering includes consistently and removing trailing commas from
enums and param defs.
german translation. Hopefully the translation is now good enough
that it won't ihave to change much anymore, since the new
"Gimp kurz und gut" reference for 1.2 will go into print soon...
--Sven
* app/fuzzy_select.c: ignore motion_events in a time-window of
100ms after the last event. Was intended as a workaround for bug
#5949, but IMO it makes the tool more responsive and easier to
control.
* app/nav_window.c: as a workaround for bug #5955 move the
navigation popup on screen if used to close to the screen borders.
Moving the cursor will make the image scroll by a large amount
eventually, but IMHO this is better than having a nonfunctional
navigation popup.
* plug-ins/common/curve_bend.c
* plug-ins/gap/gap_decode_xanim.c: fixed typos
--Sven
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.
2000-01-25 Michael Natterer <mitch@gimp.org>
* configure.in
* po-plug-ins/POTFILES.in
* plug-ins/common/Makefile.am
* plug-ins/common/plugin-defs.pl
* plug-ins/megawidget/*: removed. (There were only 3 functions
left which were used by ~5 plugins, so I moved the resp. functions
to the plugins). More preview stuff to come...
* app/airbrush_blob.c
* modules/colorsel_triangle.c
* modules/colorsel_water.c: use G_PI instead of M_PI.
* app/procedural_db.h
* libgimp/gimpenums.h
* plug-ins/script-fu/script-fu-constants.c
* tools/pdbgen/enums.pl: new PDB return value STATUS_CANCEL which
indicates that "Cancel" was pressed in a plugin dialog. (Useful
only for file load/save plugins).
* app/fileops.[ch]
* app/menus.c: changes to handle STATUS_CANCEL correctly. Did some
code cleanup in fileops.[ch]. Pop up a warning if File->Save
failed.
* app/plug_in.c: return_val[0] is of type PDB_STATUS, not
PDB_INT32.
* libgimp/gimpmath.h: new constant G_MAXRAND which equals to
RAND_MAX if it exists or to G_MAXINT otherwise.
* libgimp/gimpwidgets.[ch]: new function gimp_random_seed_new()
which creates a spinbutton and a "Time" toggle.
Call the function which does the "set_sensitive" magic from the
radio button callback.
* plug-ins/[75 plugins]:
- Return STATUS_CANCEL in all file load/save dialogs if "Cancel"
was pressed.
- Standardized the file plugins' "run" functions.
- Use G_PI and G_MAXRAND everywhere.
- Added tons of scales and spinbuttons instead of text entries.
- Applied uniform packing/spacings all over the place.
- Reorganized some UIs (stuff like moving the preview to the top
left corner of the dialog).
- Removed many ui helper functions and callbacks and use the stuff
from libgimp instead.
- I tried not to restrict the range of possible values when I
replaced entries with spinbuttons/scales but may have failed,
though in some cases. Please test ;-)
- #include <libgimp/gimpmath.h> where appropriate and use it's
constants.
- Indentation, s/int/gint/ et.al., code cleanup.
RFC: The plugins are definitely not useable with GIMP 1.0 any
more, so shouldn't we remove all the remaining compatibility
stuff ??? (like "#ifdef GIMP_HAVE_PARASITES")
2000-01-13 Michael Natterer <mitch@gimp.org>
* app/gimpui.[ch]
* app/preferences_dialog.c: removed & renamed some functions from
gimpui.[ch] (see below).
* libgimp/Makefile.am
* libgimp/gimpwidgets.[ch]; new files. Functions moved from
app/gimpui.[ch]. Added a constructor for the label + hscale +
entry combination used in many plugins (now hscale + spinbutton).
* libgimp/gimpui.h: include gimpwidgets.h
* plug-ins/megawidget/megawidget.[ch]: removed all functions
except the preview stuff (I'm not yet sure how to implement this
in libgimp because the libgimp preview should be general enough to
replace all the other plugin previews, too).
* plug-ins/borderaverage/Makefile.am
* plug-ins/borderaverage/borderaverage.c
* plug-ins/common/plugin-defs.pl
* plug-ins/common/Makefile.am
* plug-ins/common/aa.c
* plug-ins/common/align_layers.c
* plug-ins/common/animationplay.c
* plug-ins/common/apply_lens.c
* plug-ins/common/blinds.c
* plug-ins/common/bumpmap.c
* plug-ins/common/checkerboard.c
* plug-ins/common/colorify.c
* plug-ins/common/convmatrix.c
* plug-ins/common/cubism.c
* plug-ins/common/curve_bend.c
* plug-ins/common/deinterlace.c
* plug-ins/common/despeckle.c
* plug-ins/common/destripe.c
* plug-ins/common/displace.c
* plug-ins/common/edge.c
* plug-ins/common/emboss.c
* plug-ins/common/hot.c
* plug-ins/common/nlfilt.c
* plug-ins/common/pixelize.c
* plug-ins/common/waves.c
* plug-ins/sgi/sgi.c
* plug-ins/sinus/sinus.c: ui updates like removing megawidget,
using the dialog constructor, I18N fixes, indentation, ...
* app/transform_core.c: Use RINT instead of rint.
* plug-ins/common/curve_bend.c
* plug-ins/sel2path/spline.c: Workarounds for gccisms, thanks to
Hans Breuer.
* app/makefile.msc
* plug-ins/makefile.msc: Misc fixes.