Commit Graph

49 Commits

Author SHA1 Message Date
Michael Natterer d32d8c04db removed antique gimp_context_get_name() and _set_name().
2006-04-11  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpcontext.[ch]: removed antique
	gimp_context_get_name() and _set_name().

	* app/actions/vectors-commands.c: #include "gimp-utils.h"
2006-04-11 00:00:36 +00:00
Michael Natterer ef9b04c535 Fixed incomplete core/ui separation of paint tools and paint methods:
2005-12-27  Michael Natterer  <mitch@gimp.org>

	Fixed incomplete core/ui separation of paint tools and paint
	methods:

	* app/core/core-enums.h
	* app/core/gimpcontext.[ch]: added a "paint-info" property and API
	so the current paint method can be selected without the need for
	an active tool.

	(gimp_context_real_set_tool): set the paint-info to
	tool_info->paint_info so the paint method follows the active tool
	just as the active image follows the active display.

	* app/core/gimp.h (struct Gimp)
	* app/core/gimppaintinfo.[ch]: added "standard_paint_info" API
	and stuff to be consistent with other context object properties.

	* app/paint/gimp-paint.c: set the paintbrush as
	standard_paint_info.

	* app/core/gimpstrokedesc.c (gimp_stroke_desc_new): removed the
	hack of falling back to the paintbrush when there is no active
	tool and use the active paint method instead. Fall back to the
	standard paint method if there is no active one.
	(nothing in the core uses the active tool any more now).

	* app/widgets/gimpdeviceinfo.h: add the paint info to the
	properties which are saved in devicerc.

	Added identifiers (names) and stock-ids to GimpPaintInfo:

	* app/core/gimppaintinfo.[ch] (gimp_paint_info_new): added
	identifier and stock-id parameters.

	* app/core/gimptoolinfo.c (gimp_tool_info_new): removed the hack
	of setting the paint-info stock-id from the tool-info stock-id.

	* app/paint/paint-types.h
	* app/paint/gimp-paint.c: changed GimpPaintRegisterCallback
	accordingly.

	* app/tools/gimp-tools.c (gimp_tools_register): changed paint
	info names accordingly.

	* app/paint/*.c (gimp_*_register): pass identifier and stock-id
	accordingly.
2005-12-27 18:57:01 +00:00
Michael Natterer 23f6a194ac added context->serialize_props mask which enables specifying exactly which
2004-07-03  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpcontext.[ch]: added context->serialize_props mask
	which enables specifying exactly which properties will be
	serialized. Also fixes a bug that prevented undefined properties
	from being serialized, breaking tool_options and device status
	serialization.

	* app/core/gimptoolinfo.c (gimp_tool_info_new): make only the
	properties in the tool_info->context_props mask serializable, also
	configure/initialize tool_info->tool_options.

	* app/tools/gimp-tools.c (gimp_tools_register): removed
	tool_options initialization that is now done in
	gimp_tool_info_new().

	* app/widgets/gimpdeviceinfo.c: make only the properties in
	GIMP_DEVICE_INFO_CONTEXT_MASK serializable.

	* app/widgets/gimpdevicestatus.c: add the device table to its
	parent container again. Fixes "missing" devices.

	* app/core/gimptooloptions.c
	* app/widgets/gimpdevices.c: cleanup / code review.
2004-07-03 20:27:28 +00:00
Sven Neumann 21f26743c1 made gimp_config_sync() and gimp_config_connect() also work on objects of
2004-03-11  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-utils.c: made gimp_config_sync() and
	gimp_config_connect() also work on objects of different types.
	Properties with the same name and the same type are synced /
	connected.

	* app/core/gimpcontext.[ch]: added convenience functions to get/set
	the font by name.

	* app/tools/gimptextoptions.[ch]: don't hold a GimpText object
	that duplicates properties like font and color which are in
	GimpContext already. Instead added all text properties that are
	controlled from the text tool options.  Handling of the foreground
	color is somewhat broken and needs a GimpContext wizard (Mitch!).

	* app/text/gimptext.c: blurbs are not any longer needed now that
	the property widgets are created from the GimpTextOptions.

	* app/tools/gimptexttool.c: changed accordingly.

	* app/widgets/gimptexteditor.[ch]: use an internal GtkTextBuffer
	and emit "text-changed" when it changes.
2004-03-11 18:47:37 +00:00
Michael Natterer c798f9678d removed the last artefact of context signal handling from 1.2:
2004-01-29  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpcontext.[ch]: removed the last artefact of context
	signal handling from 1.2:

	GimpContext used to connect to e.g. the current brush's
	"invalidate_preview" and "name_changed" signals and emitted
	"brush_changed" when the callback was invoked. This was needed to
	make 1.2 work, but is conceptually broken with the real model <->
	view approach implemented in the current code.
	This change also optimizes things quite a bit because lots of
	signal emissions are saved.

	Added utility function which finds a container's current object
	after a freeze/thaw.

	* app/widgets/gimpcontainerview.[ch]: added new virtual function
	GimpContainerView::rename_item(). Connect to "name_changed" of the
	corrent container's children and invoke rename_item() accordingly.

	* app/widgets/gimpcontainertreeview.[ch]: removed name_changed
	handler and implement GimpContainerView::rename_item().

	* app/widgets/gimpcontainergridview.c: ditto. the grid view was
	still relying on the removed GimpContext behaviour for updating
	the label showing the sleected item's name.
2004-01-29 16:34:41 +00:00
Michael Natterer e14e158e70 removed enum GimpContextPropType and enum GimpContextPropMask.
2003-06-28  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpcontext.h: removed enum GimpContextPropType and
	enum GimpContextPropMask.

	* app/core/core-enums.[ch]: added them here.

	* app/core/gimptoolinfo.[ch]: replaced "gboolean tool_context"
	member by "GimpContextPropMask context_props" so each tool can
	specify exactly which context properties it wants to have
	persistently remembered.

	* app/tools/tools-types.h: changed typedef GimpToolRegisterCallback
	accordingly.

	* app/tools/tool_manager.[ch] (tool_manager_register_tool): ditto.

	Removed the "global_tool_context" and initialize all tool info
	objects from the user_context after creation. Removed the
	PAINT_OPTIONS_MASK #define and use the new context_props stored in
	tool_info insted.

	* app/tools/gimppainttool.h: #define the common properties of the
	paint tools as GIMP_PAINT_TOOL_OPTIONS_MASK (which is OPACITY |
	PAINT_MODE | BRUSH).

	* app/tools/[all tools].c (gimp_*_tool_register): replaced the
	"use_context" boolean by the actual mask of context properties the
	tools need.
2003-06-28 11:20:37 +00:00
Michael Natterer 2598142564 added gimp_context_type_to_prop_name().
2003-04-10  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpcontext.[ch]: added gimp_context_type_to_prop_name().

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpviewablebutton.[ch]: new widget implementing
	the wheel-scrollable preview button.

	* app/tools/gimptextoptions.c
	* app/tools/paint_options.[ch]: removed the code implementing the
	same and use GimpViewableButton.

	* app/tools/tool_manager.c: added the font to the context
	properties which are remembered per tool. Added an evil hack
	using g_object_set_data() to pass the global_dock_factory to
	tool option GUI constructors.
2003-04-10 10:34:56 +00:00
Michael Natterer e7fbd8106f reset object properties only if they are GIMP_PARAM_SERIALIZABLE.
2003-04-05  Michael Natterer  <mitch@gimp.org>

	* app/config/gimpconfig-utils.c (gimp_config_reset_properties):
	reset object properties only if they are GIMP_PARAM_SERIALIZABLE.

	* app/core/gimpcontext.[ch]: added a GimpTemplate property.

	* app/gui/dialogs-constructors.[ch]
	* app/gui/dialogs.c: added a template dialog.

	* app/gui/dialogs-menu.c
	* app/gui/image-menu.c
	* app/gui/toolbox-menu.c: and menu entries to open it.

	* app/widgets/gimpdnd.[ch]: added DND for GimpTemplates.
2003-04-05 19:56:38 +00:00
Michael Natterer 47419bbcec added "gchar *default_font". and its blurb.
2003-03-25  Michael Natterer  <mitch@gimp.org>

	* app/config/gimpcoreconfig.[ch]: added "gchar *default_font".
	* app/config/gimprc-blurbs.h: and its blurb.

	* app/core/gimp.[ch]: keep a GimpFontList around.

	* app/core/gimpcontext.[ch]: added a GimpFont and all needed
	fonctions to let it work like brush, pattern etc.

	* app/core/gimpdatalist.c: cosmetic.
2003-03-25 22:06:03 +00:00
Michael Natterer eb6e907b36 simplified everything a lot by merging the public GimpContextPropType enum
2003-02-09  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpcontext.[ch]: simplified everything a lot by
	merging the public GimpContextPropType enum with the internal
	anonymous object property id enum. Removed the internal copy_prop
	functions and handle property copying in a big switch() in
	gimp_context_copy_property(). Removed the separate signal
	connections for each property of the parent context and do the
	same using a single "notify" handler. Emit "notify" signals all
	over the place.  Removed internal arrays which are no longer
	needed due to enum merge and copy_property simplification.
	Removed the array of signal names and use g_signal_name().
	Removed gimp_context_unset_parent() and allow "parent" being NULL
	in gimp_context_set_parent().

	* app/tools/tool_manager.c
	* app/widgets/gimpdevices.c: changed accordingly.

	* libgimptool/gimptooltypes.h: changed GimpToolOptionsGUIFunc to
	return a GtkWidget (the created tool options widget).

	* libgimptool/gimptoolmodule.c: #include <gtk/gtk.h>

	* app/tools/tool_options.[ch]: removed the "main_vbox" from the
	GimpToolOptions struct. Changed gimp_tool_options_gui() to create
	and return the main_vbox.

	* app/tools/tool_manager.c: create the "This Tool has no Options"
	label here if NULL was passed as "options_gui_func". Attach the
	options widget to the tool_options object using
	g_object_set_data().

	* app/gui/tool-options-dialog.c: changed accordingly.

	* app/tools/gimpairbrushtool.c
	* app/tools/gimpblendoptions.[ch]
	* app/tools/gimpbucketfilloptions.[ch]
	* app/tools/gimpclonetool.c
	* app/tools/gimpcolorpickeroptions.[ch]
	* app/tools/gimpconvolvetool.c
	* app/tools/gimpcropoptions.[ch]
	* app/tools/gimpdodgeburntool.c
	* app/tools/gimperasertool.c
	* app/tools/gimpflipoptions.[ch]
	* app/tools/gimpinkoptions.[ch]
	* app/tools/gimpmagnifyoptions.[ch]
	* app/tools/gimpmeasureoptions.[ch]
	* app/tools/gimpmoveoptions.[ch]
	* app/tools/gimpselectionoptions.[ch]
	* app/tools/gimpsmudgetool.c
	* app/tools/gimptextoptions.[ch]
	* app/tools/gimptransformoptions.[ch]
	* app/tools/gimpvectoroptions.[ch]
	* app/tools/paint_options.[ch]: return the options vbox from
	all tool_options_gui functions.
2003-02-09 17:32:52 +00:00
Sven Neumann a65e1a39e4 app/core/Makefile.am new file that holds enums that are registered with
2001-12-08  Sven Neumann  <sven@gimp.org>

	* app/core/Makefile.am
	* app/core/core-enums.h: new file that holds enums that are registered
	with the type system and is used to generate core-enums.c.

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

	* app/base/base-types.h: namespace cleanup. Prefix all enumeration
	types with Gimp and their values with GIMP. Moved GimpLayerModeEffects
	enum ...

	* app/base/base-enums.h: ... here.

	* app/image_map.c
	* app/base/temp-buf.c
	* app/core/gimpcontext.[ch]
	* app/core/gimpdrawable-transform.c
	* app/core/gimpdrawable.c
	* app/core/gimpedit.c
	* app/core/gimpimage-mask.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage-new.c
	* app/core/gimpimage-projection.c
	* app/core/gimpimage.[ch]
	* app/core/gimplayer.[ch]
	* app/display/gimpdisplayshell-dnd.c
	* app/display/gimpdisplayshell-render.c
	* app/gui/brush-select.c
	* app/gui/layers-commands.c
	* app/gui/preferences-dialog.c
	* app/gui/toolbox.c
	* app/paint-funcs/paint-funcs.[ch]
	* app/tools/gimpconvolvetool.c
	* app/tools/gimperasertool.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimppainttool.[ch]
	* app/tools/gimptexttool.c
	* app/tools/paint_options.c
	* app/widgets/gimplayerlistview.c
	* app/widgets/gimpwidgets-constructors.[ch]
	* app/xcf/xcf-load.c
	* tools/pdbgen/pdb/brush_select.pdb
	* tools/pdbgen/pdb/brushes.pdb
	* tools/pdbgen/pdb/color.pdb
	* tools/pdbgen/pdb/layer.pdb
	* tools/pdbgen/pdb/tools.pdb: changed accordingly.

	* libgimpbase/gimpbasetypes.h: no need to chop GIMP prefix off the
	enums any longer.

	* app/pdb/brush_select_cmds.c
	* app/pdb/brushes_cmds.c
	* app/pdb/color_cmds.c
	* app/pdb/layer_cmds.c
	* app/pdb/message_cmds.c
	* app/pdb/procedural_db_cmds.c
	* app/pdb/tools_cmds.c
	* libgimp/gimpenums.h
	* plug-ins/script-fu/script-fu-constants.c
	* tools/pdbgen/enums.pl: regenerated.

	* app/gimprc.c: removed code to parse for "plug_in" keyword which was
	left over from some very early gimp days.

	* app/plug-in/plug-in.[ch]: removed now unused function plug_in_add().
2001-12-08 23:12:59 +00:00
Sven Neumann 757017a8e2 bumped version number to 1.3.1. Require Glib/GTK+-1.3.11 and Pango-0.22.
2001-11-23  Sven Neumann  <sven@gimp.org>

	* configure.in: bumped version number to 1.3.1.
	Require Glib/GTK+-1.3.11 and Pango-0.22. Removed GDK_DISABLE_COMPAT_H
	and GTK_DISABLE_COMPAT_H from our default CFLAGS since they don't
	exist any longer.

	* RELEASE-TO-CVS.patch: removed since the glib/gtk+ API is supposed to
	be frozen now.

	* HACKING: removed reference to RELEASE-TO-CVS.patch

	* app/gui/menus.c
	* app/tools/gimptexttool.c: applied RELEASE-TO-CVS.patch to conform
	to the new GTK+/Pango API.

	* app/core/Makefile.am: generate marshallers with gimp_marshal prefix.

	* app/core/gimpmarshal.list: added all marshallers we use.

	* app/core/gimpmarshal.[ch]: regenerated.

	* app/[lots of .c files]: use gimp_marshal_* for all marshallers.

	* data/images/
	* app/app_procs.c
	* app/gui/splash.c:

	* libgimpbase/Makefile.am
	* libgimpbase/gimpbase.h
	* libgimpbase/gimputils.[ch]: removed since they are no longer needed.

	* app/gimprc.c
	* plug-ins/common/ps.c
	* plug-ins/gdyntext/gdyntext.c
	* plug-ins/gdyntext/gdyntextcompat.c
	* plug-ins/gfig/gfig.c
	* plug-ins/gflare/gflare.c
	* plug-ins/script-fu/script-fu-scripts.c: use glib functions instead
	of gimp_strescape() and gimpstrcompress().

	* cleaned up all header files: use G_BEGIN_DECLS/G_END_DECLS, declared
	all _get_type function as G_GNUC_CONST.

	* tools/pdbgen/enumcode.pl
	* tools/pdbgen/lib.pl: make them generate header files using
	G_BEGIN_DECLS/G_END_DECLS.

	* pixmaps/Makefile.am
	* pixmaps/wilber3.xpm: removed ...
	* data/images/tips_wilber.png: ... and added here as PNG

	* app/gui/tips-dialog.c: load the Wilber on demand using GdkPixbuf.

	* data/images/gimp_splash.ppm: removed ...
	* data/images/gimp_splash.png: ... and added as PNG

	* app/app_procs.c
	* app/gui/splash.[ch]: load the splash image using GdkPixbuf.

	* app/gui/about-dialog.c: sink the GtkPreview.
2001-11-22 23:46:13 +00:00
Michael Natterer 70ce7bae9b app/Makefile.am removed.
2001-10-22  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/docindex.[ch]: removed.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpdocumentview.[ch]: new widget as replacement.

	* app/core/gimpcontext.[ch]: added context->imagefile property.

	* app/app_procs.c
	* app/file-save.c
	* app/gui/dialogs-constructors.[ch]
	* app/gui/dialogs.c
	* app/gui/file-open-dialog.c
	* app/gui/file-save-dialog.c
	* app/gui/gui.c
	* app/gui/menus.c
	* app/gui/test-commands.c: changed accordingly.

	* app/widgets/gimpcontainerview.[ch]: added "gboolean reorderable"
	property which needs to be set by subclasses.

	* app/widgets/gimpdrawablelistview.c: removed the "insert_item"
	implementation which was used to make the items reorderable.

	* app/widgets/gimpcontainerlistview.[ch]: make the list items
	reorderable depending on view->reorderable.

	* app/widgets/gimpbufferview.c: made it reorderable.

	* app/widgets/gimpcontainereditor.[ch]
	* app/widgets/gimpcontainergridview.[ch]
	* app/widgets/gimpdatafactoryview.c: changed accordingly.
2001-10-22 17:27:46 +00:00
Michael Natterer 01b780d682 added app/display/ and app/plug-in/. Empty for now except for the types
2001-08-17  Michael Natterer  <mitch@gimp.org>

	* configure.in: added app/display/ and app/plug-in/. Empty for
	now except for the types files.

	* app/Makefile.am
	* app/appenums.h
	* app/apptypes.h: removed.

	* app/display/Makefile.am
	* app/display/display-types.h
	* app/plug-in/Makefile.am
	* app/plug-in/plug-in-types.h
	* app/gui/Makefile.am
	* app/gui/gui-types.h
	* app/pdb/Makefile.am
	* app/pdb/pdb-types.h: new files for typedefs.

	* app/appenv.h: added MessageHandlerType and StackTraceMode here.

	* app/undo_types.h: moved undo struct typedefs here.

	* app/tools/tools-types.h
	* app/core/core-types.h: added some enums and Tattoo here
	(renamed to GimpTattoo).

	* app/gdisplay.h: temp_hack: #include "display/display-types.h"

	* app/gimphelp.c: s/gtk_idle_add/g_idle_add/

	* app/gimprc.c: don't use "gimprc" in token handlers but the
	passed "val1p" and "val2p".

	* app/image_map.[ch]: cleanup in preparation of making a GObject
	out of it.

	* app/base/pixel-region.[ch]: no need to pass the
	PixelRegionIterator around as void pointer.

	* app/core/gimp.[ch]
	* app/core/gimpcontext.[ch]
	* app/core/gimptoolinfo.[ch]
	* app/tools/tool_manager.c
	* app/widgets/gimpdnd.c: added the standard_tool_info to the Gimp
	object.

	* app/batch.c
	* app/file-open.c
	* app/file-save.c
	* app/file-utils.c
	* app/interface.c
	* app/main.c
	* app/path.[ch]
	* app/pathP.h
	* app/plug_in.h
	* app/core/gimpdrawable.[ch]
	* app/core/gimpimage-mask.c
	* app/core/gimpimage.[ch]
	* app/core/gimplayer.c
	* app/gui/color-area.c
	* app/gui/color-notebook.c
	* app/gui/colormap-dialog.c
	* app/gui/dialogs-commands.c
	* app/gui/dialogs-constructors.c
	* app/gui/error-console-dialog.c
	* app/gui/gradient-editor.c
	* app/gui/gradient-select.c
	* app/gui/indicator-area.c
	* app/gui/info-dialog.c
	* app/gui/palette-editor.c
	* app/gui/palette-select.c
	* app/gui/pattern-select.c
	* app/gui/session.c
	* app/gui/splash.c
	* app/gui/view-commands.c
	* app/tools/gimpinktool-blob.c
	* app/widgets/gimpcolorpanel.c
	* app/widgets/gimpdockbook.c
	* app/widgets/gimppreview.c
	* app/xcf/xcf-load.c
	* app/xcf/xcf-save.c
	* app/xcf/xcf.c: changed accordingly: s/Tattoo/GimpTattoo/, include
	the new types files, include <glib-object.h> instead of >gtk/gtk.h>.
	Bad hacks to get rid of SELECTION_OFF and friends in core/ (will
	be replaced ba a signal soon).

	* tools/pdbgen/Makefile.am: changed list of headers scanned for
	enums accordingly.

	* app/pdb/procedural_db.c
	* tools/pdbgen/app.pl
	* tools/pdbgen/pdb/channel.pdb
	* tools/pdbgen/pdb/display.pdb
	* tools/pdbgen/pdb/gradient_select.pdb
	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/layer.pdb
	* tools/pdbgen/pdb/pattern_select.pdb: same fixes as above, added
	hacks to ensure that all foo-types.h files are included before all
	other gimp internal includes, include "pdb-types.h" unconditionally.

	* tools/pdbgen/enums.pl
	* app/pdb/*_cmds.c: regenerated.
2001-08-17 14:27:31 +00:00
Michael Natterer e2daae315b an evil temp_hack which lets GimpContext managing the active display
2001-08-14  Michael Natterer  <mitch@gimp.org>

	* app/gdisplay.h: an evil temp_hack which lets GimpContext managing
	the active display withoug including "gdisplay.h". Will go away as
	soon ad context properties are registered dynamically.

	* app/module_db.c: cleaned up the object code in preparation of
	moving it to core/.

	* app/path.c: connect to GimpImage's

	* app/core/gimpobject.[ch]: derive it from GObject, not from
	GtkObject any more (yeah :-)

	* app/core/*.c: #include <glib-object.h> instead of <gtk/gtk.h>,
	removed some remaining GtkObject-isms.

	(left in a few #include <gtk/gtk.h> where bigger changes are needed
	to get rid of the UI dependency).

	* app/core/core-types.h: #include <gdk-pixbuf/gdk-pixbuf.h> here
	temporarily.

	* app/core/gimp.c (gimp_create_display): unref the image after
	creating it's first display.

	* app/core/gimpbrush.[ch]: disabled the parts of the code which
	depend on GimpPaintTool.

	* app/core/gimpbrushgenerated.c
	* app/core/gimpbrushpipe.c: changed accordingly.

	* app/core/gimpcontext.[ch]: evil hack (see above) to manage the
	active display without including "gdisplay.h"

	* app/core/gimpimage-mask.[ch]: pass a context to
	gimage_mask_stroke() and get the current tool's PDB string from
	there.

	* app/core/gimpedit.c: changed accordingly.

	* app/core/gimpimage.c: use gimp_image_update() instead of
	gdisplays_update_full().

	* app/gui/color-area.c
	* app/gui/colormap-dialog.c
	* app/gui/dialogs-constructors.c
	* app/gui/edit-commands.c
	* app/gui/image-commands.c
	* app/gui/toolbox.c: changed accordingly (don't use Gtk methods on
	GObjects).

	* app/gui/menus.c: fix some const warnings by explicit casting.

	* app/tools/*.[ch]: ported all tools to GObject, some minor
	cleanup while i was on it.

	* app/widgets/gimpdialogfactory.[ch]: ported to GObject.

	* app/widgets/gimplayerlistview.h: added FOO_GET_CLASS() macro.

	* tools/pdbgen/app.pl: added a "widgets_eek" hack like "tools_eek"
	which inserts #include "widgets/widgets-types.h" before ordinary
	includes.

	* tools/pdbgen/pdb/brush_select.pdb
	* tools/pdbgen/pdb/edit.pdb
	* app/pdb/brush_select_cmds.c
	* app/pdb/edit_cmds.c: changed according to the stuff above.
2001-08-14 14:53:55 +00:00
Michael Natterer 5e74fa373a fsck^^^ -- lovely autofoo wants "changequote([,])dnl"
2001-08-11  Michael Natterer  <mitch@gimp.org>

	* configure.in: fsck^^^ -- lovely autofoo wants "changequote([,])dnl"

	* app/core/gimpcontext.[ch]: lots of GObject porting.

	* app/core/gimpobject.[ch]: added a "disconnect" signal, which
	like gtk's "destroy" is emitted in dispose(). This is ugly but
	I don't see another "clean" way to implement weak containers.

	* app/core/gimpcontainer.c: connect to the "disconnect" signal of
	the children of weak containes.

	* app/core/gimpimage.[ch]: replaced the "destroy" implementation
	with "dispose" + "finalize". Removed gimage->undo_history.

	* app/devices.c
	* app/gui/dialogs-constructors.c
	* app/gui/tools-commands.c
	* app/tools/tool_manager.c
	* app/widgets/gimpimagedock.c: changed accordingly.
2001-08-11 19:53:35 +00:00
Michael Natterer 357f463d59 added a TODO entry about additional image/file info.
2001-08-11  Michael Natterer  <mitch@gimp.org>

	* TODO.xml: added a TODO entry about additional image/file info.

	* app/file-save.c: #include "core/gimpdocuments.h"

	* app/core/gimpcontainer.[ch]: made virtual functions out of some
	signals.

	* app/core/*.[ch]: more GObject stuff: ported all
	gimp_foo_get_type() functions and replaced almost all "destroy"
	implementations with either "finalize" or "dispose" functions.
2001-08-11 14:39:19 +00:00
Michael Natterer 06b16890ba Port to glib/gtk+ 2.0 episode I (every segfault has it's beginning)
2001-07-24  Michael Natterer  <mitch@gimp.org>

	Port to glib/gtk+ 2.0 episode I (every segfault has it's beginning)

	* configure.in: require glib/gtk+ >= 1.3.7, commented out the
	gtkxmhtml stuff.

	From now on, you will need glib, pango, atk and gtk+ HEAD from CVS
	to hack or use GIMP HEAD.

	Beware, it crashes randomly :)

	* app/core/Makefile.am
	* app/core/gimpmarshal.list: new file plus rules to generate
	gimpmarshal.[ch] from it.

	* app/core/*
	* app/tools/*
	* app/widgets/*
	* libgimpwidgets/*: started to use the glib object system. All
	core/ objects are still gtk objects however. All signals are
	created using g_signal_new(). There are many gtk+ artefacts left.
	Finally, we will _not_ use the gtk_signal_foo() wrappers and
	friends any more.

	* app/colormaps.c
	* app/devices.[ch]
	* app/disp_callbacks.c
	* app/errorconsole.c
	* app/file-save.[ch]
	* app/interface.c
	* app/module_db.c
	* app/nav_window.c
	* app/ops_buttons.c
	* app/scroll.c
	* app/user_install.c
	* app/gui/about-dialog.c
	* app/gui/brush-editor.c
	* app/gui/brushes-commands.c
	* app/gui/color-notebook.c
	* app/gui/colormap-dialog.c
	* app/gui/dialogs-commands.c
	* app/gui/dialogs-constructors.c
	* app/gui/file-commands.c
	* app/gui/file-dialog-utils.c
	* app/gui/file-new-dialog.c
	* app/gui/file-open-dialog.[ch]
	* app/gui/file-save-dialog.c
	* app/gui/gradient-editor.c
	* app/gui/gradients-commands.c
	* app/gui/image-commands.c
	* app/gui/info-dialog.[ch]
	* app/gui/layer-select.c
	* app/gui/layers-commands.c
	* app/gui/menus.c
	* app/gui/offset-dialog.c
	* app/gui/palette-editor.c
	* app/gui/palettes-commands.c
	* app/gui/patterns-commands.c
	* app/gui/preferences-dialog.c
	* app/gui/resize-dialog.[ch]
	* app/gui/splash.c
	* app/gui/tips-dialog.c
	* app/gui/tool-options-dialog.c
	* app/gui/toolbox.c
	* app/gui/tools-commands.c
	* libgimp/gimpbrushmenu.c
	* libgimp/gimpmenu.c
	* libgimp/gimppatternmenu.c
	* libgimp/gimpui.c
	* libgimpbase/gimpenv.c: tons and tons of changes like "const
	gchar*", switch from GdkDeviceInfo to GdkDevice (very incomplete
	and currently disables), lots of s/gtk_signal/g_signal/,
	removal/replacement of deprecated stuff,
	s/GtkSignalFunc/GCallback/ and lots of small changes and fixes
	while I was on it, zillions of warnings left...

	* modules/Makefile.am: disabled the water color selector
	temporarily (XInput issues).

	* plug-ins/Makefile.am
	* plug-ins/common/.cvsignore
	* plug-ins/common/Makefile.am
	* plug-ins/common/plugin-defs.pl: simply excluded all plug-ins
	which did not build (including Script-Fu). They are trivial to
	fix.
2001-07-24 21:27:11 +00:00
Michael Natterer 1bcd3e1834 app/Makefile.am removed.
2001-07-07  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/context_manager.[ch]: removed.

	* app/app_procs.c: call tool_mananger instead of context_manager
	functions, pass "the_gimp" to some more functions.

	* app/drawable.[ch]: pass a GimpContext to drawable_fill().

	* app/errors.c: behave according to "stack_trace_mode" when using
	the debugging signal handler.

	* app/gimprc.[ch]: removed the core/ config variables.

	* app/selection.c: set the selection's state to INVISIBLE in
	selection_pause().

	* app/core/Makefile.am
	* app/core/gimpcoreconfig.[ch]: new files (the configuration
	variables used by core/).

	* app/core/gimpcontext.[ch]: removed the global contexts (user,
	default, ...) and their functions. It's no longer possible to pass
	NULL to the context functions to manipulate the current context
	(gimpcontext.c doesn't know the current context any more).

	* app/core/gimp.[ch]: added them here. The functions are now called
	gimp_[set|get]_*_context(). Added gimp_create_context() which is
	the only function to create contexts now.

	* app/gui/dialogs.[ch]
	* app/gui/gui.[ch]: pass "gimp" to all functions.

	* app/tools/tool_manager.[ch]
	* app/tools/tools.[ch]: pass "gimp" to lots of functions. Added
	the "global_tool_context" logic and the global/non-global paint
	options switching from the context_manager. Pass "gimp" to all
	tools' "register" functions.

	* app/tools/*: changed accordingly.

	* app/devices.c
	* app/disp_callbacks.c
	* app/file-open.[ch]
	* app/file-save.c
	* app/gdisplay.c
	* app/gimage.c
	* app/libgimp_glue.c
	* app/module_db.c
	* app/nav_window.c
	* app/plug_in.c
	* app/qmask.c
	* app/undo.c
	* app/base/base-config.c
	* app/core/gimpbrushpipe.c
	* app/core/gimpdrawable-offset.c
	* app/core/gimpgradient.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-mask.c
	* app/core/gimpimage-new.c
	* app/core/gimpimage.c
	* app/core/gimppalette.c
	* app/core/gimptoolinfo.[ch]
	* app/core/gimpundo.c
	* app/gui/brush-select.c
	* app/gui/channels-commands.c
	* app/gui/color-area.c
	* app/gui/dialogs-constructors.c
	* app/gui/file-new-dialog.c
	* app/gui/file-open-dialog.c
	* app/gui/gradient-editor.c
	* app/gui/gradient-select.c
	* app/gui/info-window.c
	* app/gui/layers-commands.c
	* app/gui/menus.c
	* app/gui/palette-editor.c
	* app/gui/palette-import-dialog.c
	* app/gui/palette-select.c
	* app/gui/paths-dialog.c
	* app/gui/pattern-select.c
	* app/gui/preferences-dialog.c
	* app/gui/resize-dialog.c
	* app/gui/test-commands.c
	* app/gui/tool-options-dialog.c
	* app/gui/toolbox.c
	* app/gui/tools-commands.c
	* app/xcf/xcf-load.c
	* app/xcf/xcf-save.c
	* app/widgets/gimpchannellistview.c
	* app/widgets/gimpdnd.c
	* app/widgets/gimpdrawablelistview.[ch]
	* app/widgets/gimpimagedock.c
	* app/widgets/gimplayerlistview.c
	* app/pdb/brushes_cmds.c
	* app/pdb/drawable_cmds.c
	* app/pdb/gradient_select_cmds.c
	* app/pdb/gradients_cmds.c
	* app/pdb/palette_cmds.c
	* app/pdb/patterns_cmds.c
	* app/pdb/procedural_db.c
	* tools/pdbgen/pdb/brushes.pdb
	* tools/pdbgen/pdb/drawable.pdb
	* tools/pdbgen/pdb/gradient_select.pdb
	* tools/pdbgen/pdb/gradients.pdb
	* tools/pdbgen/pdb/palette.pdb
	* tools/pdbgen/pdb/patterns.pdb: changed accordingly: remove usage
	of gimp_context_[get|set]_*(NULL), create contexts with
	gimp_create_context(). Get the user/current context with
	gimp_get_[user|current]_context(). Added/removed access to the
	global "the_gimp" variable in some places. Get the core's config
	variables from "core_config".
2001-07-07 12:17:23 +00:00
Michael Natterer 0164596064 app/core/Makefile.am app/core/core-types.h added an "application object"
2001-07-04  Michael Natterer  <mitch@gimp.org>

	* app/core/Makefile.am
	* app/core/core-types.h
	* app/core/gimp.[ch]: added an "application object" called Gimp.

	Currently, it contains the image list, the clipboard, the data
	factories, the procedural hashtable and the tool info list.  It's
	the toplevel object of the core object system. Finally, creating a
	Gimp object will return a standalone gimp core engine instance
	with no other global states/variables involved.

	* app/app_procs.[ch]: allocate a "Gimp" instance called "the_gimp" :)
	Removed stuff which is now done by the "Gimp" object. Merged
	gimp_init() into app_init() because gimp_init() is taken now.

	* app/context_manager.[ch]: removed stuff done by "Gimp".

	* app/batch.[ch]
	* app/gimage.[ch]
	* app/xcf/xcf-load.[ch]
	* app/xcf/xcf.[ch]
	* app/core/gimpedit.[ch]
	* app/tools/tool_manager.[ch]: pass around an additional "Gimp"
	argument.

	* app/pdb/procedural_db.[ch]: pass a "Gimp" pointer as first
	parameter to all internal procedures and to all procedural_db_*
	functions.

	* app/core/gimpcontext.[ch]
	* app/core/gimpimage.[ch]: added a "Gimp" pointer to the structs.

	* app/devices.c
	* app/errors.c
	* app/file-open.c
	* app/file-save.c
	* app/gimphelp.c
	* app/gimpunit.c
	* app/image_new.c
	* app/main.c
	* app/nav_window.c
	* app/plug_in.c
	* app/base/base.c
	* app/core/gimpdatafactory.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-mask.c
	* app/core/gimptoolinfo.[ch]
	* app/gui/brush-select.c
	* app/gui/convert-dialog.c
	* app/gui/dialogs-constructors.c
	* app/gui/edit-commands.c
	* app/gui/file-open-dialog.c
	* app/gui/file-save-dialog.c
	* app/gui/gradient-editor.c
	* app/gui/gradient-select.c
	* app/gui/gui.c
	* app/gui/image-commands.c
	* app/gui/info-window.c
	* app/gui/menus.c
	* app/gui/palette-editor.c
	* app/gui/palette-import-dialog.c
	* app/gui/palette-select.c
	* app/gui/paths-dialog.c
	* app/gui/pattern-select.c
	* app/gui/preferences-dialog.c
	* app/gui/test-commands.c
	* app/gui/toolbox.c
	* app/gui/tools-commands.c
	* app/tools/gimpbezierselecttool.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimppainttool.h
	* app/tools/gimptexttool.c
	* app/tools/gimptransformtool.h
	* app/widgets/gimpbufferview.c
	* app/widgets/gimpcontainerview-utils.c
	* app/widgets/gimpcursor.c
	* app/widgets/gimpdnd.c
	* app/widgets/gimpimagedock.c: changed accordingly. Cleaned up
	lots of includes. Many files still access the global "the_gimp"
	variable exported by app_procs.h.

	* tools/pdbgen/app.pl
	* tools/pdbgen/pdb/brush_select.pdb
	* tools/pdbgen/pdb/brushes.pdb
	* tools/pdbgen/pdb/convert.pdb
	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/fileops.pdb
	* tools/pdbgen/pdb/gradient_select.pdb
	* tools/pdbgen/pdb/gradients.pdb
	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/palette.pdb
	* tools/pdbgen/pdb/pattern_select.pdb
	* tools/pdbgen/pdb/patterns.pdb
	* tools/pdbgen/pdb/procedural_db.pdb: changed accordingly. Don't
	use "the_gimp" here because all procedures get passed a "Gimp"
	pointer now.

	* app/pdb/*: regenerated.
2001-07-04 19:31:35 +00:00
Michael Natterer d26c26686e app/Makefile.am removed.
2001-06-26  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/color_transfer.[ch]: removed.

	* app/tools/Makefile.am
	* app/tools/gimpcolorbalancetool-transfer.[ch]: added.

	* app/tools/gimpcolorbalancetool.c: changed accordingly.

	* app/base/Makefile.am
	* app/base/tile-manager-crop.[ch]: formerly known as crop_buffer().

	* app/tools/gimptexttool.c: changed accordingly.

	* app/context_manager.[ch]: added the global clipboard and the
	named buffer list here.

	* app/app_procs.c: don't call color_transfer_init() and don't free
	the buffer stuff (done by the context manager now).

	* app/errorconsole.c: don't #include "gui/commands.h"

	* app/global_edit.[ch]: removed lots of stuff which is now done by
	gui/edit-commands.* or the new GimpBuffer object. The "paste
	named" dialog will go away and this file will be moved to core/
	soon.

	* app/image_new.c: no need to declare the global_buffer extern any
	more.

	* app/qmask.c: don't #include "global_edit.h"

	* app/core/Makefile.am
	* app/core/core-types.h
	* app/core/gimpbuffer.[ch]: new object (aka named buffer)

	* app/core/gimpcontext.[ch]: added a GimpBuffer attribute.

	* app/core/gimpimage.[ch]: one s/int/gboolean/.

	* app/core/gimppattern.c: hmm...

	* app/gui/commands.[ch]: split up in small files:

	* app/gui/Makefile.am
	* app/gui/edit-commands.[ch]
	* app/gui/file-commands.[ch]
	* app/gui/image-commands.[ch]
	* app/gui/select-commands.[ch]
	* app/gui/view-commands.[ch]: new files.

	* app/gui/dialogs-constructors.[ch]
	* app/gui/dialogs.c: added the named buffer list & grid.

	* app/gui/file-new-dialog.[ch]
	* app/gui/menus.c
	* app/gui/palette-editor.c
	* app/gui/test-commands.c: changed accordingly.

	* app/pdb/edit_cmds.c
	* tools/pdbgen/pdb/edit.pdb: changed for the global_edit stuff.

	* app/widgets/Makefile.am
	* app/widgets/gimpbufferpreview.[ch]
	* app/widgets/gimpbufferview.[ch]
	* app/widgets/gimpcontainereditor.[ch]: new widgets.

	* app/widgets/gimpcontainerview-utils.c
	* app/widgets/gimpdatafactoryview.[ch]
	* app/widgets/gimpdnd.[ch]
	* app/widgets/gimpdrawablepreview.c
	* app/widgets/gimplayerlistview.c
	* app/widgets/gimppreview.c
	* app/widgets/widgets-types.h: changed accordingly for the new
	GimpBuffer object and it's views, misc. cleanups.

	* pixmaps/Makefile.am
	* pixmaps/paste-as-new.xpm
	* pixmaps/paste-into.xpm
	* pixmaps/paste.xpm: new pixmaps (they all look the same... Tigert? ;-)

	* po/POTFILES.in: added the new files.
2001-06-26 12:09:43 +00:00
Michael Natterer 714f4b14ea some minor fixes / cleanup.
2001-04-23  Michael Natterer  <mitch@gimp.org>

	* app/gimpcontext.[ch]: some minor fixes / cleanup.

	* app/gimpdata.c: forgot to gtk_object_class_add_signals() in
	class_init().

	* app/gui/dialogs-constructors.[ch]: added a tool_tab_func() so
	the notebook tab shows a tool preview, pass a GimpContext to all
	dialog constructors and added set_context() functions for all
	dockable based dialogs so they can be configured to use the
	context of the destination dock when dragging them around.

	* app/widgets/gimpcontainermenuimpl.c: removed debugging output.

	* app/widgets/gimpdialogfactory.[ch]: add a method to create
	dockables (which gets passed the dock the dockable will be added
	to) so the dockables can be created in the right context.

	* app/widgets/gimpdock.[ch]: added a GimpContext attribute, remove
	the dockbooks explicitely in destroy().

	* app/widgets/gimpdockable.[ch]: dockables now know about their
	set_context_func() and can thus be dragged between different
	contexts.

	* app/widgets/gimpdockbook.c: gimp_dockbook_add(): refuse to add
	dockables to dockbooks which are not part of a dock, set the
	dockable's context after adding it.

	* app/widgets/gimpimagedock.[ch]: image docks now keep a pointer
	to the global image list which is passed to them on construction
	so they don't need to know about the global "image_context"
	variable, added an "Auto" button like in L&C.

	* app/gui/dialogs-commands.c: changed accordingly.
2001-04-23 16:58:18 +00:00
Michael Natterer 99c5201870 Made the tool system work again and integrated it back with the
2001-02-21  Michael Natterer  <mitch@gimp.org>

	Made the tool system work again and integrated it back with the
	GimpContext. It's a hack between old, new and freshly hacked
	stuff. There are still lots of warnings but at least we can switch
	tools again.

	* app/tools/Makefile.am
	* app/tools/gimptoolinfo.[ch]: resurrected as real object.
	The GimpToolInfo objects are derived from GimpData, which gives
	us the tool icon stuff for free. Also, we need a list of _objects_
	which is allocated all the time. All tools are required to have
	a "register" function which registers themselves with the list
	of GimpToolInfo objects which is maintained by the tool manager.

	* app/tools/tool.[ch]: made a real GtkObject with properly named
	functions out of it. The former "active_tool_control" is of
	course not the default implementation of the tool's "control"
	method but a hack _around_ it, so it went to the tool manager.

	* app/tools/color_picker.[ch]
	* app/tools/measure.[ch]: ditto. Added "register" functions and
	"destroy" implementations so the tools go away after use.

	* app/tools/tool_manager.[ch]: badly hacked at the moment to keep
	both the list of class structures _and_ the tool info list.

	* app/tools/tools.c: call the tools' register functions.

	* app/gimpcontext.[ch]: store a pointer to a GimpToolInfo object
	as "active_tool" in the context, so we're independent of tools
	being allocated or not. It's treated just like a brush or pattern
	now.

	* app/gimpdnd.[ch]: made tool DND work like all other DND types.

	* app/devices.[ch]: also here: the tool is just a normal data object
	now, resulting in removal of lots of code.

	* app/commands.c
	* app/context_manager.c: updated the tool select and context stuff
	to work again.

	* app/toolbox.c: removed the old pixmap buttons and put GimpPreviews
	inside the tool buttons. Still needs an own preview type to
	look nice.

	* app/disp_callbacks.c
	* app/about_dialog.c
	* app/app_procs.c
	* app/appenums.h
	* app/apptypes.h
	* app/gimage.c
	* app/gimppalette.c
	* app/gimppreview.c
	* app/gimprc.c
	* app/info_window.c
	* app/menus.c
	* app/palette_select.h
	* app/scale.c
	* app/scroll.c: lots of changes to make it work again.
2001-02-21 12:18:09 +00:00
Michael Natterer 22371de3e7 added a note about apptype.h and about not including headers in headers.
2001-02-14  Michael Natterer  <mitch@gimp.org>

	* HACKING: added a note about apptype.h and about not including
	headers in headers.

	* app/apptypes.h: added GimpTool and BitmapCursor.

	* app/cursorutil.h
	* app/devices.h
	* app/draw_core.h
	* app/tools/color_picker.h
	* app/tools/tool.h
	* app/tools/tool_options.h
	* app/gimpcontext.h: removed includes of "tools/tool.h"

	* app/gimprc.[ch]: indentadion cleanup, added
	"module_db_load_inhibit".

	* app/module_db.c: removed the above variable here.

	* app/gimpdata.[ch]: added a vitrual "duplicate" method.

	* app/gimpbrush.[ch]
	* app/gimpbrushgenerated.[ch]
	* app/gimpbrushpipe.[ch]
	* app/gimpgradient.[ch]
	* app/gimppalette.[ch]
	* app/gimppattern.[ch]: all "load", "new" and "get_standard"
	functions return a GimpData pointer now.

	* app/gimpdatafactory.[ch]: made some stuff const.

	* app/gimpdatafactoryview.c: activate the "duplicate" button and
	set the initial button sensitivity correctly.

	* app/brush_select.c
	* app/gradient_select.c
	* app/pattern_select.c: use the new GimpDataFactoryView.

	* libgimp/Makefile.am: grouped the file to sort out what _may_
	go to subdirs or separate libs.

	* libgimp/gimpenv.[ch]: added many "const".

	* app/app_procs.c
	* app/brush_edit.c
	* app/gimpcontext.c
	* app/gimpdnd.c
	* app/gradient_editor.c
	* app/palette.c
	* app/palette_import.c
	* app/user_install.c: many related changes.

	* libgimpmath/gimpmathtypes.h
	* libgimpmath/gimpvector.[ch]: minor cleanups.

	* plug-ins/script-fu/script-fu.c: gimp_data_directory() is const now.
2001-02-14 14:57:14 +00:00
Nate Summers 35ac032ff1 prototype for an extension that allows gmodules as plugins. Known bug:
* plug-ins/plugin-helper/*: prototype for an extension that allows
        gmodules as plugins.  Known bug: crashes on gmodules with a static "query" function

        * app/tools/tool.c
        * app/tools/tool.h: created new GimpTool object.  Did away with ToolInfo.
        Most tools still need to be ported over to the new api.
        * plug-ins/script-fu/script-fu-scripts.c: fixed typo in comment.  Pathetic, huh?
2001-02-14 04:55:21 +00:00
Michael Natterer d6a2d391e9 took gimpcontextpreview.[ch] out of the build but still left the sources
2001-02-12  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am: took gimpcontextpreview.[ch] out of the build
	but still left the sources there as reference.

	* app/app_procs.c: initialize the render stuff before creating the
	toolbox (needed for the previews).

	* app/devices.c
	* app/indicator_area.c: use GimpPreviews instead of
	GimpContextPreviews.

	* app/context_manager.[ch]: create the global data lists here
	because they now must exist before any context is created.

	* app/brushes.[ch]
	* app/gradients.[ch]
	* app/palettes.[ch]
	* app/patterns.[ch]: removed them here.

	* app/gimpcontainer.[ch]: added a "freeze_count" and emit the
	"freeze" and "thaw" signals accordingly.

	* app/gimpcontext.[ch]: greatly simplified the way how the
	contexts connect to the data lists (simply keep them connected all
	the time). Also removed all those ugly explicit update functions
	because "thaw" callbacks do this job now.

	* app/gimpdata.c: a GimpData object now becomes dirty on
	"name_changed"; "dirty" now triggers "invalidate_preview" because
	the context does not dispatch these signals any more soon.

	* app/brush_select.c
	* app/convert.c
	* app/gimpdnd.c
	* app/gradient_editor.c
	* app/gradient_select.c
	* app/pattern_select.c
	* app/gradient_editor.c
	* app/gradient_select.c
	* app/gradients.[ch]
	* app/pdb/brush_select_cmds.c
	* app/pdb/brushes_cmds.c
	* app/pdb/convert_cmds.c
	* app/pdb/gradient_select_cmds.c
	* app/pdb/gradients_cmds.c
	* app/pdb/pattern_select_cmds.c
	* app/pdb/patterns_cmds.c
	* tools/pdbgen/pdb/brush_select.pdb
	* tools/pdbgen/pdb/brushes.pdb
	* tools/pdbgen/pdb/convert.pdb
	* tools/pdbgen/pdb/gradient_select.pdb
	* tools/pdbgen/pdb/gradients.pdb
	* tools/pdbgen/pdb/pattern_select.pdb
	* tools/pdbgen/pdb/patterns.pdb: changed accordingly.
2001-02-12 03:27:28 +00:00
Michael Natterer 68216c6ff9 Made a GimpContainer out of the palette list:
2001-02-11  Michael Natterer  <mitch@gimp.org>

	Made a GimpContainer out of the palette list:

	* app/Makefile.am
	* app/palettes.[ch]: new files for the global palette list.

	* app/gimpgradientpreview.[ch]
	* app/gimppalettepreview.[ch]: new widgets.

	* app/gimppalette.[ch]: derive it from GimpData to get all the
	preview etc. stuff.

	* app/datafiles.[ch]: new function datafiles_check_extension(),
	added a "loader_data" parameter to datafiles_read_directories()
	and pass it to the loader function.

	* app/gimpcontext.[ch]: added the palette (not really used yet
	except by the test dialogs).

	* app/gimpdatalist.[ch]: new function gimp_data_list_save_and_clear()
	which does everything needed for patterns_free(), brushes_free() ...

	* app/gimpdnd.c: added palette DND.

	* app/app_procs.c
	* app/brushes.c
	* app/color_notebook.h
	* app/commands.c
	* app/convert.c
	* app/gimpbrush.h
	* app/gimpbrushpipe.h
	* app/gimpgradient.c
	* app/gimppattern.h
	* app/gimppreview.c
	* app/gradients.c
	* app/module_db.c
	* app/palette.[ch]
	* app/paletteP.h
	* app/palette_import.c
	* app/palette_select.[ch]
	* app/patterns.c
	* app/plug_in.c
	* app/pdb/convert_cmds.c
	* app/pdb/palette_cmds.c
	* tools/pdbgen/pdb/convert.pdb
	* tools/pdbgen/pdb/palette.pdb: lotsa stuff: changed due to the above
	API changes, #define the file extensions in the GimpData subclasses'
	header files instead of hardcoding them in several places, ...

	* data/palettes/*: The same file format change as for the gradient
	files:

	- Save the palette name in a parsable form (as part of the file
	  format, not in a comment.
	- Removed unserscores from the palette names.
	- Added an extension (Gimp PaLettes are ".gpl" files now ;-)
2001-02-11 16:14:25 +00:00
Michael Natterer 07300cf385 app/Makefile.am app/gradientP.h removed.
2001-02-10  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/gradientP.h
	* app/gradient_header.h: removed.

	* app/gimpgradient.[ch]: new object -- bye bye "gradient_t"

	* app/gradients.[ch]: new files for managing the gradient list.

	* app/gradient.[ch]: containes only the gradient editor now (which
	still badly poked aroung in the GimpGradient structure).

	* app/app_procs.c
	* app/apptypes.h
	* app/devices.c
	* app/gimpcontainerlistview.c
	* app/gimpcontext.[ch]
	* app/gimpcontextpreview.[ch]
	* app/gimpdnd.[ch]
	* app/gradient_select.[ch]
	* app/indicator_area.c
	* app/palette_import.c
	* app/pdb/gradient_select_cmds.c
	* app/pdb/gradients_cmds.c
	* app/tools/airbrush.c
	* app/tools/blend.c
	* app/tools/paint_core.c
	* app/tools/paintbrush.c
	* app/tools/pencil.c
	* tools/pdbgen/pdb/gradient_select.pdb
	* tools/pdbgen/pdb/gradients.pdb: changed accordingly, some
	changes to the preview and view stuff.

	* app/gimppreview.[ch]: removed the "context" attribute again
	because it was overkill (a simple gtk_signal-connect_object does
	the same as doing the autoconnection magic inside the GimpPreview
	object).

	* app/commands.[ch]
	* app/menus.c: example views on the gradient container.
2001-02-10 19:35:29 +00:00
Michael Natterer c827d40a2c added "set_by_type", "get_by_type" and "changed_by_type" methods which
2001-02-07  Michael Natterer  <mitch@gimp.org>

	* app/gimpcontext.[ch]: added "set_by_type", "get_by_type" and
	"changed_by_type" methods which take a GtkType and decide from
	that if to manipulate the Brush, Pattern etc.

	* app/gimpcontainerview.[ch]
	* app/gimpcontainergridview.[ch]
	* app/gimpcontainerlistview.[ch]: added a GimpContext to the views
	which is used to manage the active item.

	* app/commands.c: pass the user_context to the test views.

	* app/gimpbrushpreview.c
	* app/gimppatternpreview.c
	* app/gimppreview.[ch]: added a virtual "needs_popup" method which
	returns a boolen indicating if the viewable is already fully
	visible.

	* app/gimage.[ch]: removed gimage_foreach() and some other
	functions which can easily be done be gimp_container_foreach().
	Removed gimage_delete().

	* app/fileops.c
	* app/gdisplay.c
	* app/lc_dialog.c
	* app/nav_window.c
	* app/palette_import.c
	* app/preferences_dialog.c
	* app/xcf.c
	* app/pdb/image_cmds.c
	* tools/pdbgen/pdb/image.pdb: changed accordingly. Switched from
	"disp_count" refcounting to real GtkObject refcounting for
	GimpImages.
2001-02-07 15:01:52 +00:00
Michael Natterer 78a8bb4c70 app/Makefile.am new object.
2001-02-04  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/gimppattern.[ch]: new object.

	* app/apptypes.h: added GimpPattern, removed GPattern.

	* app/patterns.[ch]: contains only the "patterns_()" functions for
	the global pattern list, s/pattern_list/global_pattern_list/g

	* app/brushes.[ch]: s/brush_list/global_brush_list/g

	* app/pattern_select.[ch]
	* app/gimpcontext.[ch]: connect to the Patterns' and the pattern
	list's signals.

	* app/brush_select.[ch]
	* app/devices.c
	* app/disp_callbacks.[ch]
	* app/gimpbrush.c
	* app/gimpbrushgenerated.[ch]
	* app/gimpcontextpreview.[ch]
	* app/gimpdnd.[ch]
	* app/indicator_area.c
	* app/pdb/brush_select_cmds.c
	* app/pdb/brushes_cmds.c
	* app/pdb/pattern_select_cmds.c
	* app/pdb/patterns_cmds.c
	* app/tools/bucket_fill.c
	* app/tools/clone.c
	* tools/pdbgen/pdb/brush_select.pdb
	* tools/pdbgen/pdb/brushes.pdb
	* tools/pdbgen/pdb/pattern_select.pdb
	* tools/pdbgen/pdb/patterns.pdb
	* po/POTFILES.in: changed accordingly.
2001-02-04 17:34:30 +00:00
Michael Natterer b346ba965d app/Makefile.am new files containing stuff needed for linking libgimp
2001-01-23  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/libgimp_glue.[ch]: new files containing stuff needed for
	linking libgimp stuff against the app. This file is not needed
	at all for the app itself and should never be included.

	* app/gimpcontext.[ch]: removed from here.

	* libgimp/Makefile.am
	* libgimp/gimp.h
	* libgimp/gimppalette.[ch]: new files for the PDB wrapping
	gimp_palette_*_rgb() stuff.

	* libgimp/gimpcolor.[ch]: removed the PDB dependency from here.
2001-01-23 16:05:10 +00:00
Michael Natterer 8571f45c77 app/color_notebook.[ch] app/gimpcontext.[ch] made the _set_color() and
2001-01-20  Michael Natterer  <mitch@gimp.org>

	* app/color_notebook.[ch]
	* app/gimpcontext.[ch]
	* app/gimpdnd.h: made the _set_color() and _drop_color() functions
	take a "const GimpRGB *" parameter.

	* app/by_color_select.c
	* app/channels_dialog.c
	* app/color_area.c
	* app/color_panel.c
	* app/color_picker.c
	* app/color_select.c
	* app/colormap_dialog.c
	* app/disp_callbacks.[ch]
	* app/gimpimage.h
	* app/palette.c: changed accordingly.

	* app/gradient.c
	* app/gradientP.h
	* app/gradient_header.h: use GimpRGB internally.
2001-01-20 15:37:26 +00:00
Michael Natterer dc9cf1a222 app/color_notebook.[ch] app/color_panel.[ch] app/gimpcontext.[ch] use
2001-01-15  Michael Natterer  <mitch@gimp.org>

	* app/color_notebook.[ch]
	* app/color_panel.[ch]
	* app/gimpcontext.[ch]
	* app/gimpdnd.[ch]: use GimpRGB instead of a random selection out of
	guchar, gint, guchar[], blah...

	* app/blend.c
	* app/by_color_select.c
	* app/channel_ops.c
	* app/channels_dialog.c
	* app/color_area.c
	* app/color_picker.c
	* app/color_select.c
	* app/colormap_dialog.c
	* app/commands.c
	* app/devices.[ch]
	* app/disp_callbacks.[ch]
	* app/drawable.c
	* app/gimpimage.c
	* app/gimprc.c
	* app/gradient.c
	* app/paint_core.c
	* app/palette.c
	* app/palette_cmds.c
	* app/qmask.c
	* tools/pdbgen/pdb/palette.pdb: changed accordingly.
2001-01-15 01:48:53 +00:00
Michael Natterer cac3f7cb25 app/apptypes.h app/brush_edit.c app/brush_select.c app/brushes_cmds.c
2001-01-14  Michael Natterer  <mitch@gimp.org>

	* app/apptypes.h
	* app/brush_edit.c
	* app/brush_select.c
	* app/brushes_cmds.c
	* app/channel.h
	* app/colormap_dialog.c
	* app/datafiles.[ch]
	* app/devices.c
	* app/docindex.c
	* app/fileops.c
	* app/gdisplay.c
	* app/gimage.c
	* app/gimpbrush.[ch]
	* app/gimpbrushgenerated.[ch]
	* app/gimpbrushlist.[ch]
	* app/gimpbrushpipe.[ch]
	* app/gimpcontext.[ch]
	* app/gimpcontextpreview.c
	* app/gimpdnd.c
	* app/gimpdrawable.h
	* app/gimpimage.[ch]
	* app/gimplist.h
	* app/gimpobject.h
	* app/gimpset.[ch]
	* app/gradient.c
	* app/info_window.c
	* app/layer.[ch]
	* app/module_db.c
	* app/palette.[ch]
	* app/patterns.[ch]
	* app/plug_in.[ch]
	* app/undo_history.c
	* app/xcf.c
	* tools/pdbgen/pdb/brushes.pdb

	- Removed the "name" argument from all objects and use
	  GimpObject's name.
	- Use the same code in all "uniquefy name" functions (this
	  functionality will be a method of the "GimpContainer" class).
	- Renamed the parent instances of all objects to "parent instance".
	- Added missing instance and class cast macros.
	- Changed some "gchar *" to "const gchar *" parameters.
2001-01-14 03:55:56 +00:00
Sven Neumann 45c4a41f4b finished new GimpColorArea widget which uses GimpRGB and handles DND and
2001-01-10  Sven Neumann  <sven@gimp.org>

	* libgimp/gimpcolorarea.[ch]: finished new GimpColorArea widget which
	uses GimpRGB and handles DND and alpha channel.

	* libgimp/gimpcolorbutton.[ch]: use GimpColorArea. The API of the
	GimpColorButton has changed!

	* libgimp/gimpwidgets.[ch]: added temporary function
	gimp_color_update_uchar() to ease migration of plug-ins to GimpRGB.
	This function will go away.

	* plug-ins/Lighting/lighting_main.h
	* plug-ins/Lighting/lighting_ui.c
	* plug-ins/MapObject/mapobject_main.h
	* plug-ins/MapObject/mapobject_ui.c
	* plug-ins/common/colorify.c
	* plug-ins/common/colortoalpha.c
	* plug-ins/common/exchange.c
	* plug-ins/common/film.c
	* plug-ins/common/grid.c
	* plug-ins/common/mapcolor.c
	* plug-ins/common/nova.c
	* plug-ins/common/papertile.c
	* plug-ins/common/sinus.c
	* plug-ins/gdyntext/gdyntext_ui.c
	* plug-ins/ifscompose/ifscompose.[ch]
	* plug-ins/ifscompose/ifscompose_storage.c
	* plug-ins/ifscompose/ifscompose_utils.c
	* plug-ins/script-fu/script-fu-scripts.c: use new GimpColorArea and
	GimpColorButton. Started to introduce GimpRGB color type. This change
	might have broken some of these plug-ins. This is work in progress.

	* libgimp/Makefile.am: added GimpColorArea and GimpColorButton to
	libgimpi.

	* app/gimpcontext.[ch]: added gimp_palette_get_[fore|back]ground()
	functions so the app can link against libgimp/gimpcolorbutton.o.
	These functions will go away.

	* app/gimpdnd.c: use a GimpColorArea for DND
2001-01-10 22:49:45 +00:00
Michael Natterer 8d6c335f8f app/Makefile.am app/channel_pvt.h app/drawable_pvt.h app/gdisplayF.h
2000-12-29  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/channel_pvt.h
	* app/drawable_pvt.h
	* app/gdisplayF.h
	* app/gimpdrawableP.h
	* app/gimpimageP.h
	* app/layer_pvt.h
	* app/toolsF.h: removed these files.

	* app/apptypes.h
	* tools/pdbgen/enums.pl: added tons of opaque typedefs and enums.

	* tools/pdbgen/pdb/brush_select.pdb
	* tools/pdbgen/pdb/brushes.pdb
	* tools/pdbgen/pdb/channel.pdb
	* tools/pdbgen/pdb/color.pdb
	* tools/pdbgen/pdb/convert.pdb
	* tools/pdbgen/pdb/display.pdb
	* tools/pdbgen/pdb/drawable.pdb
	* tools/pdbgen/pdb/fileops.pdb
	* tools/pdbgen/pdb/gradient_select.pdb
	* tools/pdbgen/pdb/gradients.pdb
	* tools/pdbgen/pdb/help.pdb
	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/layer.pdb
	* tools/pdbgen/pdb/pattern_select.pdb
	* tools/pdbgen/pdb/patterns.pdb
	* tools/pdbgen/pdb/selection.pdb
	* tools/pdbgen/pdb/tools.pdb
	* app/*: chainsaw #include cleanup:

	- Never (never!!) include stuff in header files except where we
	  need access to structures' contents (like derived objects).
	- Added prototypes and proper formating in many files.
	- The #include order in *all* *.c files is as follows:

	#include "config.h"

	#include <system stuff>

	#include <gtk/gtk.h>

	#include "apptypes.h"

	#include "gimp stuff"

	#include "libgimp stuff"

	#include "libgimp/gimpintl.h"

	By following this scheme we can easily see a file's dependencies
	from it's #include's and can grep for the inclusion to find out
	where a file is used.

	* tools/pdbgen/app.pl: changed to follow the include scheme above.

	* libgimp/Makefile.am
	* libgimp/gimpuitypes.h: new file, included from libgimp/gimpui.h
	and from app/apptypes.h.

	* libgimp/gimpcolorbutton.[ch]
	* libgimp/gimpdialog.[ch]
	* libgimp/gimphelpui.[ch]
	* libgimp/gimpparasite.[ch]
	* libgimp/gimppatheditor.[ch]
	* libgimp/gimpprotocol.c
	* libgimp/gimpquerybox.[ch]
	* libgimp/gimpsizeentry.[ch]
	* libgimp/gimptypes.h
	* libgimp/gimpui.h
	* libgimp/gimpunit.h
	* libgimp/gimpunitmenu.[ch]
	* libgimp/gimpwidgets.[ch]: changed accordingly.

	* plug-ins/FractalExplorer/Dialogs.c
	* plug-ins/gdyntext/message_window.c
	* plug-ins/imagemap/imap_default_dialog.c
	* plug-ins/imagemap/imap_file.c: these files used to include
	"libgimp/gimpui.h" without including "libgimp/gimp.h". This is
	no longer possible because the libgimpui headers don't inlcude
	"libgimp/gimpunit.h" any more.
2000-12-29 15:22:01 +00:00
Sven Neumann dfa2bed505 Last-minute cleanup:
2000-12-16  Sven Neumann  <sven@gimp.org>

	Last-minute cleanup:

	* app/gimpdrawableF.h
	* app/gimphistogramF.h
	* app/gimpimageF.h
	* app/gimplistF.h
	* app/gimplutF.h
	* app/gimpobjectF.h
	* app/gimpsetF.h
	* app/layerF.h
	* app/parasitelistF.h: removed these files

	* app/Makefile.am
	* tools/pdbgen/Makefile.am: changed accordingly

	* app/[almost every file]: include cleanup
2000-12-16 21:37:03 +00:00
Michael Natterer cdd0a5147d app/fileops.c Make sure that we don't try to destroy query_boxes twice or
2000-11-18  Michael Natterer  <mitch@gimp.org>

	* app/fileops.c
	* libgimp/gimpquerybox.[ch]: Make sure that we don't try to destroy
	query_boxes twice or try to disconnect not-any-more connected
	handlers.

	* app/color_notebook.c
	* app/gimpcontext.[ch]
	* app/gimphelp.[ch]
	* app/lc_dialog.[ch]
	* app/menus.h
	* app/preferences_dialog.c
	* app/tools.[ch]
	* libgimp/gimpcolorbutton.[ch]
	* libgimp/gimpdialog.[ch]
	* libgimp/gimpexport.[ch]
	* libgimp/gimpfileselection.[ch]
	* libgimp/gimphelpui.[ch]
	* libgimp/gimppatheditor.[ch]
	* libgimp/gimppixmap.[ch]
	* libgimp/gimpsizeentry.[ch]
	* libgimp/gimpui.[ch]
	* libgimp/gimpunitmenu.[ch]
	* libgimp/gimpwidgets.[ch]: in a coding attack, changed help_data
	and many other strings passed to UI functions to (const gchar *).
	As a consequence, I had to fix lots of warnings ;)

	* plug-ins/common/tga.c
	* plug-ins/imagemap/imap_main.c: fixed warnings.

	Code cleanup and indentation all over the place.
2000-11-18 00:25:42 +00:00
Michael Natterer f38cdf123c app/brush_edit.[ch] app/brush_header.h app/gimpbrush.[ch]
2000-09-29  Michael Natterer  <mitch@gimp.org>

	* app/brush_edit.[ch]
	* app/brush_header.h
	* app/gimpbrush.[ch]
	* app/gimpbrushgenerated.[ch]
	* app/gimpbrushlist.[ch]
	* app/gimpbrushpipe.[ch]
	* app/gimpcontext.h
	* app/gimplist.[ch]
	* app/gimpobject.[ch]
	* app/gimpset.[ch]
	* app/gimpsignal.[ch]
	* app/parasitelist.h: Lotsa fixes in the brush referencing code
	and cleanups in many GtkObjects:

	- Reference brushes correctly (call gtk_object_sink() after adding
	  them to the brush list). Don't crash when renaming a brush
	  multiple times.
	- Replaced all gtk_object_destroy() with gtk_object_unref|sink().
	- Removed the "Fake Gimp object system" (gimp_object_destroy() et.al.)
	  all over the place (while it's a good idea to have a common Gimp
	  base object, it's totally useless to try to imitate Gtk's object
	  system).
	- s/sz_BrushHeader/sizeof(BrushHeader)/g
	- And of course various indentation and coding style paranoia changes
	  in all files I visited.
2000-09-29 12:00:00 +00:00
Michael Natterer 863b24917c it's more intelligent to implement the parent_context stuff with
2000-02-22  Michael Natterer  <mitch@gimp.org>

	* app/gimpcontext.[ch]: it's more intelligent to implement the
	parent_context stuff with gtk_signal_connect_object() instead of
	having internal callbacks for each context attribute.
	Exported the existing gimp_context_*_changed() functions and
	changed them to do nothing but emitting the signal.

	* app/app_procs.c
	* app/tools.c
	* app/transform_tool.c: use gimp_context_tool_changed() instead of
	gtk_signal_emit_by_name().
2000-02-22 17:06:44 +00:00
Michael Natterer a74d52fbbf Use the context almost everywhere. 1999-10-26 18:27:27 +00:00
Michael Natterer b74d256981 changed the "parent context" implementation:
1999-10-19  Michael Natterer  <mitch@gimp.org>

	* gimpcontext.[ch]: changed the "parent context" implementation:

	- Automatically connect/disconnect the "*_changed" signals when
	  changing the parent and when setting the "defined" flag of the
	  attributes.
	- Store the former *_defined booleans in a single guint32.
	- Added generic functions to set the "defined" flags of the
	  attributes and to copy attributes between contexts.

	The contexts now correctly handle disappearing images and
	displays, so we don't have to explicitly reset them any more.

	* context_manager.[ch]: adopted to the changed context
	implementation, connect to the user context's "tool_changed"
	signal to switch the per-tool contexts, don't connect to the
	"removed" signal of the image context.

	* brush_select.c
	* tool_options.c: use LayerModeEffects instead of int when calling
	gimp_context_set_paint_mode().

	* gdisplay.c: no need to reset the active display when deleting it
	because the context connects to the "destroy" signal of the shell
	now.

	* menus.c: a shortcut for the navigation window. Moved
	<Image>/Image/Colors/Desaturate before the separator.

	* tools.c: tools_select(): set the active tool of the user context
	instead of calling a special context manager function.
1999-10-19 15:52:32 +00:00
Michael Natterer 33b2d27e16 new GimpSignalType gimp_sigtype_int_int_int.
1999-10-17  Michael Natterer  <mitch@gimp.org>

	* app/gimpsignal.[ch]: new GimpSignalType gimp_sigtype_int_int_int.

	* app/gimpcontext.[ch]: set/get colors as separate r/g/b values
	instead of a guchar[3] array.
	The "[foreground|background]_changed" signal handlers must have
	the following signature now:
	color_changed_callback (GimpContext *, gint, gint, gint, gpointer).
1999-10-17 13:48:19 +00:00
Michael Natterer f650984006 added the possibility to store the current tool, FG/BG color, brush,
1999-10-17  Michael Natterer  <mitch@gimp.org>

	* app/gimpcontext.[ch]: added the possibility to store the current
	tool, FG/BG color, brush, pattern and gradient, but don't use
	these attributes yet.

	Before replacing the get/set color/brush/... functions with
	context functions, I'll have to change the "parent context"
	implementation to something where the children catch the parent's
	color/brush/..._changed signals.
	Finally, updating the indicator_area, device_status, tool_options
	etc. will be done by connecting to their own context's "*_changed"
	signals, which will be much cleaner than calling the update
	functions from various places.

	(I think this is a "consistency fix", please let me know if you
	consider it a new feature).
1999-10-17 12:28:38 +00:00
Tor Lillqvist f6858e21d1 Actually use the enum types GimpImageType, GimpImageBaseType,
* app/*.[ch]: Actually use the enum types GimpImageType,
	GimpImageBaseType, LayerModeEffects, PaintApplicationMode,
	BrushApplicationMode, GimpFillType and ConvertPaletteType, instead
	of just int or gint. Hopefully I catched most of the places
	where these should be used.

	Add an enum ConvolutionType, suffix the too general constants
	NORMAL, ABSOLUTE and NEGATIVE with _CONVOL. Use NORMAL_MODE
	instead of NORMAL in some places (this was what was intended). Fix
	some minor gccisms.

	* app/apptypes.h: New file. This file contains the above
	enumeration types, and some opaque struct typedefs. It was
	necessary to collect these in one header that doesn't include
	other headers, because when we started using the above mentioned
	types in the headers, all hell broke loose because of the
	spaghetti-like cross-inclusion mess between headers.

	(An example: Header A includes header B, which includes header C
	which includes A. B uses a type defined in A. This is not defined,
	because A hasn't defined it yet at the point where it includes B,
	and A included from B of course is skipped as we already are
	reading A.)
1999-08-18 23:41:39 +00:00
Michael Natterer 142ccb742d app/commands.c app/disp_callbacks.c app/gdisplay.c app/lc_dialog.c applied
1999-06-20  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/commands.c
	* app/disp_callbacks.c
	* app/gdisplay.c
	* app/lc_dialog.c
	* app/menus.c: applied a patch from <Simon.Budig@unix-ag.org>
	which implements tear-off-menus(!!!). Modified it to use the
	GimpContext.
	The sensitivity of the menu entries is not updated after
	executing a command. This leaves the sensitivity in the state
	before the command was executed (which is buggy). Will probably
	have to update the sensitivity from gdisplays_flush().
	Simon called the patch "temporary" but it looks pretty stable to
	me. Please test it :-)

	* app/context_manager.[ch]: minor changes.

	* app/gimpcontext.[ch]: the user context keeps track of the
	current display and image. The image is set automatically from
	gimp_context_set_display().
	Still have to figure out how this should interact with
	gdisplay_active() (the current state is a hack).
	Made the context attributes real GtkObject arguments.
	Pass the changed attributes to the callbacks which connect to
	the <attribute>_changed signals.

	* app/gimpset.[ch]
	* app/gimpsetF.h
	* app/gimpsetP.h: made the gimpset properly derivable by adding
	signal slots to the object class structure. Added copyright
	headers.

	* app/gimpsignal.[ch]: new type gimp_sigtype_double, copyright
	header and my usual indentation fanaticism.
1999-06-20 13:53:15 +00:00
Michael Natterer aef2a0331a added some functions. Still does nothing.
1999-06-19  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/gimpcontext.[ch]: added some functions. Still does nothing.

	* app/bezier_select.c
	* app/devices.c
	* app/tools.[ch]: removed global variable active_tool_type
	because it was always equal to active_tool->type.
1999-06-19 20:20:59 +00:00
Michael Natterer 1134c030a3 app/Makefile.am new files. Currently only init and destroy the static
1999-06-18  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/Makefile.am
	* app/context_manager.[ch]: new files. Currently only init and
	destroy the static contexts (user, standard and default).

	* app/app_procs.c: call the context manager's init and free
	functions. Still have to figure out the right time to do this.

	* app/gimpcontext.[ch]: alpha version 0.0.1 :-)

	Features:
	- Each context has a name
	- Attributes: opacity, paint mode, image, display
	- Signal emission on attribute change
	- Possibility to set a "parent" context
	- Each attribute can be defined or undefined. In the latter case
	  the values are taken from the parent context.
	- Possibility to pass a template and parent context to the
	  constructor
	Bugs:
	- Many attributes/functions still missing
	- It's connected to nothing
1999-06-18 18:29:27 +00:00
Michael Natterer aaa3ef2161 app/Makefile.am new files. Does nothing yet. Checked in because I found
1999-06-17  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/Makefile.am
	* app/gimpcontext.[ch]: new files. Does nothing yet. Checked in
	because I found some bugs while hacking it:

	* libgimp/gimpchainbutton.[ch]
	* libgimp/gimpfileselection.[ch]
	* libgimp/gimppatheditor.[ch]
	* libgimp/gimpsizeentry.[ch]
	* libgimp/gimpunitmenu.[ch]: fixed some cut & paste bugs and some
	gtk 1.0 artefacts in the object class initialisation code.
1999-06-17 19:13:08 +00:00