Commit Graph

66 Commits

Author SHA1 Message Date
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
3553cf90bf need to link test-config against libgimpcolor now.
2002-05-21  Sven Neumann  <sven@gimp.org>

	* app/config/Makefile.am: need to link test-config against
	libgimpcolor now.

	* app/config/gimpconfig.c (gimp_config_serialize): write newlines
	after header and before footer.

	* app/config/test-config.c
	* app/config/gimprc.c
	* app/core/gimp-documents.c
	* app/core/gimp-parasites.c
	* app/gui/test-commands.c: removed the newlines here.

	* app/config/gimpconfig-params.h: define GIMP_PARAM_SERIALZE flag
	which can be used to mark an object property as serializable.
	Make the GIMP_CONFIG_INSTALL_PROP_* macros set it.

	* app/config/gimpconfig-deserialize.c
	* app/config/gimpconfig-serialize.c: check the GIMP_PARAM_SERIALIZE
	flag.

	* app/config/gimpconfig-params.c (gimp_param_color_set_default):
	fixed.

	* app/core/gimpcontext.c: install serializable properties using the
	GIMP_CONFIG_INSTALL_PROP_* macros.
2002-05-21 17:33:04 +00:00
292ec087eb added GIMP_TYPE_COLOR as boxed type encapsulating GimpRGB.
2002-05-21  Michael Natterer  <mitch@gimp.org>

	* app/config/gimpconfig-types.[ch]: added GIMP_TYPE_COLOR as boxed
	type encapsulating GimpRGB.

	* app/config/gimpconfig-params.[ch]: added GimpParamSpecColor
	which is derived from GParamSpecBoxed and adds a default value.

	* app/config/gimpconfig-deserialize.c
	* app/config/gimpconfig-serialize.c: added generic
	(de)serialization of the new property type.

	* app/core/gimpcontext.c: implement the config interface, changed
	signal parameters and property types to use the new
	GIMP_TYPE_COLOR.

	* app/core/gimpmarshal.list: added a VOID__BOXED marshaller.

	* app/gui/menus.c
	* app/gui/test-commands.[ch]: some test code which (de)serializes
	the user context.
