2006-08-22 Sven Neumann <sven@gimp.org>
* tools/pdbgen/lib.pl : changed code generation rules to place
G_GNUC_INTERNAL before the return value (bug #352268).
* libgimp/*_pdb.h: regenerated.
2006-03-26 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/lib.pl: removed support for arg->implicit_fill.
* tools/pdbgen/pdb/progress.pdb (progress_init): remove it without
replacement, the generated function on the libgimp side is
internal anyway.
* libgimp/gimpprogress_pdb.[ch] (_gimp_progress_init): rgenerated
with a display_ID parameter.
* libgimp/gimpprogress.c (gimp_progress_init): pass
gimp_default_display() to _gimp_progress_init().
2006-02-20 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/progress.pdb
* libgimp/gimpprogress.[ch]: applied slightly modified patch from
Stephane Chauveau. Wraps the gimp_progress_update() PDB call so
that redundant progress updates are suppressed in libgimp. This
gives a noticeable speedup for all plug-ins that update the
progress too often (bug #331470).
* libgimp/gimpprogress_pdb.[ch]: regenerated.
2005-09-29 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/progress.pdb: removed the "wrap" from
gimp_progress_set_text() so it shows up as libgimp function again.
* libgimp/gimpprogress_pdb.[ch]: regenerated.
* libgimp/gimpprogress.[ch]: changed the old
gimp_progress_set_text() to gimp_progress_set_text_printf() and
added gimp_progress_init_printf(). (did this because the method of
calling init(NULL) followed by set_text("foo") caused popup
progress windows to be resized after they were shown).
* libgimp/gimp.def: changed accordingly.
* plug-ins/*/*.c: use gimp_progress_init_printf() instead of
init(NULL) plus set_text(foo) and changed users of set_text() to
use set_text_printf().
2005-09-09 Michael Natterer <mitch@gimp.org>
Added parent window API to the GimpProgress interface and to
the libgimp progress stuff. Might look strange, but does
the right thing in almost all cases (image window, file dialog,
script-fu dialog etc). Fixes bug #62988.
* app/core/gimpprogress.[ch]: added GimpProgress::get_window()
which should return a toplevel window ID if the progress is in a
window that wants to be the transient parent of plug-in dialogs.
* app/widgets/gimpwidgets-utils.[ch] (gimp_window_get_native): new
function which returns the window handle of a GtkWindow's GdkWindow.
* app/widgets/gimpfiledialog.c: implement ::get_window().
* app/display/gimpdisplay.[ch]: ditto. Removed window handle API.
* app/gui/gui-vtable.c: changed accordingly.
* libgimpbase/gimpbaseenums.[ch] (enum GimpProgressCommand):
added GIMP_PROGRESS_COMMAND_GET_WINDOW.
* app/plug-in/plug-in-progress.[ch] (plug_in_progress_get_window):
new function. Also renamed some functions to match the
GimpProgress interface, and not the legacy PDB procedure names.
* tools/pdbgen/pdb/progress.pdb
* app/core/gimppdbprogress.c: implement get_window() on both
sides of the wire, keeping backward compatibility (hopefully).
* libgimp/gimpprogress.[ch]: deprecated gimp_progress_install()
and added gimp_progress_install_vtable() which takes a vtable with
padding to be extensible. Added get_window() vtable entry and
dispatch it accordingly. Also added pulse() which was implemented
in a hackish way before. Everything is of course backward
compatible.
* libgimp/gimpprogressbar.c: inmplement the get_window() stuff
so a plug-in dialog containing a progress can be the transient
parent of another dialog in another plug-in.
* libgimp/gimpui.[ch] (gimp_ui_get_progress_window): new function
which returns a foreign GdkWindow of this plug-ins progress
window.
Renamed gimp_window_set_transient_for_default_display() to
gimp_window_set_transient() and make it use the progress' window
handle instead of the display's (which is the right thing to do in
almost all cases).
* libgimp/gimp.def
* libgimp/gimpui.def: add the new functions.
* tools/pdbgen/enums.pl
* app/pdb/internal_procs.c
* app/pdb/progress_cmds.c
* libgimp/gimpprogress_pdb.[ch]: regenerated.
* libgimp/gimpexport.c
* plug-ins/*/*.c: follow API change.
2005-02-13 Sven Neumann <sven@gimp.org>
* app/core/gimpprogress.c (gimp_progress_start): accept an empty
string.
* app/plug-in/plug-in-progress.c: if NULL is passed as message to
plug_in_progress_start(), set an empty string on the progress.
* tools/pdbgen/pdb/progress.pdb:
* libgimp/gimpprogress.[ch]: wrap the new gimp_progress_set_text()
PDP function with a function that accepts printf-like arguments.
* libgimp/gimpprogress_pdb.[ch]: regenerated.
* lots of plug-ins, most of them file plug-ins:
use gimp_progress_init(NULL) followed by gimp_progress_set_text()
to initialize the progress using the new API instead of constructing
a temporary string.
2005-02-12 Sven Neumann <sven@gimp.org>
* app/core/gimpprogress.[ch]: added GimpProgress::pulse.
* app/display/gimpdisplay.c
* app/display/gimpstatusbar.c
* app/widgets/gimpfiledialog.c
* app/widgets/gimpprogressbox.c
* app/widgets/gimpprogressdialog.c
* app/widgets/gimpthumbbox.c: implement it in the classes that
implement the GimpProgress interface.
* app/plug-in/plug-in-progress.[ch]: allow plug-ins to pulse their
progress.
* tools/pdbgen/pdb/progress.pdb: added a procedure for the new
functionality.
* app/pdb/internal_procs.c
* app/pdb/progress_cmds.c
* libgimp/gimpprogress_pdb.[ch]: regenerated.
* libgimp/gimp.def: updated.
2004-08-29 Michael Natterer <mitch@gimp.org>
Added an API to allow plug-ins to embed the progress for the
actions they trigger into their own GUI (attention: half-done and
broken code ahead...)
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimppdbprogress.[ch]: new object implementing dispatching
progress calls to a temporary PDB procedure in a plug-in.
* app/Makefile.am: force to link gimppdbprogress.o, bah!
* app/plug-in/plug-in-progress.[ch]: added API to install,
uninstall and cancel a PDB progress for this plug-in, but disabled
the implementation because it doesn't work yet.
* tools/pdbgen/pdb/progress.pdb: added pdb wrappers for the new
install, uninstall and cancel functions.
* libgimp/Makefile.am
* libgimp/gimp.h
* libgimp/gimpprogress.[ch]: added an API around the PDB progress
stuff.
* app/pdb/internal_procs.c
* app/pdb/progress_cmds.c
* libgimp/gimpprogress_pdb.[ch]: regenerated.
* plug-ins/script-fu/script-fu-scripts.c: use the new API to show
the progress in the script-fu dialog.
2004-08-27 Michael Natterer <mitch@gimp.org>
Moved the gimp_progress_init() and gimp_progress_update() PDB
functions to their own group because they don't belong to the
"Plug-In" namespace and will soon get more functions.
* tools/pdbgen/pdb/plug_in.pdb: removed the progress stuff...
* tools/pdbgen/pdb/progress.pdb: ...and added it here.
* tools/pdbgen/Makefile.am
* tools/pdbgen/groups.pl
* app/pdb/Makefile.am
* libgimp/Makefile.am: changed accordingly.
* libgimp/gimpprogress_pdb.[ch]: new generated files.
* app/pdb/internal_procs.c
* app/pdb/plug_in_cmds.c
* libgimp/gimp_pdb.h
* libgimp/gimpplugin_pdb.[ch]: regenerated.