Commit graph

18 commits

Author SHA1 Message Date
Michael Natterer
33c84ceb08 plug-ins: don't set a NULL menu label in script_fu_script_install_proc() 2019-09-08 17:27:27 +02:00
Michael Natterer
add31e2976 plug-ins: fix a glitch in the script-fu unique argument name logic 2019-09-02 19:34:07 +02:00
Michael Natterer
6e0185b976 plug-ins: make sure script-fu arguments have unique names 2019-09-02 18:52:57 +02:00
Michael Natterer
8a78203aed Properly prefix the values of enum GimpPDBProcType
to be GIMP_PDB_PROC_TYPE_PLUGIN, _EXTENSION etc.
2019-08-30 12:52:28 +02:00
Michael Natterer
392f00baf5 app, libgimp: get rid of all ID GTypes and ID param specs
Turn all ID param specs into object param specs (e.g. GimpParamImageID
becomes GimpParamImage) and convert between IDs and objects in
gimpgpparams.c directly above the the wire protocol, so all of app/,
libgimp/ and plug-ins/ can deal directly with objects down to the
lowest level and not care about IDs.

Use the actual object param specs for procedure arguments and return
values again instead of a plain g_param_spec_object() and bring back
the none_ok parameter.

This implies changing the PDB type checking functions to work on pure
integers instead of IDs (one can't check whether object creation is
possible if performing that check requires the object to already
exist).

For example gimp_foo_is_valid() becomes gimp_foo_id_is_valid() and is
not involved in automatic object creation magic at the protocol
level. Added wrappers which still say gimp_foo_is_valid() and take the
respective objects.

Adapted all code, and it all becomes nicer and less convoluted, even
the generated PDB wrappers in app/ and libgimp/.
2019-08-29 11:39:34 +02:00
Michael Natterer
1178f54522 plug-ins: port script-fu to libgimp objects 2019-08-27 18:09:50 +02:00
Michael Natterer
d62e75a41f Move GimpParamSpecString from libgimp back to app
It's just too weird to be public. Remove its properties from the wire
protocol and from pluginrc. Instead, have all GParamSpecs' flags on
the wire and in pluginrc, so we can use stuff like
GIMP_PARAM_NO_VALIDATE.

Port the remaining few places to GIMP_PROC_ARG_STRING().

I'm sure something is broken now wrt UTF-8 validation,
will add tighter checks in the next commit.
2019-08-19 12:54:52 +02:00
Michael Natterer
103a7e4fc3 plug-ins: port script-fu to GimpPlugIn
This probably has some bugs, but worked flawlessly in my tests...
2019-08-12 20:49:08 +02:00
Michael Natterer
5f700549e7 Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
Kevin Cozens
c953368164 Only TinyScheme should translate strings in script files. Fixes bug #696790. 2013-04-07 12:58:21 -04:00
Michael Natterer
fcfb7cf160 Use the new g_[s]list_free_full() instead of foreach() and free() 2011-03-07 17:11:28 +01:00
Michael Natterer
4ea1437646 plug-ins/common/*.c plug-ins/color-rotate/color-rotate.c
2009-01-19  Michael Natterer  <mitch@gimp.org>

	* plug-ins/common/*.c
	* plug-ins/color-rotate/color-rotate.c
	* plug-ins/file-bmp/bmp.c
	* plug-ins/file-faxg3/faxg3.c
	* plug-ins/file-fits/fits.c
	* plug-ins/file-fli/fli-gimp.c
	* plug-ins/file-ico/ico.c
	* plug-ins/file-jpeg/jpeg.c
	* plug-ins/file-psd/psd-save.c
	* plug-ins/file-psd/psd.c
	* plug-ins/file-sgi/sgi.c
	* plug-ins/file-uri/uri.c
	* plug-ins/file-xjt/xjt.c
	* plug-ins/flame/flame.c
	* plug-ins/fractal-explorer/fractal-explorer.c
	* plug-ins/gfig/gfig.c
	* plug-ins/gimpressionist/gimp.c
	* plug-ins/gradient-flare/gradient-flare.c
	* plug-ins/help-browser/help-browser.c
	* plug-ins/ifs-compose/ifs-compose.c
	* plug-ins/imagemap/imap_main.c
	* plug-ins/lighting/lighting-main.c
	* plug-ins/map-object/map-object-main.c
	* plug-ins/maze/maze.c
	* plug-ins/metadata/metadata.c
	* plug-ins/pagecurl/pagecurl.c
	* plug-ins/print/print.c
	* plug-ins/pygimp/gimpfu.py
	* plug-ins/script-fu/script-fu-script.c
	* plug-ins/script-fu/script-fu.c
	* plug-ins/selection-to-path/selection-to-path.c
	* plug-ins/twain/twain.c
	* plug-ins/win-snap/winsnap.c: document the "run-mode" parameter
	as we document enums for core procedures.


svn path=/trunk/; revision=27922
2009-01-19 20:11:36 +00:00
Michael Natterer
d9b5207aa2 Change licence to GPLv3 (and to LGPLv3 for libgimp).
2009-01-17  Michael Natterer  <mitch@gimp.org>

	* all files with a GPL header and all COPYING files:

	Change licence to GPLv3 (and to LGPLv3 for libgimp).

	Cleaned up some copyright headers and regenerated the parsers in
	the ImageMap plugin.


svn path=/trunk/; revision=27913
2009-01-17 22:28:01 +00:00
Michael Natterer
9336d7be74 plug-ins/script-fu/Makefile.am new files containing script_fu_stresacpe().
2008-09-20  Michael Natterer  <mitch@gimp.org>

	* plug-ins/script-fu/Makefile.am
	* plug-ins/script-fu/script-fu-utils.[ch]: new files containing
	script_fu_stresacpe().

	* plug-ins/script-fu/script-fu-script.c
	* plug-ins/script-fu/script-fu-scripts.[ch]: changed accordingly.


svn path=/trunk/; revision=27023
2008-09-20 09:58:30 +00:00
Michael Natterer
00c330825a rename "menu_path" to "menu_label". Having a full path here is just compat
2008-09-19  Michael Natterer  <mitch@gimp.org>

	* plug-ins/script-fu/script-fu-types.h (struct SFScript): rename
	"menu_path" to "menu_label". Having a full path here is just
	compat cruft.

	* plug-ins/script-fu/script-fu-scripts.c
	* plug-ins/script-fu/script-fu-script.[ch]: changed accordingly.


svn path=/trunk/; revision=27016
2008-09-19 19:17:12 +00:00
Michael Natterer
cb702ebd1e add new functions script_fu_script_get_title() and
2008-09-19  Michael Natterer  <mitch@gimp.org>

	* plug-ins/script-fu/script-fu-script.[ch]: add new functions
	script_fu_script_get_title() and script_fu_script_reset().

	* plug-ins/script-fu/script-fu-scripts.c (script_fu_add_script):
	don't set all default values *and* values when parsing the script,
	just set the defaults and call script_fu_script_reset() afterwards.

	* plug-ins/script-fu/script-fu-interface.c (script_fu_interface):
	use the new script_fu_script_get_title().

	(script_fu_reset): call script_fu_script_reset() and then update
	the UI from the current values, instead of doing slightly
	different things for each arg type.


svn path=/trunk/; revision=27009
2008-09-19 09:34:35 +00:00
Michael Natterer
3b2661bd2b add new functions script_fu_script_collect_standard_args(),
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-18 13:10:07 +00:00
Michael Natterer
03f0901de1 add struct SFArg which keeps all a script argument's type, label, value
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-17 21:39:44 +00:00