2002-05-21 15:01:57 +00:00
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
6cb914db84 from now on use make.msc from $(TOP)/glib/build/win32; all occurences of
2001-02-17  Hans Breuer  <hans@breuer.org>

	* */*/makefile.msc */makefile.msc : from now on use
	make.msc from $(TOP)/glib/build/win32; all occurences
	of DIRENT removed and general update

	* app/config/makefile.msc app/paint/makefile.msc
	  app/plug-in/makefile.msc themes/Default/makefile.msc :
	new files

	* app/base/base.c : ported to GDir usage

	* app/config/gimpconfig-serialize.c :
	  app/config/gimpconfig-deserialize.c : HAVE_UNISTD_H
	* app/config/gimpconfig.c :
	  app/config/gimprc.c : HAVE_UNISTD_H, use <io.h> for
	open() prototype and merged pmode parameter
	(_S_IREAD | _S_IWRITE)

	* app/core/cpercep.c : msvc doesn't have cbrt(), provide
	it via pow(). Also include <glib.h> for painless 'inline'
	definition.

	* app/core/gimpdatafiles.c : ported to GDir usage

	* app/core/gimpimage-convert.c : work around a msvc compiler
	limitation (can't convert from uint64 to double)

	* app/file/file-open.c app/file/file-save.c :
	access() -> _access() for G_OS_WIN32

	* app/plug-in/plug-in.c : HAVE_UNISTD_H and <io.h>

	* libgimpbase/gimpbase.def : updated externals

	* libgimpbase/gimpenv.c : define WIN32_LEAN_AND_MEAN to
	avoid clashes with incompatible DATADIR definitions

	* libgimpcolor/gimpcolor.def : updated externals

	* lingimpmath/gimpmath.def : updated externals

	* libgimpwidgets/gimpwidgets.def : updated externals

	* libgimpwidgets/libgimp-glue.c : adapt to const changes
	of some prototypes

	* plug-ins/makefile.msc : disabled gdyntext

	* plug-ins/gap/iter_ALT/*/*.inc : GimpRunModeType -> GimpRunMode

	* plug-ins/FractalExplorer/FractalExplorer.c :
	* plug-ins/gap/gap_lib.c :
	* plug-ins/gfig/gfig.c :
	* plug-ins/gflare/gflare.c :
	* plug-ins/gimpressionist/gimpressionist.c :
	replaced DIRENT usage with GDir

	* plug-ins/script-fu/script-fu-scripts.c : #include <windows.h>
	to get the Sleep() prototype
2002-02-17 15:55:54 +00:00
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
0709bfe86b app/config/gimpconfig-deserialize.c app/config/gimpconfig-serialize.c
2001-12-12  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-deserialize.c
	* app/config/gimpconfig-serialize.c
	* app/config/gimpconfig-substitute.c: plugged a memleak and applied
	some optimizations.
2001-12-11 23:10:59 +00:00
3bd3300dea libgimpbase/Makefile.am added new function gimp_plug_in_directory() to
2001-12-10  Sven Neumann  <sven@gimp.org>

	* libgimpbase/Makefile.am
	* libgimpbase/gimpenv.[ch]: added new function gimp_plug_in_directory()
	to retrieve the compile_time defined plug_in directory. Declared some
	functions G_GNUC_CONST and simplified code by introducing a helper
	function.

	* app/config/Makefile.am
	* app/config/gimpcoreconfig.[ch]: started to implement GimpCoreConfig
	derived from GimpBaseConfig.

	* app/config/gimpbaseconfig.[ch]: misc small changes.

	* app/config/gimpconfig-deserialize.c
	(gimp_config_deserialize_properties): return quietly if there are no
	properties.

	* app/config/gimpconfig-substitute.c: more special cases.

	* app/config/test-config.c: test GimpCoreConfig.
2001-12-10 20:43:51 +00:00
ad6d670b43 app/config/Makefile.am new files with code to do substitution magic on
2001-12-10  Sven Neumann  <sven@gimp.org>

	* app/config/Makefile.am
	* app/config/gimpconfig-substitute.[ch]: new files with code to do
	substitution magic on path strings. Similar to the code in gimprc.c
	but UTF8 safe.

	* app/config/gimpconfig-params.h
	* app/config/gimpbaseconfig.c: added a bunch of convenience macros
	to register config properties and use them for GimpBaseConfig.

	* app/config/gimpconfig-types.h: added missing GIMP_VALUE_HOLDS_FOO()
	macros.

	* app/config/gimpconfig-deserialize.c: UTF8-validate all strings.

	* app/config/gimpconfig-serialize.c: some code reorganisation.
2001-12-10 18:31:35 +00:00
69ec8e3bd4 app/config/gimpconfig-deserialize.c stricter parsing.
2001-12-10  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-deserialize.c
	* app/config/gimpconfig.c: stricter parsing.

	* app/config/test-config.c: more output.
2001-12-10 12:32:28 +00:00
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
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
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
78841f1f63 app/config/Makefile.am app/config/gimpconfig-params.[ch] new files
2001-12-08  Sven Neumann  <sven@gimp.org>

	* app/config/Makefile.am
	* app/config/gimpconfig-params.[ch]
	* app/config/gimpconfig-types.[ch]: new files implementing special
	GParamSpecs and GValueTypes needed for GimpConfig.

	* app/config/gimpbaseconfig.c: register tile-cache-size property
	with GimpParamSpecMemsize.

	* app/config/gimpconfig-deserialize.[ch]
	* app/config/gimpconfig-serialize.[ch]: enable serialization and
	deserialization of non-fundamental types.
2001-12-08 03:35:38 +00:00
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
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