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-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 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-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-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-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-04-15 Sven Neumann <sven@gimp.org>
* app/config/gimpconfig-serialize.c: serialize doubles and floats
using the locale independent g_ascii_formatd().
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-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-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-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.