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-09-05 Sven Neumann <sven@gimp.org>
Address bug #307971:
* app/core/gimp-gui.[ch]
* app/display/gimpdisplay.[ch]
* app/gui/gui-vtable.c
* tools/pdbgen/pdb/display.pdb: added PDB function to obtain a
window handle on an image display.
* app/pdb/display_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimpdisplay_pdb.[ch]: regenerated.
* libgimp/gimpui.[ch]: added functions to set a GtkWindow transient
to an image display.
* plug-ins/common/gauss.c: use the new function exemplarily.
* libgimp/gimp.def
* libgimp/gimpui.def: updated.
2005-09-03 Michael Natterer <mitch@gimp.org>
* app/core/gimp-edit.[ch] (gimp_edit_paste_as_new): don't create a
display here.
(gimp_edit_named_cut)
(gimp_edit_named_copy)
(gimp_edit_named_copy_visible): new functions containing named
buffer wrappers around the functions affecting the global buffer
only.
* app/actions/edit-commands.c: use the new functions instead of
implementing them here, create a display for the image returned
by paste as new.
* app/actions/buffers-commands.c
* app/widgets/gimptoolbox-dnd.c: create displays here too.
* tools/pdbgen/pdb/edit.pdb: added wrappers for paste as new and
wrappers for all the cut/copy/paste named stuff.
Fixes bug #315130. Cleaned up and de-obfuscated.
* libgimp/gimp.def: changed accordingly.
* app/pdb/edit_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimpedit_pdb.[ch]: regenerated.
2005-06-03 Manish Singh <yosh@gimp.org>
* tools/pdbgen/enumcode.pl: make _gimp_enums_init public, so
language bindings can do early enum registration if needed.
* libgimp/gimpenums.h
* libgimp/gimpenums.c.tail: regenerated
* gimp.c: call gimp_enums_init instead of _gimp_enums_init.
* gimp.def: add newly exported function.
2005-03-24 Michael Natterer <mitch@gimp.org>
Added API to explicitly register dynamic menu items hierarchies.
Fixes bug #170623.
* app/core/gimp.h: added "GSList *plug_in_menu_branches".
* app/plug-in/plug-in-types.h
* app/plug-in/plug-ins.[ch]: added API to register plug-in menu
branches, just as for locale and help domans. Cleaned up handling
of locale and help domains.
(plug_ins_exit): free the registered menu branches.
* app/actions/plug-in-actions.[ch] (plug_in_actions_add_branch):
new function to explicitly add a menu branch action.
(plug_in_actions_setup): add the registered menu branches to each
new action group.
(plug_in_actions_build_path): always strip the untranslated menu
path from underlines before using it as hash table key or action
name.
* app/menus/plug-in-menus.c (plug_in_menus_add_proc): changed
accordingly: strip underlines from untranslated menu paths before
passing them to plug_in_menus_build_path().
* app/core/gimp-gui.[ch]: added gimp_menus_create_branch() plus
vtable entry to access the new stuff from the core. Renamed the
functions desling with items from gimp_foo_entry() to
gimp_foo_item().
* app/gui/gui-vtable.c: implement create_branch() and add the
branch action to all existing "plug-in" action groups. Note that
we don't need to create any menus because that happens implicitly
when adding menu items.
* tools/pdbgen/pdb/plug_in.pdb (plugin_menu_branch_register): new
PDB wrapper to access branch registering from plug-ins.
* app/pdb/internal_procs.c
* app/pdb/plug_in_cmds.c
* libgimp/gimpplugin_pdb.[ch]: regenerated.
* libgimp/gimp.def: changed accordingly.
* plug-ins/script-fu/script-fu-scripts.c (script_fu_find_scripts):
register the menu branches for all included scripts.
2005-03-08 Sven Neumann <sven@gimp.org>
* app/core/gimppalette.[ch]: renamed gimp_palette_[gs]et_n_columns
to gimp_palette_[gs]et_num_columns().
* app/dialogs/palette-import-dialog.c
* app/widgets/gimppaletteeditor.c: changed accordingly.
* tools/pdbgen/pdb/palette.pdb: added new PDB function to control
the number of columns used when displaying a palette (bug #169370).
* app/pdb/internal_procs.c
* app/pdb/palette_cmds.c
* libgimp/gimppalette_pdb.[ch]: regenerated.
* libgimp/gimp.def: updated.
2005-02-22 Shlomi Fish <shlomif@iglu.org.il>
* tools/pdbgen/pdb/channel.pdb: add the
gimp_channel_new_from_component() PDB function.
* libgimp/gimpchannel_pdb.c
* app/pdb/channel_cmds.c: resultant files.
* libgimp/gimp.def: add the new function to the def file
* devel-docs/libgimp/libgimp-sections.txt: add the new function
to devel-docs
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.
2005-01-23 Sven Neumann <sven@gimp.org>
* app/paint/paint-enums.h
* libgimpbase/gimpbaseenums.h: moved enums to libgimpbase (from
app/paint and libgimp). The remaining enums in
app/paint/paint-enums.h need special treatment.
* app/paint/paint-enums.c:
* libgimp/gimpenums.h
* libgimpbase/gimpbaseenums.c
* tools/pdbgen/enums.pl: regenerated.
* libgimpbase/gimpbase.def
* libgimp/gimp.def: updated.
2005-01-23 Sven Neumann <sven@gimp.org>
* app/core/core-enums.h
* libgimpbase/gimpbaseenums.h: moved enums to libgimpbase (from
app/core and libgimp). The remaining enums in app/core/core-enums.h
need special treatment.
* app/core/core-enums.c:
* libgimp/gimpenums.h
* libgimpbase/gimpbaseenums.c
* tools/pdbgen/enums.pl: regenerated.
* libgimpbase/gimpbase.def
* libgimp/gimp.def: updated.
2005-01-23 Sven Neumann <sven@gimp.org>
* app/base/base-enums.h
* libgimpbase/gimpbaseenums.h: moved GimpInterpolationType and
GimpTransferMode to libgimpbase (from core and libgimp). The
remaining enums in app/base/base-enums.h need special treatment.
* app/base/base-enums.c
* libgimp/gimpenums.h
* libgimpbase/gimpbaseenums.[ch]
* tools/pdbgen/enums.pl: regenerated.
* libgimpbase/gimpbase.def
* libgimp/gimp.def: updated.
2004-12-14 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/drawable.pdb: added gimp_drawable_sub_thumbnail()
to enable plug-ins avoiding #142074-alike bugs if they need to.
* app/pdb/drawable_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimpdrawable_pdb.[ch]: regenerated.
* libgimp/gimpdrawable.[ch]
* libgimp/gimppixbuf.[ch]: wrap it with the same convenience
APIs as gimp_drawable_thumbnail().
* libgimp/gimp.def
* libgimp/gimpui.def: changed accordingly.
2004-11-16 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/drawable_transform.pdb: renamed the new
drawable_foo_defaults() functions to drawable_foo_default() to be
consistent with paintbrush_default() and friends.
* tools/pdbgen/pdb/transform_tools.pdb
* libgimp/gimp.def: changed accordingly.
* app/pdb/drawable_transform_cmds.c
* app/pdb/transform_tools_cmds.c
* libgimp/gimpdrawabletransform_pdb.[ch]
* libgimp/gimptransformtools_pdb.c: regenerated.
* plug-ins/script-fu/scripts/coolmetal-logo.scm
* plug-ins/script-fu/scripts/image-structure.scm
* plug-ins/script-fu/scripts/text-circle.scm: follow the API change.
2004-11-13 Sven Neumann <sven@gimp.org>
* app/plug-in/plug-in-proc-def.[ch]
* app/plug-in/plug-in-rc.c
* app/plug-in/plug-ins.[ch]: allow to associate a procedure for
thumbnail loading with any file load procedure.
* tools/pdbgen/pdb/fileops.pdb: export this functionality to the
PDB as gimp_register_thumbnail_loader().
* app/pdb/fileops_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimpfileops_pdb.[ch]: regenerated.
* app/core/gimpimagefile.c
* app/file/file-open.[ch]: when creating a thumbnail for an image
file, use a thumbnail load procedure if available.
* plug-ins/common/svg.c: added "file_svg_load_thumb", a procedure
that allows to load a small preview of the SVG image.
2004-11-02 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/drawable_transform.pdb: added _defaults()
variants (flip_defaults, rotate_defaults, ...) for all transform
functions which finally call gimp_drawable_transform_affine().
The _defaults() functions don't take the whole interpolation_type,
supersample etc. parameter overkill, but only a "interpolation"
boolean like the old PDB wrappers.
* libgimp/gimp.def: changed accordingly.
* app/pdb/drawable_transform_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimpdrawabletransform_pdb.[ch]: regenerated.
2004-11-02 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/drawable_transform.pdb: renamed flip() and
rotate() to flip_simple() and rotate_simple(). Renamed flip_free()
and rotate_free() to flip() and rotate() (the special cases should
have a special suffix, not the general ones).
* libgimp/gimp.def: changed accordingly.
* app/pdb/drawable_transform_cmds.c
* libgimp/gimpdrawabletransform_pdb.[ch]: regenerated.
2004-11-02 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/drawable_transform.pdb (flip): renamed
parameter "center" to "auto_center" and removed
"transform_direction". Renamed rotate() to rotate_free() and
added a "gboolean auto_center" parameter. Added new function
rotate() which takes enum GimpRotationType instead of an
arbiatrary angle so the flip and rotate APIs are symmetric.
* libgimp/gimp.def: added the gimp_drawable_transform_* stuff.
* app/pdb/drawable_transform_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimpdrawabletransform_pdb.[ch]: regenerated.
2004-10-25 Michael Natterer <mitch@gimp.org>
* libgimpbase/gimpbaseenums.[ch]: register some missing enums.
* tools/pdbgen/enumcode.pl: removed code to generate
plug-ins/script-fu/script-fu-constants.c, generate code to
explicitely initialize and query all of libgimp*'s enums
and write it to libgimp/gimpenums.c.tail
* libgimp/gimpenums.h: regenerated.
* libgimp/Makefile.am: append gimpenums.c.tail to gimpenums.c
* libgimp/gimp.c (gimp_main): call g_type_init() and
_gimp_enums_init().
* libgimp/gimp.def: added gimp_enums_get_type_names().
* plug-ins/script-fu/Makefile.am
* plug-ins/script-fu/script-fu-constants.[ch]: removed these files.
* plug-ins/script-fu/siod-wrapper.c: dynamically register all
constants using gimp_enums_get_type_names() and introspection.
Also register the built-in unit types.
* plug-ins/script-fu/script-fu.c: changed accordingly.
2004-10-25 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/enumcode.pl
* libgimp/Makefile.am: register all enums in libgimp/gimenums.h
with the type system.
* libgimp/gimpenums.h: regenerated.
* libgimp/gimp.def: updated.
2004-10-04 Sven Neumann <sven@gimp.org>
* app/config/gimpguiconfig.[ch]
* app/config/gimprc-blurbs.h: added gimprc option "show-help-button".
* app/dialogs/preferences-dialog.c: added a GUI for it.
* app/dialogs/file-save-dialog.c
* app/dialogs/image-new-dialog.c
* app/dialogs/quit-dialog.c
* app/display/gimpdisplayshell-close.c
* app/widgets/gimphelp-ids.h: don't set help-ids on confirmation
dialogs.
* libgimpbase/gimpprotocol.[ch]
* libgimp/gimp.[ch]: added boolean "show_help_button" to the
config message.
* app/plug-in/plug-in-run.c: pass the new preference to the plug-in.
* libgimpwidgets/gimpdialog.[ch]: added new function that allows to
set whether new dialogs should get a help button added.
* app/gui/gui.c
* libgimp/gimpui.c: call gimp_dialogs_show_help_button() according
to the gimprc settings.
2004-09-23 Sven Neumann <sven@gimp.org>
* libgimp/gimppixbuf.c (gimp_drawable_get_thumbnail,
gimp_image_get_thumbnail): use the exported symbols from
libgimp, not the private _gimp_drawable_thumbnail()
and _gimp_image_thumbnail() functions.
* libgimp/gimp.def: added new symbols, removed
_gimp_image_thumbnail and _gimp_drawable_thumbnail.
2004-09-04 Michael Schumacher <schumaml@cvs.gnome.org>
* libgimp/gimp.def
* libgimpbase/gimpbase.def: libgimpwidgets/gimpwidgets.def: added
the check(erboard) related entries
2004-06-28 Sven Neumann <sven@gimp.org>
* plug-ins/common/dog.c (dog): ifdef'ed out calls to
_gimp_tile_cache_flush_drawable() since it can't be used from a
plug-in. Removed trailing whitespace and redundant includes.
* libgimp/gimp.def: removed _gimp_tile_cache_flush_drawable again.
2004-06-27 Michael Schumacher <schumaml@cvs.gnome.org>
* libgimp/gimp.def: added _gimp_tile_cache_flush_drawable because
it is used in a plug-in. See bug 145051.
2004-05-19 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/plug_in.pdb: made plugin_icon_register() an
underscore-prefixed function which needs to be wrapped.
* libgimp/gimpplugin_pdb.[ch]: regenerated.
* libgimp/Makefile.am
* libgimp/gimp.h
* libgimp/gimpplugin.[ch]: new files containing
gimp_plugin_icon_register() which has no "icon_data_length"
parameter and determines it from the passed icon data.
* libgimp/gimp.def: added gimp_plugin_icon_register.
* plug-ins/common/plugindetails.c
* plug-ins/common/screenshot.c
* plug-ins/common/uniteditor.c
* plug-ins/print/print.c: don't pass the icon_data_length.
2004-03-12 Michael Natterer <mitch@gimp.org>
Cleaned up the remaining libgimp API issues:
* libgimp/gimppixelfetcher.[ch] (enum GimpPixelFetcherEdgeMode):
added new enum value GIMP_PIXEL_FETCHER_EDGE_BACKGROUND so we
can actually use the bg_color feature of the GimpPixelFetcher.
(gimp_pixel_fetcher_new): added "gboolean shadow" parameter
because it must not change while the GimpPixelFetcher exists.
(gimp_pixel_fetcher_set_shadow): removed.
(gimp_pixel_fetcher_set_bg_color): added "GimpRGB *color"
parameter and don't call gimp_palette_get_foreground().
(gimp_pixel_fetcher_get_pixel): handle BACKGROUND mode. Cleaned up
the function.
(gimp_get_bg_guchar)
(gimp_get_fg_guchar): removed these functions...
* libgimp/gimpdrawable.[ch]: ...and added
gimp_drawable_get_color_uchar() instead.
* libgimp/gimp.def
* plug-ins/common/blinds.c
* plug-ins/common/checkerboard.c
* plug-ins/common/cubism.c
* plug-ins/common/curve_bend.c
* plug-ins/common/displace.c
* plug-ins/common/edge.c
* plug-ins/common/illusion.c
* plug-ins/common/mblur.c
* plug-ins/common/mosaic.c
* plug-ins/common/plasma.c
* plug-ins/common/polar.c
* plug-ins/common/ripple.c
* plug-ins/common/shift.c
* plug-ins/common/spread.c
* plug-ins/common/tileit.c
* plug-ins/common/whirlpinch.c
* plug-ins/gflare/gflare.c
* plug-ins/libgimpoldpreview/gimpoldpreview.c: changed accordingly.
(Didn't test the changed plug-ins because I wanted to get this
API change into CVS as soon as possible)
2004-02-17 Sven Neumann <sven@gimp.org>
* libgimpbase/gimpprotocol.[ch]: changed wm_name to app_name in
the GimpConfig struct; increased GIMP_PROTOCOL_VERSION.
* app/plug-in/plug-in-run.c (plug_in_run): pass the return value
of g_get_application_name() to the plug-ins.
* libgimp/gimp.[ch]: removed function gimp_wm_name(). Set the
plug-in's application name if an app_name is passed in the config
message.
* libgimp/gimpui.c: removed usage of gimp_wm_name(); it was wrong
to do it this way and caused all plug-ins claim to be the gimp-1.3
executable in their error messages.
* libgimp/gimp.def: removed symbol gimp_wm_name.
* configure.in: reset gimp_binary_age and gimp_interface_age.
* app/core/gimpimage.c (gimp_image_name_changed): removed unused
variable.