Commit Graph

24 Commits

Author SHA1 Message Date
Sven Neumann 7a6a908ad2 added new function gimp_config_serialize_to_fd() for the sake of
2003-06-24  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig.[ch]: added new function
	gimp_config_serialize_to_fd() for the sake of completeness and
	since it's a nice way to generate debugging output.

	* app/text/Makefile.am
	* app/text/gimptext-xlfd.[ch]: new files with routines to handle X
	Logical Font Descriptions in an attempt to improve backwards
	compatibility.

	* app/text/gimptext-parasite.[ch]
	* app/xcf/xcf-load.c: promote layers with GDynText parasite to
	GimpTextLayer. Work in progress, we need to improve font matching.
2003-06-24 19:45:55 +00:00
Sven Neumann f30586d112 app/config/gimpconfig.[ch] app/config/gimpconfigwriter.[ch] added support
2003-06-23  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig.[ch]
	* app/config/gimpconfigwriter.[ch]
	* app/config/gimpscanner.[ch]: added support for serializing to
	and deserializing from strings. Had to do some smaller changes to
	the GimpConfig API.

	* app/config/test-config.c: added a simple test for the new
	functions.

	* app/config/gimpconfig-dump.c
	* app/config/gimprc.c
	* app/core/gimp-documents.c
	* app/core/gimp-parasites.c
	* app/core/gimp-templates.c
	* app/core/gimpunits.c
	* app/gui/session.c
	* app/plug-in/plug-in-rc.c
	* app/tools/tool_options.c
	* app/widgets/gimpdevices.c: follow GimpConfig API changes.

	* libgimpbase/gimpparasite.[ch]: declared the return value of
	gimp_parasite_data() as gconstpointer.
2003-06-23 22:02:56 +00:00
Sven Neumann d457b9eb9b app/config/Makefile.am new files featuring a simple config file writer.
2003-03-05  Sven Neumann  <sven@gimp.org>

	* app/config/Makefile.am
	* app/config/gimpconfigwriter.[ch]: new files featuring a simple
	config file writer.

	* app/config/gimpconfig-serialize.[ch]
	* app/config/gimpconfig.[ch]: changed the serialize routines to
	use a GimpConfigWriter instead of passing around a file descriptor
	and the indentation level.

	* app/config/config-types.h
	* app/config/gimpconfig-deserialize.c
	* app/config/gimpconfig-dump.c
	* app/config/gimpconfig-utils.c
	* app/config/gimprc.c
	* app/config/gimpscanner.c
	* app/config/test-config.c
	* app/core/gimp-documents.c
	* app/core/gimp-parasites.c
	* app/core/gimpcontainer.c
	* app/core/gimpcontext.c
	* app/core/gimpdocumentlist.c
	* app/core/gimpparasitelist.c
	* app/gui/test-commands.c
	* app/tools/tool_options.c
	* app/widgets/gimpdevices.c: changed accordingly.

	* libgimpwidgets/gimpwidgets.c: documentation updates.

	* app/core/gimpitem.c: removed a redundant type-check.
2003-03-05 20:21:50 +00:00
Sven Neumann 47f2a7f8d9 app/config/gimpconfig.[ch] added a reset method to GimpConfigInterface.
2003-02-01  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig.[ch]
	* app/config/gimpconfig-utils.[ch]: added a reset method to
	GimpConfigInterface. Added the new function gimp_config_reset()

	* app/text/gimptext.c: added a GimpConfigInterface to GimpText.

	* app/widgets/Makefile.am
	* app/widgets/gimptexteditor.[ch]: new files that hold the simple
	text editor dialog used by the text tool.

	* app/widgets/gimppropwidgets.[ch]: added new widget constructor
	gimp_prop_scale_entry_new().

	* app/tools/gimptexttool.[ch]: replaced old-style ToolOptions with
	a GimpText object. Connect text layers to the text tool by means
	of their GimpText objects. Still work in progress ...
2003-02-01 21:50:21 +00:00
Michael Natterer c3391322df s/gimp_config_equal/gimp_config_is_equal_to/ to match the implementation.
2002-11-20  Michael Natterer  <mitch@gimp.org>

	* app/config/gimpconfig.h:
	s/gimp_config_equal/gimp_config_is_equal_to/ to match the
	implementation.
