2008-09-18 Michael Natterer <mitch@gimp.org>
Bug 552785 – Script-fu run errors do not show in UI
* plug-ins/script-fu/script-fu-scripts.c (script_fu_script_proc):
fix the code that passes the error message back via the pipe.
svn path=/trunk/; revision=26997
2008-09-18 Michael Natterer <mitch@gimp.org>
* plug-ins/script-fu/script-fu-script.[ch]: add new functions
script_fu_script_collect_standard_args(),
script_fu_script_get_command() and
script_fu_script_get_command_from_params().
* plug-ins/script-fu/script-fu-scripts.c: remove the resp. code
here and use above functions instead.
* plug-ins/script-fu/script-fu-interface.c (script_fu_ok): changed
loop over args to only copy all widget content into the script's
values and then call script_fu_script_get_command().
svn path=/trunk/; revision=26993
2008-09-17 Michael Natterer <mitch@gimp.org>
* plug-ins/script-fu/script-fu-types.h: add struct SFArg which
keeps all a script argument's type, label, value and default
value.
(struct SFScript): replace separate arrays of type, label etc. by
one array of SFArg. Remove array of GimpParamDef because they are
only needed while registering the temp proc.
* plug-ins/script-fu/Makefile.am
* plug-ins/script-fu/script-fu-script.[ch]: new files implementing
script_fu_script_new(), script_fu_script_free(),
script_fu_script_register_proc() and
script_fu_script_unregister_proc().
* plug-ins/script-fu/script-fu-scripts.c: remove lots of code now
implemented in script-fu-script.c. Changed stuff according to the
introduction of SFArg. Moved variables to local scopes. Most
changes are in script_fu_add_script(), almost every line changed
and it's hopefully more readable now. Lots of cleanup all over the
place.
* plug-ins/script-fu/script-fu-interface.c: changed stuff
according to the introduction of SFArg
svn path=/trunk/; revision=26978
2008-09-11 Michael Natterer <mitch@gimp.org>
* plug-ins/script-fu/scheme-wrapper.[ch]: reordered and renamed
functions to be consistent. Got rid of file-global "register_scripts"
variable. Pass more "scheme *sc" pointers around to reduce usage
or the global variable.
* plug-ins/script-fu/script-fu-eval.c
* plug-ins/script-fu/script-fu-scripts.c
* plug-ins/script-fu/script-fu-server.c
* plug-ins/script-fu/script-fu.c: changed accordingly.
svn path=/trunk/; revision=26928
2008-09-11 Michael Natterer <mitch@gimp.org>
* plug-ins/script-fu/script-fu-scripts.c (script_fu_load_script):
convert the filename to UTF-8 before displaying it in the error
message.
svn path=/trunk/; revision=26923
2008-09-11 Michael Natterer <mitch@gimp.org>
* plug-ins/script-fu/script-fu-scripts.c (script_fu_run_command):
use g_set_error() instead of g_set_error_literal() which is only
available in glib 2.18.
svn path=/trunk/; revision=26922
2008-09-10 Michael Natterer <mitch@gimp.org>
Change Script-Fu error handling to properly use the new error
message passing in PDB return values:
* plug-ins/script-fu/script-fu-scripts.[ch]: remove function
script_fu_error_msg().
* plug-ins/script-fu/script-fu-interface.c (script_fu_ok): output
errors of interactive script-fu dialogs directly here with
g_message().
* plug-ins/script-fu/script-fu-scripts.c (script_fu_run_command):
add GError and return the error message instead of displaying it.
(script_fu_load_script): show the returned error here (and make it
more specific than the former script_fu_error_msg() did).
(script_fu_script_proc): return error messages via the procedure's
return values.
* plug-ins/script-fu/scheme-wrapper.c
(script_fu_marshal_procedure_call): if an error message was
returned from the PDB call, pass it to foreign_error() so it ends
up where it should (consle, text console or error string).
* plug-ins/script-fu/script-fu-console.c
* plug-ins/script-fu/script-fu-text-console.c: set the error
handler to PLUGIN while interpreting scheme, we handle errors
from calling back into the PDB ourselves now.
svn path=/trunk/; revision=26920
2008-08-21 Sven Neumann <sven@gimp.org>
* plug-ins/script-fu/script-fu-scripts.c
* plug-ins/script-fu/script-fu-interface.[ch]: changed to
actually
return a meaningful return status when a script-fu procedure is
run.
svn path=/trunk/; revision=26702
2008-04-09 Sven Neumann <sven@gimp.org>
* plug-ins/script-fu/scripts/Makefile.am
* plug-ins/script-fu/scripts/sphere.scm: removed Sphere
script. It's a nice simple example but it has no real value.
* plug-ins/script-fu/script-fu.c (script_fu_extension_init):
removed "<Toolbox>/Xtns/Misc".
svn path=/trunk/; revision=25424
2008-04-09 Sven Neumann <sven@gimp.org>
* plug-ins/script-fu/script-fu-scripts.c (script_fu_add_script):
marked a message for translation. Declare 'val' as const and use
an extra variable where a not const variable is needed.
svn path=/trunk/; revision=25423
2007-10-11 Sven Neumann <sven@gimp.org>
* plug-ins/script-fu/script-fu-scripts.[ch]: moved the new string
escape function here and also it for the non-interactive case.
* plug-ins/script-fu/script-fu-interface.c: changed accordingly.
svn path=/trunk/; revision=23802
2007-10-11 Sven Neumann <sven@gimp.org>
* plug-ins/script-fu/script-fu-scripts.c (script_fu_add_script):
use G_DIR_SEPARATOR instead of hardcoding the '\' under Windows.
svn path=/trunk/; revision=23800
2007-09-27 Kevin Cozens <kcozens@cvs.gnome.org>
Create SF-RUN-MODE constant for use in Script-Fu. Fixes bug #479893.
* plug-ins/script-fu/scheme-wrapper.c
* plug-ins/script-fu/scheme-wrapper.h: Added set_run_mode_constant()
which creates a new constant called SF-RUN-MODE. This constant can
be used by Script-Fu scripts when calling a plug-in that needs to
know the current run mode.
* plug-ins/script-fu/script-fu-scripts.c
* plug-ins/script-fu/script-fu-console.c
* plug-ins/script-fu/script-fu.c
* plug-ins/script-fu/script-fu-server.c: Added calls to create the
new SF-RUN-MODE constant.
* plug-ins/script-fu/scripts/difference-clouds.scm: Pass SF-RUN-MODE
to the solid noise plug-in instead of always using RUN-INTERACTIVE.
svn path=/trunk/; revision=23674
2007-09-07 Michael Natterer <mitch@gimp.org>
* plug-ins/script-fu/script-fu-scripts.c (script_fu_script_proc):
applied patch from Kevin Cozens which implements RUN-WITH-LAST-VALS.
On top of that, factored out script_fu_collect_standard_args()
which collects DISPLAY,IMAGE,[DRAWABLE|LAYER|...] from the passed
parameters according to the new calling conventions (the old code
for INTERACTIVE was broken). Also cleaned up the function a bit.
Fixes bug #472493.
svn path=/trunk/; revision=23474
2007-08-31 Simon Budig <simon@gimp.org>
* plug-ins/script-fu/tinyscheme/scheme.[ch]
* plug-ins/script-fu/tinyscheme/scheme-private.h: make it possible
for foreign functions to return an error.
* plug-ins/script-fu/script-fu-scripts.c
* plug-ins/script-fu/scheme-wrapper.c: Make use of this.
Fixes bug #472026.
svn path=/trunk/; revision=23432
2007-08-30 Simon Budig <simon@gimp.org>
* plug-ins/script-fu/tinyscheme/scheme.[ch]
* plug-ins/script-fu/tinyscheme/scheme-private.h: small changes
to tinyscheme - mostly removing workarounds for message output.
* plug-ins/script-fu/scheme-wrapper.[ch]: try to channel the
output through a central function, have various output functions
to handle the messages. Remove some hacks.
* plug-ins/script-fu/script-fu-text-console.c
* plug-ins/script-fu/script-fu-scripts.[ch]
* plug-ins/script-fu/script-fu-interface.c
* plug-ins/script-fu/script-fu.c
* plug-ins/script-fu/script-fu-server.c
* plug-ins/script-fu/script-fu-console.[ch]: use the new
infrastructure. Remove more hacks.
* plug-ins/script-fu/servertest.py: small script to test the
communication with the script-fu-server.
svn path=/trunk/; revision=23400
2007-08-07 Sven Neumann <sven@gimp.org>
* plug-ins/script-fu/script-fu-scripts.c (script_fu_menu_map):
added more mappings from old to new Script-Fu menu locations.
svn path=/trunk/; revision=23128
2007-08-03 Sven Neumann <sven@gimp.org>
* plug-ins/script-fu/script-fu-scripts.c (script_fu_menu_map):
added a map from old to new Script-Fu submenus (to be extended).
svn path=/trunk/; revision=23111
2007-04-12 Sven Neumann <sven@gimp.org>
* app/actions/plug-in-commands.c: if a plug-in or script
registered with a DISPLAY argument after the run-mode argument,
then pass the ID of the active display to the script, optionally
followed by image and drawable IDs.
* plug-ins/script-fu/scheme-wrapper.c
* plug-ins/script-fu/script-fu-enums.h
* plug-ins/script-fu/script-fu-interface.c
* plug-ins/script-fu/script-fu-scripts.c
* plug-ins/script-fu/script-fu-types.h: added SF-DISPLAY parameter.
svn path=/trunk/; revision=22241
2006-11-18 Simon Budig <simon@gimp.org>
* plug-ins/script-fu/script-fu-scripts.c: Properly handle PDB_LAYERs
and PDB_CHANNELs when passed by the menus in the resp. dialogs
2006-11-16 Simon Budig <simon@gimp.org>
* plug-ins/script-fu/script-fu-enums.h
* plug-ins/script-fu/scheme-wrapper.c
* plug-ins/script-fu/script-fu-types.h
* plug-ins/script-fu/script-fu-scripts.c: add a SF-VECTORS type for
script-fu.
* plug-ins/script-fu/script-fu-interface.c: use a vectors
combobox for the GUI.
* plug-ins/script-fu/scripts/test-sphere.scm: test it as well.
2006-10-19 Sven Neumann <sven@gimp.org>
* plug-ins/script-fu/script-fu-interface.[ch]
* plug-ins/script-fu/script-fu-scripts.c
* plug-ins/script-fu/script-fu-types.h: don't look at the menu path
to see if a script is image-based. Instead check the passed and the
expected parameter types.
* plug-ins/script-fu/scripts/tileblur.scm: global variables won't
work with tiny-scheme.
2006-10-19 Sven Neumann <sven@gimp.org>
* plug-ins/script-fu/scheme-wrapper.[ch]: search script-fu.init in
the scripts search path instead of looking for it in a hardcoded
directory.
* plug-ins/script-fu/script-fu-scripts.[ch]
* plug-ins/script-fu/script-fu.c: changes needed for above change.
2006-10-15 Kevin Cozens <kcozens@cvs.gnome.org>
With this commit we finally say goodbye to SIOD. This large set of
changes updates the Script-Fu plug-in to use the TinyScheme Scheme
interpreter. These changes originated with changes originally made
to Script-Fu which created Tiny-Fu (aka. the gimp-tiny-fu module).
* plug-ins/script-fu/Makefile.am
* plug-ins/script-fu/script-fu-console.c
* plug-ins/script-fu/script-fu-interface.c
* plug-ins/script-fu/script-fu-scripts.c
* plug-ins/script-fu/script-fu-scripts.h
* plug-ins/script-fu/script-fu-server.c
* plug-ins/script-fu/script-fu-text-console.c
* plug-ins/script-fu/script-fu.c: Updated with the changes made to
these files as part of the work on the Tiny-Fu project.
* plug-ins/script-fu/scheme-wrapper.c
* plug-ins/script-fu/scheme-wrapper.h: Renamed from siod-wrapper.[ch]
and updated based on differences to ts-wrapper.[ch] from gimp-tiny-fu.
* plug-ins/script-fu/ftx/*
* plug-ins/script-fu/re/*
* plug-ins/script-fu/tinyscheme/*
* plug-ins/script-fu/scripts/script-fu.init
* plug-ins/script-fu/scripts/script-fu-compat.init
* plug-ins/script-fu/scripts/contactsheet.scm
* plug-ins/script-fu/scripts/script-fu-set-cmap.scm
* plug-ins/script-fu/scripts/script-fu-util-setpt.scm
* plug-ins/script-fu/scripts/ts-helloworld.scm: Added all of these
files and directories from Tiny-Fu. Updated the Makefile.am files
of ftx, re, and tinyscheme now they are in the GIMP source tree.
* plug-ins/script-fu/scripts/*.scm: All scripts have been updated as
needed to ensure they will work with the TinyScheme interpreter. Most
of the files have been reformatted making it easier to see the syntax
of Scheme and making them easier to read.
* plug-ins/script-fu/scripts/Makefile.am: Updated script file lists.
* plug-ins/script-fu/siod-wrapper.c
* plug-ins/script-fu/siod-wrapper.h
* plug-ins/script-fu/siod/*: Removed obsolete files.
* configure.in: Updated list of files in AC_CONFIG_FILES. Changed
--disable-script-fu to --without-script-fu which it should have
been when originally added.
* INSTALL: Updated to show change to --without-script-fu.
2006-06-16 Sven Neumann <sven@gimp.org>
* plug-ins/script-fu/script-fu-types.h (struct SFScript): renamed
member "help" to "blurb" since that's what it is being used for
when the script procedure is registered.
* plug-ins/script-fu/script-fu-interface.c
* plug-ins/script-fu/script-fu-scripts.c: changed accordingly.
2006-06-16 Sven Neumann <sven@gimp.org>
* plug-ins/script-fu/script-fu-scripts.c (script_fu_add_script):
use a canonical name for the automatically added run-mode parameter.
Untabbified.
2006-06-08 Sven Neumann <sven@gimp.org>
* plug-ins/script-fu/script-fu-scripts.c
* plug-ins/script-fu/siod-wrapper.c: allow CSS color keywords to
be used in place of the '(r g b) color notation.
* plug-ins/script-fu/scripts/test-sphere.scm: documented this new
feature.
* plug-ins/script-fu/scripts/*.scm: replaced some colors with
color names.
2006-05-24 Sven Neumann <sven@gimp.org>
* plug-ins/common/raw.c (load_dialog): use a GtkFileChooserButton
instead of a GimpFileEntry widget.
* plug-ins/script-fu/script-fu-interface.c
* plug-ins/script-fu/script-fu-scripts.c
* plug-ins/script-fu/script-fu-types.h: use GtkFileChooserButton
for SF_FILENAME and SF_DIRNAME parameters.
2006-05-16 Sven Neumann <sven@gimp.org>
* plug-ins/script-fu/script-fu.c: removed empty quit() method.
Only load scripts when extension-script-fu is started.
* plug-ins/script-fu/script-fu-scripts.c: minor cleanup.
2005-08-03 Michael Natterer <mitch@gimp.org>
* libgimp/gimpprocbrowserdialog.[ch]: removed all parameters from
gimp_proc_browser_dialog_new() and removed the "scheme_names"
stuff.
* plug-ins/dbbrowser/procedure-browser.c
* plug-ins/pygimp/procbrowser.c
* plug-ins/script-fu/script-fu-console.c: changed accordingly.
* plug-ins/script-fu/script-fu-interface.c
* plug-ins/script-fu/script-fu-scripts.c
* plug-ins/script-fu/script-fu-types.h
* plug-ins/script-fu/siod-wrapper.c: removed all sorts of
conversions between '-' and '_' for procedure names.
* plug-ins/script-fu/script-fu.c: use canonical names for
script-fu's procedures.
2005-03-26 Michael Natterer <mitch@gimp.org>
* plug-ins/script-fu/script-fu-scripts.c (script_fu_find_scripts):
removed menu branch registering here (this function is called on
each refresh).
* plug-ins/script-fu/script-fu.c (script_fu_extension_init):
renamed from script_fu_auxillary_init(), this function is only
called once when the extension starts up. Register the menu
branches here.
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-04 Sven Neumann <sven@gimp.org>
* plug-ins/script-fu/script-fu-scripts.c (script_fu_find_scripts):
need to convert script-fu-path to filesystem encoding. Should fix
bug #165002.
2005-01-22 Sven Neumann <sven@gimp.org>
* plug-ins/script-fu/script-fu-enums.h
* plug-ins/script-fu/script-fu-interface.c
* plug-ins/script-fu/script-fu-scripts.c
* plug-ins/script-fu/script-fu-types.h
* plug-ins/script-fu/siod-wrapper.c: added new script-fu
parameter SF-ENUM that allows to easily create a combo-box to
choose values from registered enums. For this to work correctly,
another change is needed that I will commit separately.
* plug-ins/script-fu/scripts/perspective-shadow.scm
* plug-ins/script-fu/scripts/test-sphere.scm: use the new SF-ENUM
parameter.
2004-11-27 Sven Neumann <sven@gimp.org>
* plug-ins/script-fu/script-fu-scripts.c (script_fu_script_proc):
don't look at the menu path to determine if the script is
image-based. Instead look at the number of parameters we are being
called with.
2004-11-22 Michael Natterer <mitch@gimp.org>
* plug-ins/script-fu/script-fu-scripts.c: sort the SFMenu structs
by their menu_paths *and* the procedure's menu_labels. Fixes menu
item sorting after "Refresh".
2004-11-20 Kevin Cozens <kcozens@cvs.gimp.org>
* plug-ins/script-fu/script-fu-scripts.c: Need to call gettext in
script-fu_menu_compare. Spotted by Sven. Removed obsolete #define's.
2004-11-20 Michael Natterer <mitch@gimp.org>
* plug-ins/script-fu/script-fu-scripts.c: renamed variable
"script_list" to "script_tree" because it's a GTree.
(script_fu_remove_script): g_list_free() the right list (don't
leak all lists of scripts at the tree leaves).