Commit Graph

70 Commits

Author SHA1 Message Date
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 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
Michael Natterer 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
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 6747ea3f1f fixed typo.
2002-05-06  Sven Neumann  <sven@gimp.org>

	* autogen.sh: fixed typo.

	* app/config/gimpconfig-serialize.[ch] (gimp_config_serialize_value):
	allow to specify whether strings should be escaped.

	* app/config/gimprc.c (gimp_rc_query): don't escape string values.

	* app/config/test-config.c: changed accordingly.
2002-05-06 11:04:39 +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 21fb2943b5 serialize doubles and floats using the locale independent
2002-04-15  Sven Neumann  <sven@gimp.org>

        * app/config/gimpconfig-serialize.c: serialize doubles and floats
        using the locale independent g_ascii_formatd().
2002-04-15 09:40:08 +00:00
Hans Breuer de5f8b5f43 #define GETTEXT_PACKAGE
2001-03-28  Hans Breuer  <hans@breuer.org>

	* config.h.win32 : #define GETTEXT_PACKAGE

	* makefile.msc : add theme rule

	* app/makefile.msc : gimp.exe depends on all the libs
	and general update

	* app/base/makefile.msc : updated

	* app/config/gimpconfig-serialize.c : #include <io.h> for win32
	* app/config/gimpconfig-types.c : #include <string.h>

	* app/core/gimpcontext.c app/core/gimpcontainer.c
	  app/core/gimptoolinfo.c : #include <string.h>

	* app/core/gimpdocuments.c (gimp_documents_save_func) :
	need to g_strescape() the filename to not make
	backslashes vanish during de-serialization

	* app/core/gimpimagefile.c : #define S_ISREG for G_OS_WIN32

	* app/core/makefile.msc : add -DGIMP_COMPILATION
	required for cpercep.c build

	* app/display/gimpdisplayshell.c : #include <string.h>

	* app/display/makefile.msc : -FImsvc_recommended_pragmas.h,
	G_LOG_DOMAIN definition and object file update

	* app/file/makefile.msc : -FImsvc_recommended_pragmas.h,
	G_LOG_DOMAIN definition

	* app/file/file-open.c (file_open_with_proc_and_display) :
	use absolute filename for gimp_documents_add()

	* app/gui/channel-commands.c app/gui/colormap-editor-commands.c
	  app/gui/edit-commands.c app/gui/vectors-commands.c :
	#include <string.h>

	* app/gui/makefile.msc : updated

	* app/gui/menus.c : use g_file_test() instead of access()
	to avoid inclusion <unistd.h>

	* app/paint/makefile.msc : updated

	* app/plug-in/plug-in-params.c : #include <string.h>

	* app/plug-in/makefile.msc : updated

	* app/plug-in/plug-in-def.h : #include <time.h> for time_t

	* app/plug-in/plug-in.c : remove definition of S_IFREG

	* app/plug-in/gap/gap_arr_dialog.c : include <config.h>
	before including libgimp/libgimp-intl.h

	* app/tools/makefile.msc : updated

	* app/vectors/makefile.msc : new file

	* app/widgets/makefile.msc : updated

	* libgimp/gimp.def : updated externals

	* libgimpwidgets/gimpwidgets.def : updated externals

	* modules/makefile.msc : updated and disabled colorsel_gtk.

	* plug-in/makefile.msc : don't define GETTEXT_PACKAGE

	* themes/Default/images/makefile.msc : moved makefile.msc from ..
	and adapted pathes to images
2002-03-28 00:10:56 +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
Hans Breuer 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
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 94e7e1e55e app/config/gimpconfig-deserialize.h fixed typos.
2001-12-13  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-deserialize.h
	* app/config/gimpconfig-serialize.c: fixed typos.

	* app/core/core-enums.h
	* app/core/core-types.h: converted ChannelType enum to GimpChannelType
	and moved it to core-enums.h.

	* app/core/gimpimage.[ch]
	* app/widgets/gimpchannellistview.c
	* app/widgets/gimpcomponentlistitem.[ch]
	* tools/pdbgen/pdb/image.pdb: changed accordingly.

	* app/pdb/image_cmds.c
	* libgimp/gimpenums.h
	* plug-ins/script-fu/script-fu-constants.c
	* tools/pdbgen/enums.pl: regenerated.
2001-12-13 20:19:41 +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 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
Sven Neumann a611f06361 removed GimpImageBaseType enum ...
2001-12-11  Sven Neumann  <sven@gimp.org>

	* app/core/core-types.h: removed GimpImageBaseType enum ...

	* app/core/core-enums.h: and added it here with proper namespace
	(enum values prefixed with GIMP_).

	* app/gimprc.c
	* app/core/gimpcoreconfig.c
	* app/core/gimpdrawable-bucket-fill.c
	* app/core/gimpdrawable-preview.c
	* app/core/gimpdrawable.c
	* app/core/gimpedit.c
	* app/core/gimpimage-convert.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-mask.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage-new.c
	* app/core/gimpimage-projection.c
	* app/core/gimpimage.c
	* app/core/gimplayer.c
	* app/core/gimppalette-import.c
	* app/display/gimpdisplay-handlers.c
	* app/display/gimpdisplayshell-dnd.c
	* app/display/gimpdisplayshell.c
	* app/file/file-utils.c
	* app/gui/colormap-dialog.c
	* app/gui/convert-dialog.c
	* app/gui/info-window.c
	* app/gui/layers-commands.c
	* app/gui/palette-import-dialog.c
	* app/gui/preferences-dialog.c
	* app/gui/toolbox.c
	* app/tools/gimpclonetool.c
	* app/tools/gimppainttool.c
	* app/widgets/gimpchannellistview.c
	* tools/pdbgen/Makefile.am
	* tools/pdbgen/pdb/convert.pdb
	* tools/pdbgen/pdb/image.pdb: changed accordingly.

	* tools/pdbgen/enums.pl
	* app/pdb/convert_cmds.c
	* app/pdb/image_cmds.c
	* libgimp/gimpconvert_pdb.c
	* libgimp/gimpimage_pdb.c: regenerated.

	* app/config/Makefile.am
	* app/config/gimpconfig-params.h
	* app/config/gimpconfig-serialize.c
	* app/config/gimpcoreconfig.[ch]: added more stuff to GimpCoreConfig.
2001-12-11 15:58:07 +00:00
Sven Neumann 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
Sven Neumann 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
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