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.
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-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-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-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.