2004-05-07 Michael Natterer <mitch@gimp.org>
Changed plug-in menu registration again to allow passing just the
menu item's label (not the full path) in gimp_install_procedure()
and only the path (excluding the item's label) in
gimp_plugin_menu_register(). Matches the internal action system
better and makes translating the menu paths much easier.
(Of yourse it's still possible to use the old syntax for backward
compatibility).
* app/plug-in/plug-in-proc.[ch]: added "gchar *menu_label".
* app/plug-in/plug-in-params.[ch]: added new functions
plug_in_param_defs_check() and plug_in_proc_args_check() which
check if a procedure's parameters match its menu location
(e.g. <Image> needs RUN-MODE, IMAGE, DRAWABLE).
* app/plug-in/plug-in-message.c (plug_in_handle_proc_install): if
registering an old-style (full) menu_path, use
plug_in_param_defs_check(), set proc_def->menu_label otherwise.
* tools/pdbgen/pdb/plug_in.pdb (plugin_menu_register): use
plug_in_proc_args_check() on the passed menu_path and make sugre
old and new style menu registration are not mixed.
* app/pdb/plug_in_cmds.c: regenerated.
* app/plug-in/plug-in-rc.c: save/restore "menu_label".
* app/actions/file-dialog-actions.c
* app/actions/plug-in-actions.c
* app/menus/plug-in-menus.c: changed action/menu creation
accordingly. Some hacks needed to allow both old and new style
menu_label/menu_paths.
* app/plug-in/plug-in.c
* app/widgets/gimpfiledialog.c
* app/xcf/xcf.c: changed accordingly.
* plug-ins/common/align_layers.c
* plug-ins/common/animationplay.c
* plug-ins/common/animoptimize.c
* plug-ins/common/apply_lens.c
* plug-ins/common/autocrop.c
* plug-ins/common/autostretch_hsv.c
* plug-ins/common/blinds.c
* plug-ins/common/blur.c
* plug-ins/common/borderaverage.c
* plug-ins/common/bumpmap.c
* plug-ins/common/c_astretch.c
* plug-ins/common/ccanalyze.c
* plug-ins/common/channel_mixer.c
* plug-ins/common/checkerboard.c
* plug-ins/common/color_enhance.c
* plug-ins/common/colorify.c
* plug-ins/common/colortoalpha.c
* plug-ins/common/compose.c
* plug-ins/common/convmatrix.c
* plug-ins/common/cubism.c
* plug-ins/common/curve_bend.c
* plug-ins/common/decompose.c
* plug-ins/common/deinterlace.c
* plug-ins/common/depthmerge.c
* plug-ins/common/destripe.c
* plug-ins/common/diffraction.c
* plug-ins/common/displace.c
* plug-ins/common/edge.c
* plug-ins/common/emboss.c
* plug-ins/common/engrave.c
* plug-ins/common/exchange.c
* plug-ins/common/film.c
* plug-ins/common/flarefx.c
* plug-ins/common/fractaltrace.c
* plug-ins/common/screenshot.c: ported the first few plug-ins
to the new registration scheme.
2004-01-20 Michael Natterer <mitch@gimp.org>
* app/widgets/gimphelp-ids.h: added help IDs for the libgimp
export and unit dialogs.
* libgimp/gimpexport.c
* libgimpwidgets/gimpunitmenu.c: replaced html links by the new
help IDs.
* plug-ins/*/*.c: replaced all html help links by help IDs. A
plug-in's help ID is its procedure name with '_' relaced by '-'.
(e.g. file_tiff_save's help ID is file-tiff-save)
Did some random indentation and whitespace cleanup.
2003-11-14 Manish Singh <yosh@gimp.org>
* libgimpwidgets/gimpwidgets.[ch]: implementedgimp_int_option_menu_new
and gimp_int_radio_group_new, which are the same as
gimp_option_menu_new2 and gimp_radio_group_new2, but they take
integers as values to map instead of gpointers, which avoids casts
in pretty much all uses of it in the tree.
* app/gui/image-commands.c
* app/gui/offset-dialog.c
* app/widgets/gimppropwidgets.c
* app/widgets/gimpwidgets-constructors.c
* libgimpwidgets/gimpmemsizeentry.c
* modules/cdisplay_colorblind.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/align_layers.c
* plug-ins/common/blinds.c
* plug-ins/common/borderaverage.c
* plug-ins/common/bumpmap.c
* plug-ins/common/curve_bend.c
* plug-ins/common/deinterlace.c
* plug-ins/common/edge.c
* plug-ins/common/emboss.c
* plug-ins/common/fractaltrace.c
* plug-ins/common/gif.c
* plug-ins/common/hot.c
* plug-ins/common/iwarp.c
* plug-ins/common/jigsaw.c
* plug-ins/common/jpeg.c
* plug-ins/common/lic.c
* plug-ins/common/mail.c
* plug-ins/common/max_rgb.c
* plug-ins/common/mblur.c
* plug-ins/common/mng.c
* plug-ins/common/mosaic.c
* plug-ins/common/nlfilt.c
* plug-ins/common/papertile.c
* plug-ins/common/pnm.c
* plug-ins/common/ps.c
* plug-ins/common/psp.c
* plug-ins/common/ripple.c
* plug-ins/common/shift.c
* plug-ins/common/sinus.c
* plug-ins/common/sparkle.c
* plug-ins/common/struc.c
* plug-ins/common/sunras.c
* plug-ins/common/tiff.c
* plug-ins/common/waves.c
* plug-ins/common/wind.c
* plug-ins/fits/fits.c
* plug-ins/flame/flame.c
* plug-ins/gfig/gfig.c
* plug-ins/gimpressionist/color.c
* plug-ins/gimpressionist/orientmap.c
* plug-ins/gimpressionist/placement.c
* plug-ins/maze/maze_face.c
* plug-ins/sgi/sgi.c: Use gimp_int_option_menu_new and
gimp_int_radio_group_new.
* plug-ins/common/CML_explorer.c: make function_graph_new take a
gpointer *data instead of a gpointer data, and properly pass an
int through it.
* plug-ins/common/mng.c: mark menu strings for translation.
* plug-ins/rcm/rcm.c: remove initialization for Success member
in RcmParams, since it's gone now.
2003-11-11 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimpdialog.[ch] (gimp_dialog_run): new function
which does the same as gtk_dialog_run() except it does not make
the dialog modal.
* app/gui/resolution-calibrate-dialog.c
* libgimp/gimpexport.c
* plug-ins/*/*.c: use gimp_dialog_run() instead of gtk_dialog_run().
* plug-ins/common/grid.c: set update_continuous to TRUE for
the GimpColorButtons so this feature gets some testing.
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.
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.
Sun Aug 20 21:02:22 BST 2000 Austin Donnelly <austin@gimp.org>
* emboss.c
* jigsaw.c
* max_rgb.c
* nlfilt.c
* wind.c
* waves.c: When a radio button in GTK is clicked, the
widget that used to be selected gets a signal as well as the
one that was clicked. Mostly people cope with this by
guarding their signal handers with a check to run to the code
only if the widget is active. However, the callback functions
registered with gimp_radio_group_new2() in the above files
don't have this guard. In most cases, this is a bad idea
since it causes previews to be updated too many times. In the
emboss case it would also get the preview contents wrong when
first displaying the dialog, since the act of
gtk_widget_show()ing the dialog causes an event to be sent to
the widget that's just been de-selected, causing the preview
to redraw while the settings are inconsistent.
* emboss.c: The emboss plugin also used uninitialised data the
first time it is started, which wasn't biting currently, but
might in the future or on other architectures which don't zero
their stacks. Also made active region estimation more robust.
I still haven't been able to reproduce Bug #17660: Embross
plugin crashes, but I will admit that there's what could be
uninitialised memory in the preview bitmap the very first time
it is shown.
2000-08-09 Sven Neumann <sven@gimp.org>
* plug-ins/common/emboss.c: install Emboss with image_type
RGB* since it seems to work well on layers with alpha channel
(despite the preview, but I think we can live with that).
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.
2000-02-05 Michael Natterer <mitch@gimp.org>
* gimprc.in
* user_install
* user_install.bat: renamed the "gflares" dir to "gflare" in all
places because this seems to be the naming convention of all the
other plug-in dirs.
* libgimp/gimpwidgets.[ch]:
- gimp_random_seed_new(): return the spinbutton and the time
toggle as pointers.
- gimp_scale_entry_new(): allow the spinbutton to have a larger
range of possible values than the scale.
* plugins/[all calls to the above two functions]: changed the
calls accordingly.
Did some more ui updates in some of these plugins (Frames saying
"Parameter Settings", spacing etc.)
* plug-ins/gflare/Makefile.am
* plug-ins/gflare/gflare.c: hacked it to match the plugin ui
standards. Didn't get rid of the gradient menus.
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, ...
2000-01-07 Michael Natterer <mitch@gimp.org>
* libgimp/gimphelpui.c: make sure that the help signals are
created for all widget classes where we need them.
* plug-ins/common/Makefile.am
* plug-ins/common/edge.c
* plug-ins/common/emboss.c
* plug-ins/common/engrave.c
* plug-ins/common/exchange.c
* plug-ins/common/film.c
* plug-ins/common/flarefx.c
* plug-ins/common/fractaltrace.c
* plug-ins/common/gauss_iir.c
* plug-ins/common/gauss_rle.c
* plug-ins/common/gbr.c
* plug-ins/common/gee.c
* plug-ins/common/gicon.c
* plug-ins/common/gif.c
* plug-ins/common/glasstile.c
* plug-ins/common/gpb.c
* plug-ins/common/gqbist.c
* plug-ins/common/grid.c
* plug-ins/common/gtm.c: more plugins which use the dialog
constructor. Did some code formating and indentation.
1999-09-01 Tor Lillqvist <tml@iki.fi>
* app/appenv.h
* libgimp/gimpmath.h: New file. Includes <math.h>. Move G_PI,
RINT(), ROUND() etc from app/appenv.h here, so plug-ins can
use them, too. Remove some commented-out old stuff in appenv.h.
* libgimp/gimp.h: Include gimpmath.h.
* libgimp/gimp.c (gimp_main): Win32: Don't install signal
handlers, we can't do anything useful in the handler ourselves
anyway (it would be nice to print out a backtrace, but that seems
pretty hard to do, even if not impossible). Let Windows inform the
user about the crash. If the plug-in was compiled with MSVC, and
the user also has it, she is offered a chance to start the
debugger automatically anyway.
* app/*several*.c: Include gimpmath.h for G_PI etc. Don't include
<math.h>, as gimpmath.h includes it.
* plug-ins/*/*many*.c: Include config.h. Don't include <math.h>.
Remove all the duplicated definitions of G_PI and rint(). Use
RINT() instead of rint().
* app/app_procs.[ch]: app_exit() takes a gboolean.
* app/batch.c
* app/commands.c
* app/interface.c: Call app_exit() with FALSE or TRUE.
* app/main.c (on_error): Call gimp_fatal_error. (main): Don't
install any signal handler on Win32 here, either.
* app/errors.c (gimp_fatal_error, gimp_terminate): Win32: Format
the message and call MessageBox with it. g_on_error_query doesn't
do anything useful on Win32, and printf'ing a message to stdout or
stderr doesn't do anything, either, in a windowing application.
* applied gimp-lecorfec-99041[02]-0, changes follow
* plug-ins/FractalExplorer/Dialogs.h (make_color_map):
replaced free with g_free to fix segfault.
* plug-ins/Lighting/lighting_preview.c (compute_preview):
allocate xpostab and ypostab only when needed (it could also be
allocated on stack with a compilation-fixed size like MapObject).
It avoids to lose some Kb on each preview :)
Also reindented (unfortunate C-c C-q) some other lines.
* plug-ins/Lighting/lighting_main.c (run):
release allocated postabs.
* plug-ins/Lighting/lighting_ui.c:
callbacks now have only one argument because gck widget use
gtk_signal_connect_object. Caused segfault for scale widget.
* plug-ins/autocrop/autocrop.c (doit):
return if image has only background (thus fixing a segfault).
* plug-ins/emboss/emboss.c (pluginCore, emboss_do_preview):
replaced malloc/free with g_malloc/g_free (unneeded, but
shouldn't everyone use glib calls ? :)
* plug-ins/flame/flame.c :
replaced a segfaulting free, and several harmless malloc/free pairs.
* plug-ins/flame/megawidget.c (mw_preview_build):
replaced harmless malloc/free pair.
Note : mwp->bits is malloc'ed but seems to be never freed.
* plug-ins/fractaltrace/fractaltrace.c (pixels_free):
replaced a bunch of segfaulting free.
(pixels_get, dialog_show): replaced gtk_signal_connect_object
with gtk_signal_connect to accomodate callbacks (caused STRANGE
dialog behaviour, coz you destroyed buttons one by one).
* plug-ins/illusion/illusion.c (dialog):
same gtk_signal_connect_object replacement for same reasons.
* plug-ins/libgck/gck/gckcolor.c :
changed all gck_rgb_to_color* functions to use a static GdkColor
instead of a malloc'ed area. Provided reentrant functions with
the old behaviour (gck_rgb_to_color*_r). Made some private functions
static, too.
gck_rgb_to_gdkcolor now use the new functions while
gck_rgb_to_gdkcolor_r is the reentrant version.
Also affected by this change: gck_gc_set_foreground and
gck_gc_set_background (no more free(color)).
* plug-ins/libgck/gck/gckcolor.h :
added the gck_rgb_to_gdkcolor_r proto.
* plug-ins/lic/lic.c (ok_button_clicked, cancel_button_clicked) :
segfault on gtk_widget_destroy, now calls gtk_main_quit.
(dialog_destroy) : segfault on window closure when called by
"destroy" event. Now called by "delete_event".
* plug-ins/megawidget/megawidget.c (mw_preview_build):
replaced harmless malloc/free pair.
Note : mwp->bits is malloc'ed but seems to be never freed.
* plug-ins/png/png.c (load_image):
replaced 2 segfaulting free.
* plug-ins/print/print-ps.c (ps_print):
replaced a segfaulting free (called many times :).
* plug-ins/sgi/sgi.c (load_image, save_image):
replaced a bunch of segfaulting free, and did some harmless
inits to avoid a few gcc warnings.
* plug-ins/wind/wind.c (render_wind):
replaced a segfaulting free.
(render_blast): replaced harmless malloc/free pair.
* plug-ins/bmp/bmpread.c (ReadImage):
yet another free()/g_free() problem fixed.
* plug-ins/exchange/exchange.c (real_exchange):
ditto.
* plug-ins/fp/fp.h: added Frames_Check_Button_In_A_Box proto.
* plug-ins/fp/fp_gtk.c: closing subdialogs via window manager
wasn't handled, thus leading to errors and crashes.
Now delete_event signals the dialog control button
to close a dialog with the good way.
* plug-ins/ifscompose/ifscompose.c (value_pair_create):
tried to set events mask on scale widget (a NO_WINDOW widget).
* plug-ins/png/png.c (save_image):
Replaced 2 free() with g_free() for g_malloc'ed memory.
Mysteriously I corrected the loading bug but not the saving one :)
-Yosh
Wed Jan 27 21:52:43 GMT 1999 Austin Donnelly <austin@gimp.org>
* app/scale.c: oops - should use the image resolution, not the
screen resolution. D'oh!
* app/gimpdrawable.c: only merge shadow image if there actually is
one.
* plug-ins/emboss/emboss.c: small optimisation: use
gimp_drawable_mask_bounds() to calculate only the pixels that
are actually in the selection.
* configure.in: check for inline by ourselves if it's not
defined in glibconfig.h. So inline works if glib is compiled
with a different compiler than gimp. The plug-ins that use
inline #include "config.h" now (blur, destripe, emboss,
gfli, nlfilt, ps, randomize, sinus, and zealouscrop)
* app/main.c: applied gimp-kc-980707-0; fixes command line
parsing
* plug-ins/dbbrowser/dbbrowser_utils.c: searching by name does
- <-> _ translation
* Added filter pack plugin
-Yosh
* INSTALL: updated to properly reflect installation procedure
* app/text_tool.c: Fixed bad string in tool description
* libgimp/gimppixelrgn.c: tiles aren't marked dirty in
gimp_pixel_rgn_get_pixel
* plug-ins/edge/edge.c
* plug-ins/edge/emboss.c
* plug-ins/edge/laplace.c
* plug-ins/edge/sobel.c: DEC OSF1 cannont handle reference to
array element with a negative arugment with an unsigned int
(gimp-joke-980108-0)
* plug-ins/sinus/sinus_logo.h: got rid of really long string
* plug-ins/refract/Makefile.am
* plug-ins/refract/refmain.c: fixed megawidget reference
* plug-ins/xpm/xpm.c: made our own case-insenstive strcmp
for checking for transperancy
-Yosh