2002-11-20 18:52:58 +00:00
Sven Neumann c585964707 Obviously I disagree with Tim about the symbol_name parameter in
2002-06-17  Sven Neumann  <sven@gimp.org>

	Obviously I disagree with Tim about the symbol_name parameter in
	g_scanner_unexp_token(). As it seems it's not supposed to be used
	to tell the user about the expected symbol (see bug #81850):

	* gimpconfig.[ch] (gimp_config_deserialize_return): removed the
	symbol_name parameter.

	* app/config/gimpconfig-deserialize.c
	* app/core/gimpcontainer.c
	* app/core/gimpdocumentlist.c
	* app/core/gimpparasitelist.c: changed the callers accordingly.

	* app/core/gimpunits.c (gimp_unitrc_load): pass NULL as symbol_name
	to g_scanner_unexp_token().
2002-06-17 19:36:33 +00:00
Michael Natterer dbc8aeb49c added "gint nest_level" to the deserialization functions, so nested calls
2002-05-27  Michael Natterer  <mitch@gimp.org>

	* app/config/gimpconfig.[ch]: added "gint nest_level" to the
	deserialization functions, so nested calls to deserialize()
	don't error on the trailing ')'. Made the scanner config parse
	one-character identifiers and allow G_CSET_A_2_Z for all
	identifiers.
	Added gimp_config_deserialize_return() because returning the
	correct return value from a deserialize() function is not
	trivial any more with nested calls.

	* app/config/gimpconfig-deserialize.[ch]
	* app/config/gimprc.c
	* app/core/gimpdocumentlist.c
	* app/core/gimpparasitelist.c: use the new return value utility
	function and made the main parsing loops simpler.

	* app/core/gimpunits.c: made the main parsing loops consistent
	with the stuff that uses GimpConfig.

	* app/config/gimpconfig-deserialize.c
	* app/config/gimpconfig-serialize.c: call the
	(de)serialize_property() functions only if the property's class
	implements the method itself (does *not* inherit it from one of
	it's parents).

	* app/core/gimpcontainer.c: implemented deserialization of
	containers. For each child entry encountered in the input, check
	if it's already contained in the container and create it if not.
	If a "gimp" pointer is passed as user_data pass it as construct
	property to g_object_new() when creating the object.

	* app/core/gimpcontext.c: changed deserialization of brush,
	pattern etc. to honor "no_data".

	* app/widgets/gimpdeviceinfo.c: added a "gimp" construct_only
	property which overrides GimpContext's "gimp" property. Moved all
	initialisation code from gimp_device_info_new() to
	gimp_device_info_set_property(PROP_GIMP) so it is properly
	performed if the object is created by GimpContainer's
	deserialize() implementation.

	* app/widgets/gimpdevices.c: made gimp_devices_restore_test() work.
2002-05-27 14:04:21 +00:00
Michael Natterer b10ade1a35 app/config/gimpconfig.[ch] added "gint indent_level" to all serialization
2002-05-24  Michael Natterer  <mitch@gimp.org>

	* app/config/gimpconfig.[ch]
	* app/config/gimpconfig-serialize.[ch]: added "gint indent_level"
	to all serialization functions. Added gimp_config_string_indent()
	which indents a GString.

	* app/config/gimprc.c
	* app/core/gimpdocumentlist.c
	* app/core/gimpparasitelist.c: changed accordingly.

	* app/core/gimpcontext.c: don't crash when serializing NULL object
	properties.

	* app/config/gimpscanner.[ch]: added gimp_scanner_parse_identifier().

	* app/core/gimpcontainer.c: implement GimpConfigInterface.
	Container serialization works, deserialization is not implemented yet.

	* app/widgets/gimpdevices.[ch]: made
	GimpDeviceManager->device_info_list a GimpList, not GList, added
	testing functions for (de)serializing it.

	* app/gui/menus.c
	* app/gui/test-commands.[ch]: call the new test functions from
	the <Toolbox>/File/Debug menu.
2002-05-24 02:53:20 +00:00
Michael Natterer 42f8ae15e4 added virtual interface methods serialize_property() and
2002-05-22  Michael Natterer  <mitch@gimp.org>

	* app/config/gimpconfig.[ch]: added virtual interface methods
	serialize_property() and deserialize_property() which can be used
	to implement (de)serialization of special properties or to
	override the default implementation.

	* app/config/gimpconfig-deserialize.c
	* app/config/gimpconfig-serialize.c: for each property, check if
	the class which added it implements the virtual functions and call
	them before trying the default implementations.

	* app/config/gimpconfig-params.h: added new macro
	GIMP_CONFIG_INSTALL_PROP_OBJECT().

	* app/core/gimpcontext.c: declare the "tool", "brush", "pattern",
	"gradient" and "palette" properties as serializable and added
	implementations of (de)serialize_property().
2002-05-22 13:19:19 +00:00
Sven Neumann 394d4aed05 added user_data pointer to serialize and deserialize methods.
2002-05-15  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig.[ch]: added user_data pointer to serialize
	and deserialize methods.

	* app/config/gimprc.[ch]: implement gimp_rc_save() using
	gimp_config_serialize() so it can take advantage of the file
	handling magic implemented there.

	* app/config/test-config.c
	* app/core/gimp-documents.c
	* app/core/gimp-parasites.c
	* app/core/gimpdocumentlist.c
	* app/core/gimpparasitelist.c: changed accordingly.
2002-05-15 11:59:51 +00:00
Sven Neumann 9b6ef26100 added a return value to indicate success of
2002-05-15  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig.[ch]: added a return value to indicate
	success of GimpConfigInterface::serialize. Added a GimpConfigError
	value for write errors and check the return value of all write()
	calls. Allow to specify file header and footer when calling
	gimp_config_serialize().

	* app/config/gimpconfig-serialize.[ch]
	* app/config/gimprc.c: changed accordingly.

	* app/core/gimp-documents.[ch]: new files with functions to handle
	gimp->documents.

	* app/core/gimpdocuments.[ch]: removed ...

	* app/core/gimpdocumentlist.[ch]: ... and added under this name.
	Implements a generic document list.

	* app/core/gimp-parasites.[ch]: new files with functions to handle
	gimp->parasites.

	* app/core/gimpparasite.[ch]: removed.

	* app/core/gimpparasitelist.[ch]: nothing more than a generic
	parasite list.

	* app/undo.c
	* app/core/Makefile.am
	* app/core/core-types.h
	* app/core/gimp.c
	* app/core/gimpdrawable.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage.c
	* app/core/gimpitem.c
	* app/file/file-open.c
	* app/file/file-save.c
	* app/gui/file-open-dialog.c
	* app/pdb/parasite_cmds.c
	* tools/pdbgen/pdb/parasite.pdb: changed accordingly.
2002-05-15 11:05:32 +00:00
Sven Neumann 7f6b1d5593 app/config/gimpconfig-serialize.c app/config/gimpconfig-utils.[ch]
2002-05-06  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-serialize.c
	* app/config/gimpconfig-utils.[ch]
	* app/config/gimpconfig.[ch]
	* app/config/gimprc.[ch]: added a GimpRc implementation of
	gimp_config_duplicate() that also copies unknown tokens. Added new
	function gimp_rc_query().

	* app/config/test-config.c: added tests for gimp_rc_query().

	* app/config/Makefile.am: need to link test app against libappwidgets.
2002-05-05 22:11:34 +00:00
Sven Neumann 43c602dc95 app/arch/i386/mmx/detect_mmx.S applied a patch from iccii@hotmail.com that
2002-05-04  Sven Neumann  <sven@gimp.org>

	* app/arch/i386/mmx/detect_mmx.S
	* app/arch/i386/mmx/paint_funcs_mmx.S: applied a patch from
	iccii@hotmail.com that promises to fix build on mingw (bug #80681).

	* app/config/gimpconfig-serialize.c
	* app/config/gimpconfig-utils.[ch]: moved value compare function to
	gimpconfig-utils.

	* app/config/gimpconfig.[ch]: added duplicate and compare functions
	to GimpConfigInterface so derived interfaces can override them.

	* app/tools/gimptexttool.c: fixed tool cursor.
2002-05-03 23:48:03 +00:00
Sven Neumann d4b90098cf app/config/gimpconfig-deserialize.[ch]
2002-03-23  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-deserialize.[ch]
	* app/config/gimpconfig-serialize.[ch]
	* app/config/gimpconfig.[ch]
	* app/config/gimprc.[ch]
	* app/config/test-config.c: added better error reporting using GError.
2002-03-23 17:58:57 +00:00
Sven Neumann d2990f2f1e app/config/gimpconfig-serialize.[ch] app/config/gimpconfig.h added new
2001-12-28  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-serialize.[ch]
	* app/config/gimpconfig.h
	* app/config/gimprc.[ch]: added new function to only write changes to
	the personal gimprc.

	* app/config/test-config.c: test the new functionality.

	* tools/pdbgen/pdb/procedural_db.pdb: the change I did yesterday
	wasn't overly clever; here's a better one.

	* app/pdb/procedural_db_cmds.c: regenerated.
2001-12-28 16:26:54 +00:00
Sven Neumann 89844be451 docs/gimptool-1.3.1.in applied patch from Roger Leigh <rl117@york.ac.uk>
2001-12-18  Sven Neumann  <sven@gimp.org>

	* docs/gimptool-1.3.1.in
	* gimptool-1.3.in: applied patch from Roger Leigh <rl117@york.ac.uk>
	that makes gimptool respect the DESTDIR environment variable.

	* app/config/Makefile.am: declare test-config as TESTS so it is build
	and executed when running 'make check'.

	* app/config/gimpbaseconfig.c: don't register a GimpConfig interface.
	* app/config/gimpcoreconfig.c
	* app/config/gimpdisplayconfig.c
	* app/config/gimpguiconfig.c: no need to include "gimpconfig.h".

	* app/config/gimpconfig.[ch]: removed store_unknown parameter from
	deserialize method. The default implementation will bail out on
	unknown tokens.

	* app/config/gimprc.c: override deserialize method so it stores
	unknown tokens.
2001-12-18 20:40:50 +00:00
Sven Neumann a30b11c9d7 don't serialize unknown tokens; leave that to the gimprc implementation.
2001-12-17  Sven Neumann  <sven@gimp.org>

	* gimpconfig.[ch]: don't serialize unknown tokens; leave that to
	the gimprc implementation. Create file with correct permissions.

	* test-config.c: changed accordingly.

	* gimpguiconfig.[ch]: added more properties.
2001-12-17 01:01:34 +00:00
Sven Neumann 45874f1b36 changed thumbnail_mode to boolean write_thumbnails. thumbnail_mode used to
2001-12-16  Sven Neumann  <sven@gimp.org>

	* app/core/gimpcoreconfig.[ch]: changed thumbnail_mode to boolean
	write_thumbnails. thumbnail_mode used to have only two defined
	values; if we need more later, we can change that easily when the
	new GimpConfig system is in place.

	* app/gimprc.c
	* app/file/file-save.c
	* app/gui/file-open-dialog.c
	* app/gui/preferences-dialog.c: changed accordingly.

	* app/config/gimpcoreconfig.[ch]: finished GimpCoreConfig class.
2001-12-16 18:31:30 +00:00
Sven Neumann 1e5888d4b3 app/config/gimpconfig-deserialize.c app/config/gimpconfig-params.h
2001-12-13  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-deserialize.c
	* app/config/gimpconfig-params.h
	* app/config/gimpconfig-serialize.[ch]
	* app/config/gimpconfig-substitute.c
	* app/config/gimpconfig-types.c
	* app/config/gimpconfig.[ch]
	* app/config/test-config.c: code cleanup, I18N

	* app/config/gimpcoreconfig.[ch]: some more properties.
2001-12-13 01:55:37 +00:00
Sven Neumann 2cb8ffbe9e check for pkg.m4.
2001-12-09  Sven Neumann  <sven@gimp.org>

	* autogen.sh: check for pkg.m4.

	* configure.in: removed logic to extract GLIB CFLAGS and LDFLAGS
	from the GTK CFLAGS and LDFLAGS. Use AM_PATH_GLIB_2_0() instead.
	This change will break things on awfully misconfigured systems.
	Simplified the checks and moved version numbers to the top to ease
	maintainance. Check if gtk-doc is suffiently new.

	* app/main.c: removed the GimpConfig test code.

	* app/config/Makefile.am
	* app/config/test-config.c: added a (yet very small) standalone test
	suite for GimpConfig.

	* app/config/gimpconfig.[ch]
	* app/config/gimpconfig-deserialize.[ch]: allow to specify if
	unknown tokens should be stored or should cause a parser error.
	Changed code to store unknown tokens to use a list since a hash
	table seems to be overkill here.
2001-12-09 16:18:15 +00:00
Sven Neumann 85783edf8b app/config/gimpconfig-params.[ch] added new param_spec GIMP_PARAM_PATH
2001-12-09  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-params.[ch]
	* app/config/gimpconfig-types.[ch]: added new param_spec
	GIMP_PARAM_PATH with value_type GIMP_PATH_TYPE.

	* app/config/gimpconfig.[ch]: added code to store and lookup unknown
	tokens.

	* app/config/gimpconfig-deserialize.c: improved logic, prepared for
	special handling of GIMP_PATH_TYPE; still work in progress...

	* app/config/gimpbaseconfig.c: register temp-path and swap-path as
	GIMP_PARAM_PATH properties.
2001-12-09 03:00:32 +00:00
Sven Neumann a2c16284e0 improved code readability by splitting deserialize_property into smaller
2001-12-08  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-deserialize.c: improved code readability by
	splitting deserialize_property into smaller functions.

	* app/config/gimpconfig.[ch]: added gimp_config_debug_notify_callback()
	for debugging purposes.

	* app/main.c: use gimp_config_debug_notify_callback().
2001-12-08 15:56:40 +00:00
Sven Neumann d4829df4d3 removed from CVS, they are generated.
2001-12-07  Sven Neumann  <sven@gimp.org>

	* app/core/gimpmarshal.[ch]: removed from CVS, they are generated.

	* app/base/Makefile.am
	* app/base/base-enums.h: new file defining enums that are to be
	registered. Used to build app/base/base-enums.c.

	* app/base/base-types.h: include base-enums.h.

	* tools/pdbgen/Makefile.am
	* tools/pdbgen/enumcode.pl
	* tools/pdbgen/enums.pl: parse the new base-enums.h file and modified
	the perl voodoo so it doesn't prefix enums with GIMP_ that are already
	properly namespaced.

	* app/core/core-types.h: don't need to chop GIMP from enum.

	* app/pdb/color_cmds.c
	* app/pdb/tools_cmds.c
	* libgimp/gimpenums.h
	* plug-ins/script-fu/script-fu-constants.c: regenerated.

	* app/config/gimpconfig-deserialize.[ch]
	* app/config/gimpconfig-serialize.[ch]
	* app/config/gimpconfig.[ch]: made GimpConfig an interface including
	a reasonable default implementation that works on object properties.

	* app/config/Makefile.am
	* app/config/gimpbaseconfig.[ch]: new GimpBaseConfig using the
	GimpConfig interface. Yet only used for testing from app/main.c.

	* app/main.c: test the new GimpBaseConfig object.

	* app/gimprc.c
	* app/base/base-config.h
	* app/base/*.c
	* app/core/gimpdatafiles.c
	* app/core/gimpdrawable-transform.c
	* app/core/gimppreviewcache.c
	* app/gui/preferences-dialog.c
	* app/paint-funcs/paint-funcs.c
	* app/xcf/xcf-seek.c: need to include glib-object.h since base-config
	contains registered enums now. Follow name change of InterpolationType
	to GimpInterpolationType.
2001-12-07 16:10:53 +00:00
Sven Neumann 19e1acbcd7 configure.in app/Makefile.am app/config/gimpconfig.[ch]
2001-11-27  Sven Neumann  <sven@gimp.org>

	* configure.in
	* app/Makefile.am
	* app/config/gimpconfig.[ch]
	* app/config/gimpconfig-serialize.[ch]
	* app/config/gimpconfig-deserialize.[ch]: added new base class
	GimpConfig that knows how to serialize and deserialize it's properties
	in sexp format. Contains two example properties that will go into
	derived classes once this is really used.

	* app/main.c: deserialize and serialize the test GimpConfig object to
	~/.gimp-1.3/foorc (only for debugging).

	* app/widgets/widgets-types.h
	* app/core/core-types.h: moved GimpPreviewSize enum to core-types.

	* app/core/core-types.h: don't include gdk-pixbuf.h.

	* app/core/gimptoolinfo.h
	* app/core/gimpimagefile.c: include gdk-pixbuf.h.

	* app/core/gimpimage.[ch]: made construct_flag a gboolean.

	* app/core/gimpdrawable-invert.c
	* app/core/gimpunit.c

	* tools/pdbgen/pdb/plug_in.pdb
	* app/pdb/plug_in_cmds.c: removed unused variables.

	* app/display/Makefile.am: removed .PHONY and files cruft

	* app/Makefile.am
	* libgimp/Makefile.am
	* libgimpbase/Makefile.am
	* libgimpcolor/Makefile.am
	* libgimpmath/Makefile.am
	* libgimpwidgets/Makefile.am
	* plug-ins/Makefile.am: removed commented out makefile.mingw rules.
	If we ever need them again, they can easily be resurrected from CVS.
2001-11-27 03:52:11 +00:00