Commit Graph

48 Commits

Author SHA1 Message Date
Michael Natterer 12355969f6 take const GimpRGB* instead of just GimpRGB*. Converted tabs to spaces.
2004-06-30  Michael Natterer  <mitch@gimp.org>

	* app/core/gimppalette.[ch] (gimp_palette_add_entry): take
	const GimpRGB* instead of just GimpRGB*.
	Converted tabs to spaces.
2004-06-30 11:09:44 +00:00
Sven Neumann de758bbe93 don't use the rather inefficient gimp_palette_add_entry() when loading a
2004-06-13  Sven Neumann  <sven@gimp.org>

	* app/core/gimppalette.c (gimp_palette_load): don't use the rather
	inefficient gimp_palette_add_entry() when loading a palette.
2004-06-12 22:28:13 +00:00
Michael Natterer d991e64b38 Fixed GimpData's default "writable" and "deletable" behaviour:
2004-02-13  Michael Natterer  <mitch@gimp.org>

	Fixed GimpData's default "writable" and "deletable" behaviour:

	* app/core/gimpdata.c (gimp_data_init): default to writable and
	deletable == TRUE (something that has no filename was never loaded
	from disk and can't be undeletable or read-only).
	Fixes bug #134274.

	* app/core/gimpdata.[ch]: added new function
	gimp_data_make_internal() which frees the filename and sets the
	data's flags accordingly.

	* app/core/gimp-gradients.c (gimp_gradients_add_gradient)
	* app/core/gimpbrush.c (gimp_brush_get_standard)
	* app/core/gimpgradient.c (gimp_gradient_get_standard)
	* app/core/gimppalette.c (gimp_palette_get_standard)
	* app/core/gimppattern.c (gimp_pattern_get_standard): use the
	new function for internal data objects.

	* app/core/gimpdata.c (gimp_data_save, gimp_data_delete_from_disk)
	* app/core/gimpdatafactory.c (gimp_data_factory_save_single):
	bail out with g_return_if_fail() is the data is not writable
	or deletable.

	* app/widgets/gimpdataeditor.c
	* app/widgets/gimpdatafactoryview.c: changed accordingly.
2004-02-13 11:53:22 +00:00
Michael Natterer 44cac5ae91 GimpData code review:
2004-01-29  Michael Natterer  <mitch@gimp.org>

	GimpData code review:

	* app/core/gimpdata.c (gimp_data_init): default to
	writable = FALSE and dirty = TRUE.

	* app/core/gimpbrushgenerated.[ch]: added "const gchar *name" to
	gimp_brush_generated_new().

	* app/core/gimpbrush.c
	* app/core/gimpbrushgenerated.c
	* app/core/gimpbrushpipe.c
	* app/core/gimpgradient.c
	* app/core/gimppalette.c
	* app/core/gimppattern.c: set all standard datas to clean and
	internal, check for g_path_is_absolute() in all load functions,
	pass the data's name as construct property to g_object_new()
	instead of calling gimp_object_set_name() after creation, fixed
	some UTF-8 handling, spacing, indentation, coding style, general
	cleanup.
2004-01-29 16:19:57 +00:00
Michael Natterer 894cf70dd5 Added infrastructure to make sure we don't write to the global brush,
2004-01-28  Michael Natterer  <mitch@gimp.org>

	Added infrastructure to make sure we don't write to the global
	brush, pattern etc. directories. Needed to make this configurable
	because we can't rely on the global directories being read-only,
	having certain names or being otherwise detectable at runtime in a
	sane way. Fixes bug #132214.

	* libgimpbase/gimpdatafiles.[ch]: added "const gchar *dirname" to
	the GimpDataFileData struct so callbacks don't need to call
	g_path_get_dirname() for each file.

	* libgimpwidgets/gimpfileentry.c: made it work with non UTF-8
	encoded filenames.

	* libgimpwidgets/gimppatheditor.[ch]: ditto. Added GUI and API for
	setting/getting a second "writable_path". The widget makes sure
	that the writable_path is always a subset of the path.

	* app/config/gimpconfig-utils.[ch]: added new function
	gimp_config_build_writable_path().

	* app/config/gimpcoreconfig.[ch]: added separate properties for
	the writable brush, pattern, gradient, palette and font paths.

	* app/config/gimprc-blurbs.h: added (still empty) blurbs for the
	new properties.

	* app/core/gimpdata.[ch] (gimp_data_set_filename): added parameter
	"gboolean writable". Set data->writable to FALSE by default. If
	"writable" is passed as TRUE, still check if we can write to the
	file before setting data->writable to TRUE.

	(gimp_data_create_filename): changed "data_path" parameter to
	"dest_dir" and assume dest_dir is writable.

	(gimp_data_duplicate): set data->dirty to TRUE to make sure
	duplicated things will be saved.

	* app/core/gimpbrush.c
	* app/core/gimpbrushgenerated.c
	* app/core/gimpbrushpipe.c
	* app/core/gimpgradient.c
	* app/core/gimppalette.c
	* app/core/gimppattern.c: don't set the data's filename and don't
	touch data->dirty in the _load() functions because that's done by
	the data factory now. Don't touch data->dirty in the _duplicate()
	functions because that's done by gimp_data_duplicate() itself now.

	* app/core/gimpdatafactory.[ch] (gimp_data_factory_new): added
	"writable_property_name" and remember it.
	Added utility function gimp_data_factory_get_save_dir() which
	determines the directory to save new datas to.
	Added public function gimp_data_factory_data_save_single() which
	saves a single data object.
	Make sure new things get saved to the first writable directory
	as specified in preferences.

	* app/core/gimp.c (gimp_real_initialize): pass the writable_paths'
	property names to gimp_data_factory_new().

	* app/widgets/gimpdataeditor.c (gimp_data_editor_save_dirty): use
	gimp_data_factory_data_save_single() instead of implementing
	saving here.

	* app/widgets/gimppropwidgets.[ch] (gimp_prop_path_editor_new):
	added "const gchar *writable_property_name" parameter (can be
	NULL).

	Added the needed callbacks to handle the writable_path and made
	the path_editor and file_entry code aware of non UTF-8 filename
	encodings. Some general cleanup.

	* app/gui/preferences-dialog.c: changed accordingly.
2004-01-28 21:53:50 +00:00
Sven Neumann 6d506d51bb include "libgimpbase/gimpbase.h" where needed; removed now unnecessary
2004-01-19  Sven Neumann  <sven@gimp.org>

	* app/*/*.c: include "libgimpbase/gimpbase.h" where needed; removed
	now unnecessary inclusions of "file/file-utils.h".
2004-01-19 01:54:11 +00:00
Sven Neumann a70698c4d9 removed file_utils_filename_to_utf8() ...
2004-01-19  Sven Neumann  <sven@gimp.org>

	* app/file/file-utils.[ch]: removed file_utils_filename_to_utf8() ...

	* libgimpbase/gimputils.[ch]: ... and added it here as
	gimp_filename_to_utf8(). Added some docs that promise less than
	the current implementation holds so that we can change the
	implementation later.

	* app/*/*.c: use gimp_filename_to_utf8() where
	file_utils_filenames_to_utf8() has been used before.

	* libgimpbase/gimpbase.def: changed accordingly.

	* configure.in: reset GIMP_INTERFACE_AGE.
2004-01-19 01:08:43 +00:00
Tor Lillqvist 18485018b3 Add new function file_utils_filename_to_utf8(), which is to be used when
2004-01-14  Tor Lillqvist  <tml@iki.fi>

	* app/file/file-utils.[ch]: Add new function
	file_utils_filename_to_utf8(), which is to be used when converting
	file names (which are kept in the on-disk encoding) to UTF-8 for
	passing to GTK, or to g_print() etc.

	* app/*/*.c: Call file_utils_filename_to_utf8(). Should fix most
	of the warnings generated by non-UTF8 pathnames. See #130118.

	* libgimpbase/gimpenv.b: Document that gimp_directory() etc return
	strings in the on-disk encoding.

	* libgimpmodule/gimpmodule.c: Convert filenames to UTF-8 (using
	g_filename_to_utf8()) before passing to g_print().
2004-01-14 02:03:37 +00:00
Sven Neumann dab006d51d removed the unused GimpViewable parameter from
2003-11-17  Sven Neumann  <sven@gimp.org>

	* app/core/gimpviewable.[ch]: removed the unused GimpViewable
	parameter from gimp_viewable_calc_preview_size().

	* app/core/gimpbuffer.c
	* app/core/gimpimage-preview.c
	* app/core/gimpimagefile.c
	* app/core/gimpitem-preview.c
	* app/core/gimpundo.c
	* app/widgets/gimppreview.c
	* app/widgets/gimppreviewrendererdrawable.c
	* app/widgets/gimppreviewrendererimage.c: changed accordingly.

	* app/widgets/gimppreviewrenderer.[ch]: store the viewable_type in
	the preview renderer and use its default stock_id if no viewable
	is set.

	* app/core/gimpbrush.c
	* app/core/gimpbuffer.c
	* app/core/gimpgradient.c
	* app/core/gimppalette.c
	* app/core/gimppattern.c
	* app/core/gimpundo.c: set a default stock_id.
2003-11-17 13:34:38 +00:00
Sven Neumann fd30d5c976 app/config/gimpbaseconfig.h use gint64 for all memsize properties.
2003-11-16  Sven Neumann  <sven@gimp.org>

	* app/config/gimpbaseconfig.h
	* app/config/gimpcoreconfig.h: use gint64 for all memsize properties.

	* app/base/tile-manager.[ch] (tile_manager_get_memsize): since
	tiles can be swapped out, a tilemanager can be larger than gsize
	(on 32bit platforms). Use a gint64 to avoid an overflow.

	* app/core/gimp.c
	* app/core/gimpbrush.c
	* app/core/gimpbrushpipe.c
	* app/core/gimpbuffer.c
	* app/core/gimpchannel.c
	* app/core/gimpcontainer.c
	* app/core/gimpcontext.c
	* app/core/gimpdata.c
	* app/core/gimpdatafactory.c
	* app/core/gimpdrawable.c
	* app/core/gimpgradient.c
	* app/core/gimpimage-undo-push.c
	* app/core/gimpimage-undo.[ch]
	* app/core/gimpimage.c
	* app/core/gimpitem.c
	* app/core/gimpitemundo.[ch]
	* app/core/gimplayer.c
	* app/core/gimplist.c
	* app/core/gimpobject.[ch]
	* app/core/gimppalette.c
	* app/core/gimpparasitelist.c
	* app/core/gimppattern.c
	* app/core/gimpundo.[ch]
	* app/core/gimpundostack.c
	* app/core/gimpviewable.c
	* app/text/gimptext.c
	* app/text/gimptextlayer.c
	* app/vectors/gimpstroke.c
	* app/vectors/gimpvectors.c: use gint64 for gimp_object_get_memsize()
	and all its implementations.

	* app/display/gimpdisplayshell-title.c
	* app/gui/info-window.c: changed accordingly.
2003-11-16 17:51:36 +00:00
Michael Natterer 6eb772946b libgimpwidgets/gimpquerybox.c configure the labels in the message dialog
2003-11-14  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimpquerybox.c
	* app/widgets/gimpwidgets-utils.c: configure the labels in the
	message dialog and the query boxes to do automatic word wrapping
	to be HIG compliant.

	* app/app_procs.c
	* app/batch.c
	* app/config/gimpconfig-deserialize.c
	* app/config/gimpconfig-path.c
	* app/config/gimpconfig-utils.c
	* app/config/gimpconfigwriter.c
	* app/config/gimpscanner.c
	* app/core/gimpbrush.c
	* app/core/gimpbrushgenerated.c
	* app/core/gimpbrushpipe.c
	* app/core/gimpdatafactory.c
	* app/core/gimpgradient.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage.c
	* app/core/gimpimagefile.c
	* app/core/gimplayer-floating-sel.c
	* app/core/gimppalette.c
	* app/core/gimppattern.c
	* app/core/gimpselection.c
	* app/display/gimpdisplayshell.c
	* app/file/file-utils.c
	* app/gui/brush-select.c
	* app/gui/dialogs-commands.c
	* app/gui/drawable-commands.c
	* app/gui/edit-commands.c
	* app/gui/file-commands.c
	* app/gui/file-new-dialog.c
	* app/gui/font-select.c
	* app/gui/gradient-select.c
	* app/gui/gui.c
	* app/gui/image-commands.c
	* app/gui/layers-commands.c
	* app/gui/palette-select.c
	* app/gui/palettes-commands.c
	* app/gui/pattern-select.c
	* app/gui/preferences-dialog.c
	* app/gui/select-commands.c
	* app/gui/stroke-dialog.c
	* app/gui/tool-options-menu.c
	* app/gui/vectors-commands.c
	* app/gui/view-commands.c
	* app/plug-in/plug-in-message.c
	* app/plug-in/plug-in.c
	* app/plug-in/plug-ins.c
	* app/text/gimptextlayer-xcf.c
	* app/text/gimptextlayer.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimptransformtool.c
	* app/vectors/gimpvectors-export.c
	* app/widgets/gimpdatafactoryview.c
	* app/widgets/gimphelp.c
	* app/widgets/gimptemplateview.c
	* app/widgets/gimptooloptionseditor.c
	* app/xcf/xcf.c
	* tools/pdbgen/pdb/image.pdb: removed explicit newlines from
	messages. Reduced number of translatable strings by making many
	file error messages the same. Quote single words and filenames
	with 'foo', not "foo". Replaced some more "drawable" by "layer".
	General message cleanup and consistency check.

	* app/pdb/image_cmds.c: regenerated.
2003-11-14 15:33:40 +00:00
Manish Singh 12f91643ab plug a memleak
2003-11-01  Manish Singh  <yosh@gimp.org>

        * app/core/gimppalette.c (gimp_palette_load): plug a memleak
2003-11-01 20:33:27 +00:00
Michael Natterer e18793056f new function which takes any string and returns UTF-8 (it returns
2003-10-16  Michael Natterer  <mitch@gimp.org>

	* libgimpbase/gimputils.[ch]: new function which takes any string
	and returns UTF-8 (it returns "(invalid UTF-8 string)" if all
	conversion attempts fail).

	* app/core/gimpbrush.c
	* app/core/gimpgradient.c
	* app/core/gimppalette.c
	* app/core/gimppattern.c
	* app/xcf/xcf-read.c: use it. Fixes bug #79897.
2003-10-16 12:24:58 +00:00
Michael Natterer 24f3da165b changed GimpObject::get_memsize() to return a second value named
2003-08-25  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpobject.[ch]: changed GimpObject::get_memsize() to
	return a second value named "gui_size", where the primary return
	value is the "constant" actual size (as long as no operation is
	performed on the object), and the second "gui_size" return value
	is the size of temporary stuff like preview caches or boundary
	segments (which may change asynchronously, even if the object is
	on the undo stack).

	* app/core/gimp.c
	* app/core/gimpbrush.c
	* app/core/gimpbrushpipe.c
	* app/core/gimpbuffer.c
	* app/core/gimpchannel.c
	* app/core/gimpcontainer.c
	* app/core/gimpcontext.c
	* app/core/gimpdata.c
	* app/core/gimpdatafactory.c
	* app/core/gimpdrawable.c
	* app/core/gimpgradient.c
	* app/core/gimpimage-undo.c
	* app/core/gimpimage.c
	* app/core/gimpitem.c
	* app/core/gimplayer.c
	* app/core/gimplist.c
	* app/core/gimppalette.c
	* app/core/gimpparasitelist.c
	* app/core/gimppattern.c
	* app/core/gimpundo.c
	* app/core/gimpundostack.c
	* app/core/gimpviewable.c
	* app/text/gimptextlayer.c
	* app/vectors/gimpstroke.c
	* app/vectors/gimpvectors.c: changed get_memsize() implementations
	accordingly.

	* app/display/gimpdisplayshell-title.c
	* app/gui/debug-commands.c
	* app/widgets/gimppreview.c: changed callers accordingly.

	* app/core/gimpimage-undo-push.c: changed layer, channel, vectors
	and layer_mask undo steps to add/subtract the size of the
	resp. objects whenever they take/drop ownership of them. Ignore
	the objects' "gui_size" to get identical sizes on
	adding/subtracting. Fixes bug #120429.
2003-08-25 10:49:33 +00:00
Michael Natterer 99d93b9255 added vitrual function GimpViewable::get_description() which returns the
2003-04-08  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpviewable.[ch]: added vitrual function
	GimpViewable::get_description() which returns the string that
	should be presented to the user plus an optional tooltip with more
	information. The default implementation just returns the object's
	name and no tooltip.

	* app/core/gimpbrush.c
	* app/core/gimpbuffer.c
	* app/core/gimpimage.c
	* app/core/gimppalette.c
	* app/core/gimppattern.c
	* app/core/gimptoolinfo.c: implement get_description().

	* app/core/gimpimagefile.[ch]: ditto. Renamed
	gimp_imagefile_get_description() to
	gimp_imagefile_get_desc_string(). Well, um, gimme a better name...

	* app/gui/file-open-dialog.c: changed accordingly.

	* app/file/file-utils.[ch]: renamed readXVThumb() to
	file_utils_readXVThumb().

	* tools/pdbgen/pdb/fileops.pdb: changed accordingly.

	* app/widgets/widgets-types.h: removed GimpItemGetNameFunc typedef.

	* app/widgets/gimpcontainerview-utils.[ch]: removed the the actual
	get_name_funcs. They now live in the core as
	GimpViewable::get_description() implementations.

	* app/widgets/gimpcontainermenu.[ch]
	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimpcontainermenuimpl.c
	* app/widgets/gimpcontainertreeview.c
	* app/widgets/gimpcontainerview.[ch]
	* app/widgets/gimpmenuitem.[ch]
	* app/widgets/gimpviewabledialog.c: removed get_name_func stuff
	and use gimp_viewable_get_description().

	* app/widgets/gimpcontainermenu.[ch]: added "preview_border_width"
	to gimp_container_menu_set_preview_size().

	* app/widgets/gimpimagedock.c: changed accordingly.

	* app/pdb/fileops_cmds.c: regenerated.
2003-04-08 16:01:01 +00:00
Sven Neumann 28fddfd554 Makefile.am removed this header file.
2003-03-25  Sven Neumann  <sven@gimp.org>

	* Makefile.am
	* gimpintl.h: removed this header file.

	* gimpmiscui.c: include libgimp-intl.h.

	* gimp.c (gimp_main): call setlocale() and bind to the libgimp
	textdomain so that plug-ins don't need to do that explicitely.

	* libgimp/stdplugins-intl.h: added the functionality that used to
	live in gimpintl.h and removed the libgimp related stuff. Got rid
	of the INIT_I18N_UI() macro.

	* plug-ins/*/*.c: removed all occurances of INIT_I18N_UI().
	Plug-ins simply call INIT_I18N() once in their run() function.

	* plug-ins/script-fu/script-fu-intl.h: added the functionality
	that used to live in gimpintl.h and removed the libgimp related
	stuff.

	* app/Makefile.am
	* app/gimp-intl.h: new file that defines the gettext macros for
	the GIMP core.

	* app/*/*.c: include gimp-intl.h instead of libgimp/gimpintl.h.

	* plug-ins/script-fu/scripts/test-sphere.scm: fixed typos.
2003-03-25 16:38:19 +00:00
Michael Natterer a00a565c8c added GimpData::duplicate() implementation so read-only palettes can be
2003-03-10  Michael Natterer  <mitch@gimp.org>

	* app/core/gimppalette.[ch]: added GimpData::duplicate()
	implementation so read-only palettes can be edited again by
	duplicating them first.

	* app/gui/dialogs-constructors.c: pass the <Palettes>, not the
	<Gradients> menu identifier to the palette grid and tree view
	constructors (spotted by Tigert).
2003-03-10 17:35:42 +00:00
Michael Natterer 0614aa5329 added virtual function get_popup_size() which returns a boolean indicating
2003-02-27  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpviewable.[ch]: added virtual function
	get_popup_size() which returns a boolean indicating if a popup is
	needed and its size.

	* app/core/gimpbrush.c
	* app/core/gimpbrushpipe.c
	* app/core/gimpbuffer.c
	* app/core/gimpdrawable-preview.[ch]
	* app/core/gimpdrawable.c
	* app/core/gimpgradient.c
	* app/core/gimpimage.c
	* app/core/gimppalette.c
	* app/core/gimppattern.c
	* app/core/gimpundo.c: implement it.

	* app/widgets/gimppreview.[ch]: removed virtual functions
	needs_popup() and create_popup(). Removed the code which creates
	the popup and the popup members of the GimpPreview struct.

	* app/widgets/gimppreview-popup.[ch]: new files providing the
	utility function gimp_preview_popup_show() which can show popups
	from any widget, not just from a GimpPreview. Checks if a popup is
	needed using gimp_viewable_get_popup_size().

	* app/widgets/gimpcellrendererviewable.c: show popups here too.

	* app/widgets/gimpbrushpreview.c
	* app/widgets/gimpbufferpreview.c
	* app/widgets/gimpdrawablepreview.c
	* app/widgets/gimpimagepreview.c: removed needs_popup() and
	create_popup() implementations.

	* app/widgets/gimpnavigationpreview.c: removed empty render()
	implementation.

	* app/widgets/gimpundoeditor.c: use a tree instead of a list view.

	* app/widgets/gimpgradientpreview.[ch]
	* app/widgets/gimppalettepreview.[ch]
	* app/widgets/gimppatternpreview.[ch]: removed because they only
	implemented the removed popup functions.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpmenuitem.c
	* app/widgets/gimppreview-utils.c: changed accordingly
2003-02-27 13:59:41 +00:00
Michael Natterer 9ee632a656 Started migration from GtkList to GtkTreeView:
2003-02-21  Michael Natterer  <mitch@gimp.org>

	Started migration from GtkList to GtkTreeView:

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpcontainertreeview.[ch]; new GimpContainerView
	subclass using GtkListStore/GtkTreeView.

	* app/widgets/widgets-enums.h: added GIMP_VIEW_TYPE_TREE to
	thje GimpViewType enum.

	* app/widgets/gimpcontainereditor.c: added GimpContainerTreeView
	to the switch() which selects the view type.

	* app/gui/dialogs-commands.c
	* app/gui/dialogs-constructors.[ch]
	* app/gui/dialogs-menu.c
	* app/gui/dialogs.c: added tree view versions of many dialogs.

	* app/widgets/gimppreview.[ch]: removed the get_size() virtual
	function and gimp_preview_calc_size().

	* app/core/gimpviewable.[ch]: added virtual function
	get_preview_size() and gimp_viewable_calc_preview_size().

	* app/core/gimpbuffer.c
	* app/core/gimpdrawable-preview.[ch]
	* app/core/gimpdrawable.c
	* app/core/gimpgradient.c
	* app/core/gimpimage.c
	* app/core/gimppalette.c: added get_preview_size() implementations.

	* app/widgets/gimpbufferpreview.c
	* app/widgets/gimpdrawablepreview.c
	* app/widgets/gimpgradientpreview.c
	* app/widgets/gimpimagepreview.c
	* app/widgets/gimppalettepreview.c
	* app/widgets/gimpselectioneditor.c
	* app/widgets/gimpundopreview.c
	* app/display/gimpnavigationview.c: changed accordingly, removed
	get_size() implementations.

	* app/widgets/widgets-types.h: changed the first param of
	GimpItemGetNameFunc from GtkWidget to GObject.

	* app/widgets/gimpcontainerview-utils.c: accept a GimpViewable as
	object in the built-in get_name funcs.

	* app/widgets/gimpcomponentlistitem.c
	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimplistitem.c
	* app/widgets/gimpmenuitem.c: changed accordingly.
2003-02-21 19:03:19 +00:00
Manish Singh 1a44f2126c cleanup, removed unecessary G_OBJECT() casts. Should do the same for
2003-01-05  Manish Singh  <yosh@gimp.org>

        * many files in app, modules and libgimp*: cleanup, removed unecessary
        G_OBJECT() casts. Should do the same for plug-ins, when more of them
        get undeprecated.
2003-01-05 22:07:10 +00:00
Michael Natterer 4ccd0f0ae3 use GError for reporting load/save errors. Added gimp_data_error_quark()
2002-12-02  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdata.[ch]: use GError for reporting load/save
	errors. Added gimp_data_error_quark() and a GimpDataError enum.
	Made simple virtual functions out of save(), get_extension()
	and duplicate() because they don't need to be signals.

	* app/core/gimpbrush.[ch]
	* app/core/gimpbrushgenerated.[ch]
	* app/core/gimpbrushpipe.[ch]
	* app/core/gimpgradient.[ch]
	* app/core/gimppalette.[ch]
	* app/core/gimppattern.[ch]: changed accordingly. Set data->dirty
	to FALSE in each _load() function.

	* app/core/gimpdatafactory.[ch]: report GError messages here.
	Changed the ugly factory->path pointer location hack to
	factory->path_property_name and get the path from
	factory->gimp->config. Added gimp_data_factory_data_duplicate()
	implementation which was already declared in the header.

	* app/core/gimp.c: pass the path property name to
	gimp_data_factory_new().

	* app/widgets/gimpdatafactoryview.c: removed the duplicate
	implementation and call gimp_data_factory_data_duplicate().

	* app/core/gimpgradient.[ch]: added gimp_gradient_save_as_pov().

	* app/gui/gradients-commands.c: removed save_as_pov implementation
	and call gimp_gradient_save_as_pov().
2002-12-02 13:39:09 +00:00
Michael Natterer 5c86e63983 removed the global "base_config" variable.
2002-11-30  Michael Natterer  <mitch@gimp.org>

	* app/base/base-types.h: removed the global "base_config" variable.

	* app/base/base.[ch]: added "gboolean use_mmx" to base_init().
	Don't #include "appenv.h". Pass around more parameters to reduce
	the usage of the global "paint_options" pointer.

	* app/app_procs.c: pass "use_mmx" to base_init().

	* app/base/temp-buf.c: pass "temp_path" around internally. Declare
	"base_config" extern and added a #warning.

	* app/core/gimpdata.[ch]
	* app/core/gimpbrush.[ch]
	* app/core/gimpbrushgenerated.[ch]
	* app/core/gimpbrushpipe.[ch]
	* app/core/gimpgradient.[ch]
	* app/core/gimppalette.[ch]
	* app/core/gimppattern.[ch]: added "gboolean stingy_memory_use"
	parameters to all _new(), _load() and _duplicate() functions.

	* app/core/gimpmarshal.list: GimpData::duplicate needs an
	OBJECT__BOOLEAN marshaller now.

	* app/core/gimpdatafactory.[ch]: added a "Gimp" pointer so the
	factory can find the config. Pass base_config->stingy_memory_use
	to the GimpData functions changed above.

	* app/core/gimp-gradients.c
	* app/core/gimp.c
	* app/core/gimppalette-import.c
	* app/gui/palettes-commands.c
	* app/widgets/gimpdatafactoryview.c: changed accordingly.

	* app/core/gimpcontext.c: get "stingy_memory_use" from
	context->gimp->config.
2002-11-30 16:31:39 +00:00
Michael Natterer 0c586b3044 adjust the cell_size of the preview dynamically (makes them look nicer).
2002-10-09  Michael Natterer  <mitch@gimp.org>

	* app/core/gimppalette.c (gimp_palette_get_new_preview): adjust
	the cell_size of the preview dynamically (makes them look nicer).

	* app/core/gimppalette-import.c: require n_colors to be at least
	2, not 1. Cleanup.

	* app/gui/palette-import-dialog.c: completely chopped and
	re-assembled source and GUI. Please have a look and comment...
2002-10-09 14:04:25 +00:00
Michael Natterer 5437f54a81 changed gimp_channel_get_color() to not return the color but take a second
2002-03-08  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpchannel.[ch]: changed gimp_channel_get_color() to
	not return the color but take a second GimpRGB* parameter like all
	other _get_color() functions. Reordered some functions to make
	more sense, added some g_return_if_fail().

	* app/core/gimppalette.[ch]: added gimp_palette_[set|get]_n_columns()

	* app/gui/menus.c: added a "<PaletteEditor>" item factory.

	* app/gui/Makefile.am
	* app/gui/palette-editor-commands.[ch]: callbacks for the factory.

	* app/widgets/gimppaletteeditor.[ch]: removed the menu stuff here,
	added a spinbutton to adjust the number of columns.

	* app/gui/gradient-editor-commands.c: removed usage of "the_gimp".

	* app/widgets/gimpgradienteditor.c: minor cleanup.

	* app/widgets/gimpbrusheditor.h
	* app/widgets/gimpgradienteditor.h
	* app/widgets/gimppaletteeditor.h: forgot to declare the _get_type()
	functions publically.
2002-03-08 16:34:42 +00:00
Sven Neumann 5940d5795f app/core/gimpbrushpipe.c message fixes.
2002-03-06  Sven Neumann  <sven@gimp.org>

	* app/core/gimpbrushpipe.c
	* app/core/gimppalette.c: message fixes.
2002-03-06 20:12:10 +00:00
Michael Natterer ce643d2722 Use gdouble in a [0.0..1.0] range for opacity values in the whole core's
2002-03-03  Michael Natterer  <mitch@gimp.org>

	Use gdouble in a [0.0..1.0] range for opacity values in the whole
	core's API. Convert them using (opacity * 255.999) when passing
	them to base/ and paint-funcs/

	Affected functions:

	* app/core/gimpchannel.[ch]: gimp_channel_[set|get]_opacity()
	* app/core/gimpimage.[ch]: gimp_image_[apply|replace]_image()
	* app/paint/gimppaintcore.[ch]: gimp_paint_core_[paste|replace]_canvas()

	* app/core/core-types.h: added defines GIMP_OPACITY_TRANSPARENT
	and GIMP_OPACITY_OPAQUE, just like the ones from
	paint-funcs/paint-funcs-types.h

	* app/gimprc.c
	* app/image_map.c
	* app/core/gimpcontext.c
	* app/core/gimpdrawable-blend.c
	* app/core/gimpdrawable-bucket-fill.c
	* app/core/gimpdrawable.c
	* app/core/gimpedit.c
	* app/core/gimplayer.c
	* app/core/gimplayer-floating-sel.c
	* app/core/gimppalette.c
	* app/paint/gimpairbrush.c
	* app/paint/gimpclone.c
	* app/paint/gimpconvolve.c
	* app/paint/gimpdodgeburn.c
	* app/paint/gimperaser.c
	* app/paint/gimppaintbrush.c
	* app/paint/gimpsmudge.c
	* app/tools/gimpinktool.c
	* app/widgets/gimpcolorpanel.c
	* app/widgets/gimplayerlistitem.c
	* app/widgets/gimppreview.c
	* app/xcf/xcf-load.c: changed accordingly, use the new constants.
2002-03-03 17:38:12 +00:00
Michael Natterer c1f00274b4 app/core/gimp.c app/core/gimpdocuments.c app/core/gimpmodules.c fixed some
2002-01-31  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp.c
	* app/core/gimpdocuments.c
	* app/core/gimpmodules.c
	* app/core/gimppalette.c: fixed some get_memsize()
	implementations, give useful names to some global objects so the
	new mem profile of "the_gimp" looks nicer.

	* app/gui/menus.c
	* app/gui/commands.[ch]: added a "Debug" menu to the toolbox,
	offer a mem profile of the global "Gimp" instance.
2002-01-31 18:02:38 +00:00
Michael Natterer be87dfb5fb pass a GdkGC to gdk_draw_rgb_image(), fixed dither offsets.
2002-01-30  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimpcolorarea.c: pass a GdkGC to
	gdk_draw_rgb_image(), fixed dither offsets.

	* app/core/gimpobject.[ch]: new virtual function
	gimp_object_get_memsize().

	* app/base/temp-buf.[ch]
	* app/base/tile-manager.[ch]: added *_get_memsize() methods.

	* app/core/gimp.c
	* app/core/gimpbrush.c
	* app/core/gimpbrushpipe.c
	* app/core/gimpbuffer.c
	* app/core/gimpchannel.c
	* app/core/gimpcontainer.c
	* app/core/gimpcontext.c
	* app/core/gimpdata.c
	* app/core/gimpdatafactory.c
	* app/core/gimpdrawable.c
	* app/core/gimpgradient.c
	* app/core/gimpimage.c
	* app/core/gimplayer.c
	* app/core/gimplist.c
	* app/core/gimpmoduleinfo.c
	* app/core/gimppalette.c
	* app/core/gimpparasitelist.c
	* app/core/gimppattern.c
	* app/core/gimppreviewcache.[ch]
	* app/core/gimpundo.[ch]
	* app/core/gimpundostack.c
	* app/core/gimpviewable.c: added get_memsize() implementations.

	* app/widgets/gimppreview.c
	* app/core/gimpobject.[ch]: some #ifdef DEBUG_MEMSIZE code to
	test the new memsize stuff (middle click any preview to get
	it's viewable's memory footprint).
2002-01-30 16:14:26 +00:00
David Neary 82f6bb6b0f Included errno,h
2001-11-20  David Neary <dneary@eircom.net>

        * app/core/gimppalette.c: Included errno,h
2001-11-20 21:24:33 +00:00
Rebecca Walter 57c23b69e0 app/core/gimpedit.c app/core/gimpimagefile.c app/core/gimpmoduleinfo.c
2001-11-20  Rebecca Walter <rjp@mail.tele.dk>

	* app/core/gimpedit.c
	* app/core/gimpimagefile.c
	* app/core/gimpmoduleinfo.c
	* app/core/gimpmodules.c
	* app/core/gimppalette.c
	* app/core/gimppattern.c: More of the extensive proofing. Fun fun fun!
2001-11-20 15:07:45 +00:00
Sven Neumann 083c7c9116 app/plug_in.c app/core/gimpbrush.c app/core/gimpbrushpipe.c
2001-09-03  Sven Neumann  <sven@gimp.org>

	* app/plug_in.c
	* app/core/gimpbrush.c
	* app/core/gimpbrushpipe.c
	* app/core/gimpgradient.c
	* app/core/gimppalette.c
	* app/core/gimppattern.c: check strings from data files and plug-in
	registration for UTF-8 validity. There are probably a lot more places
	that need these checks.

	* plug-ins/common/gqbist.c: converted PDB texts to UTF-8.
2001-09-03 00:26:06 +00:00
Michael Natterer 98410c35a9 added -DG_DISABLE_DEPRECATED and -DGDK_DISABLE_COMPAT_H.
2001-08-29  Michael Natterer  <mitch@gimp.org>

	* configure.in: added -DG_DISABLE_DEPRECATED and
	-DGDK_DISABLE_COMPAT_H.

	* app/batch.c
	* app/file-utils.c
	* app/gdisplay.c
	* app/gdisplay_ops.c
	* app/gimprc.[ch]
	* app/module_db.c
	* app/nav_window.c
	* app/undo_history.c
	* app/core/gimpgradient.c
	* app/core/gimpimagefile.c
	* app/core/gimppalette.c
	* app/gui/color-notebook.c
	* app/gui/convert-dialog.c
	* app/gui/error-console-dialog.c
	* app/gui/file-commands.c
	* app/gui/file-open-dialog.c
	* app/gui/file-save-dialog.c
	* app/gui/gradient-editor.c
	* app/gui/info-window.c
	* app/gui/menus.c
	* app/gui/palette-import-dialog.c
	* app/tools/gimpbycolorselecttool.c
	* app/widgets/gimpcontainerview-utils.c
	* app/widgets/gimpdatafactoryview.c
	* libgimp/gimpmenu.c
	* plug-ins/common/bz2.c
	* plug-ins/common/compose.c
	* plug-ins/common/csource.c
	* plug-ins/common/decompose.c
	* plug-ins/common/gz.c
	* plug-ins/common/uniteditor.c
	* plug-ins/common/wmf.c
	* plug-ins/common/xbm.c
	* plug-ins/rcm/rcm_dialog.c
	* plug-ins/script-fu/interp_slib.c
	* plug-ins/script-fu/script-fu-console.c
	* plug-ins/script-fu/script-fu-scripts.c
	* tools/pdbgen/pdb/fileops.pdb
	* tools/pdbgen/pdb/gimprc.pdb
	* app/pdb/fileops_cmds.c
	* app/pdb/gimprc_cmds.c: removed deprecated stuff like
	g_basename(), g_dirname(), g_strup() and friends. Added some
	"const gchar *" declarations while I was on it. Added some
	G_N_ELEMENTS() macros instead of declaring a useless variable
	for the number of items.

	* app/widgets/gtkhwrapbox.[ch]
	* app/widgets/gtkvwrapbox.[ch]
	* app/widgets/gtkwrapbox.[ch]: replaced with the latest versions
	from GLE, ported by the master himself.

	* app/gui/toolbox.c: changed accordingly.

	* app/plug_in.c
	* libgimp/gimp.c
	* libgimpbase/gimpwire.[ch]: use evil hacks to get binary mode
	from the new GIOChannel implementation (upstream bugreport already
	posted).
2001-08-29 17:48:28 +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 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 2353c5d3e7 fix compiler warning.
2001-08-10  Michael Natterer  <mitch@convergence.de>

	* app/nav_window.c: fix compiler warning.

	* app/core/gimp.[ch]: added gimp->documents which will be an MRU
	list of GimpImagefile objects.

	* app/core/gimpcontainer.c: added some g_return_if_fail().

	* app/gui/palette-editor.c: use GtkImage instead of GtkPixmap,
	s/gtk_signal_*/g_signal_*/.

	* app/widgets/gimppreview.c: render the checkerboard only for
	channel == -1. In particular, don't render it for channel
	previews.

	* app/module_db.c
	* app/core/*.c
	* app/gui/colormap-dialog.c
	* app/tools/gimpairbrushtool.c
	* app/tools/gimpdodgeburntool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimperasertool.c
	* app/tools/gimppaintbrushtool.c
	* app/tools/gimppenciltool.c
	* app/tools/gimpsmudgetool.c
	* app/tools/tool_manager.c
	* app/widgets/*.c
	* libgimpwidgets/*.c: s/gtk_type_new/g_object_new/
2001-08-10 14:41:39 +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 dd4b03ec29 app/app_procs.c app/datafiles.c app/devices.c app/docindex.c
2001-05-21  Michael Natterer  <mitch@gimp.org>

	* app/app_procs.c
	* app/datafiles.c
	* app/devices.c
	* app/docindex.c
	* app/gdisplay_color.c
	* app/gdisplay_color_ui.c
	* app/gimphelp.c
	* app/main.c
	* app/module_db.c
	* app/plug_in.c
	* app/resize.c
	* app/resolution_calibrate.c
	* app/undo_history.c
	* app/user_install.c
	* app/core/gimpbrushpipe.c
	* app/core/gimpdata.c
	* app/core/gimpgradient.c
	* app/core/gimppalette.c
	* app/gui/about-dialog.c
	* app/gui/file-new-dialog.c
	* app/gui/gradient-editor.c
	* app/gui/layers-commands.c
	* app/gui/menus.c
	* app/gui/palette-editor.c
	* app/gui/session.c
	* app/gui/splash.c
	* app/gui/tips-dialog.c
	* app/pdb/image_cmds.c
	* app/pdb/text_tool_cmds.c
	* app/tools/curves.c
	* app/tools/gimptexttool.c
	* app/tools/levels.c
	* app/widgets/gimpdnd.c
	* app/widgets/gimppreview.c
	* libgimp/gimpcolordisplay.h
	* libgimpbase/gimpbase.h
	* libgimpwidgets/gimpcolorarea.c
	* libgimpwidgets/libgimp-glue.c
	* plug-ins/common/gih.c
	* plug-ins/common/psp.c
	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/text_tool.pdb: last checkin didn't get all
	#include "libgimp/i_dont_exist_any_more.h". This one should make
	it compile again without old crap hanging around in <prefix>/include.
2001-05-21 20:30:16 +00:00
Michael Natterer d240f623f1 new directory app/base/
2001-05-15  Michael Natterer  <mitch@gimp.org>

	* configure.in: new directory app/base/

	* app/Makefile.am
	* app/boundary.[ch]
	* app/brush_scale.[ch]
	* app/gimpchecks.h
	* app/gimplut.[ch]
	* app/pixel_processor.[ch]
	* app/pixel_region.[ch]
	* app/pixel_surround.[ch]
	* app/temp_buf.[ch]
	* app/tile.[ch]
	* app/tile_cache.[ch]
	* app/tile_manager.[ch]
	* app/tile_manager_pvt.h
	* app/tile_pvt.h
	* app/tile_swap.[ch]: moved to base/

	* app/base/Makefile.am
	* app/base/base-types.h
	* app/base/*: new directory for the sub-object pixel maniplation
	and storage stuff. Does not include Gtk+ or anything outside
	base/. Did some cleanup in all files.

	* app/appenums.h
	* app/apptypes.h
	* app/core/gimpimage.h: removed types which are now in
	base/base-types.h.

	* app/base/base-config.[ch]
	* app/gimprc.[ch]: put the config variables for base/ to their own
	file so base/ doesn not have to include gimprc.h (does not yet
	work, i.e. the variables are un-configurable right now)

	* app/main.c: set a log handler for "Gimp-Base".

	* app/paint-funcs/Makefile.am
	* app/paint-funcs/paint-funcs.[ch]: removed the color hash which
	maps RGB to color indices because it's a totally standalone system
	which has nothing to do with the paint-funcs and introduced a
	GimpImage dependency.

	paint-funcs/ should be considered on the same sub-object
	(glib-only) level as base/, only in a different directory.

	* app/core/Makefile.am
	* app/core/gimpimage-colorhash.[ch]: put the color hash here.

	* app/gimage.c: don't invalidate the color hash here...

	* app/core/gimpimage.c: ... but in the colormap_changed() default
	inplementation. Initialize the hash in class_init().

	* tools/pdbgen/Makefile.am: scan app/base/base-types.h for enums.

	* tools/pdbgen/enums.pl: regenerated.

	* app/[lots]
	* app/core/[of]
	* app/gui/[files]
	* app/pdb/[all]
	* app/tools/[over]
	* app/widgets/[the]
	* tools/pdbgen/pdb/[place]: changed #includes accordingly. And use
	base_config->value instead of the stuff from gimprc.h.
2001-05-15 11:25:25 +00:00
Michael Natterer d1022c34b6 app/Makefile.am removed.
2001-05-10  Michael Natterer  <mitch@gimp.org>

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

	* app/core/Makefile.am
	* app/core/core-types.h
	* app/tools/Makefile.am
	* app/tools/tools-types.h: new files.

	* app/tools/gimptoolinfo.[ch]: removed.
	* app/core/gimptoolinfo.[ch]: added here.

	* libgimp/Makefile.am
	* libgimp/gimp.h
	* libgimp/gimpadaptivesupersample.[ch]
	* libgimp/gimpbilinear.[ch]: removed here...

	* libgimpcolor/Makefile.am
	* libgimpcolor/gimpcolortypes.h
	* libgimpcolor/gimpadaptivesupersample.[ch]
	* libgimpcolor/gimpbilinear.[ch]: ..and added here.

	* tools/pdbgen/app.pl
	* tools/pdbgen/pdb/paths.pdb

	* app/*.c: changed tons of #include's
2001-05-09 22:34:59 +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 a80dd4d071 added DND source functions which work by GtkType.
2001-02-18  Michael Natterer  <mitch@gimp.org>

	* app/gimpdnd.[ch]: added DND source functions which work by
	GtkType.

	* app/commands.c
	* app/brush_select.c
	* app/gradient_select.[ch]
	* app/pattern_select.c: removed the DND code here because it's all
	done by the GimpContainerView now.

	* app/gimpbrushpreview.c
	* app/gimpgradientpreview.c
	* app/gimppalettepreview.c
	* app/gimppatternpreview.c: use the DND by-type connect functions.

	* app/gimpbrushgenerated.c: implemented "duplicate", cleanup.

	* app/gimpcontainergridview.c
	* app/gimpcontainerlistview.c
	* app/gimpcontainerview.[ch]: added a "activate_item" signal
	method which is emitted by the subclasses to indicate double click.

	* app/gimpdatafactoryview.c: connect to "activate_item" and show
	the editor.

	* app/convert.c
	* app/gimppalette.[ch]
	* app/palette.c
	* app/paletteP.h
	* app/palette_import.c
	* app/palette_select.[ch]: major cleanup: Behaves like the other
	datatypes now: DND, context stuff, GimpContainerListViews in
	the dialogs etc. Mostly just removal of code.

	* app/gradient_editor.c: fixed signal blocking/unblocking.

	* plug-ins/script-fu/scripts/Makefile.am: install the "Test Sphere"
	script again.
2001-02-18 19:44:28 +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
Michael Natterer b5d8536f3f gimprc.in user_install user_install.bat app/gimprc.[ch] removed the
2001-02-13  Michael Natterer  <mitch@gimp.org>

	* gimprc.in
	* user_install
	* user_install.bat
	* app/gimprc.[ch]
	* app/preferences_dialog.c: removed the "brush_vbr_path" variable,
	because all data types will be editable and saveable soon.

	* app/Makefile.am
	* app/apptypes.h
	* app/gimpdatafactory.[ch]: new object which holds a data list and
	knows how to create, edit, duplicate etc. the items in it. Will
	completely replace the brushes.[ch], patterns.[ch], ... files soon.

	* po/POTFILES.in
	* app/gimpdatacontainerview.[ch]: removed.
	* app/gimpdatafactoryview.[ch]: added.

	A view on the GimpDataFactory with a GUI for creating, editing,
	deleting etc. items (mostly unimplemented).

	* app/context_manager.[ch]: replaced the global data lists by global
	data factories.

	* app/brush_select.c
	* app/brushes.[ch]
	* app/commands.c
	* app/convert.c
	* app/devices.c
	* app/gimpbrush.[ch]
	* app/gimpbrushgenerated.c
	* app/gimpcontext.c
	* app/gimpdata.[ch]
	* app/gimpdatalist.[ch]
	* app/gimpdnd.c
	* app/gimpgradient.[ch]
	* app/gimppalette.[ch]
	* app/gimppattern.[ch]
	* app/gradient_editor.c
	* app/gradient_select.c
	* app/gradients.[ch]
	* app/indicator_area.c
	* app/palette.c
	* app/palette_import.c
	* app/palette_select.c
	* app/palettes.[ch]
	* app/pattern_select.c
	* app/patterns.[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-13 19:53:07 +00:00
Michael Natterer 267894970d app/brush_select.[ch] removed almost all code by using the
2001-02-12  Michael Natterer  <mitch@gimp.org>

	* app/brush_select.[ch]
	* app/pattern_select.[ch]: removed almost all code by using
	the GimpContainerGridView.

	* app/brushes.c
	* app/patterns.c: brush|pattern_select_freeze|thaw_all() don't
	exist any more.

	* app/devices.c: made it work again.

	* app/gimpgradientpreview.c: the gradient popup is 128 x 32 again.

	* app/plug_in.c: follow the brush and pattern dialog function
	renaming.

	* app/gimppalette.[ch]
	* app/gimppalettepreview.c: added a "Columns" attribute and show
	the popups accordingly.

	The palette file format has changed again. It now can have an
	optional "Columns: <n>" line after the palette's name.

	* data/palettes/Bgold.gpl
	* data/palettes/Borders.gpl
	* data/palettes/Cascade.gpl
	* data/palettes/China.gpl
	* data/palettes/Coldfire.gpl
	* data/palettes/Dark_pastels.gpl
	* data/palettes/Ega.gpl
	* data/palettes/Gold.gpl
	* data/palettes/Grayblue.gpl
	* data/palettes/Hilite.gpl
	* data/palettes/Kahki.gpl
	* data/palettes/Named_Colors.gpl
	* data/palettes/News3.gpl
	* data/palettes/Op2.gpl
	* data/palettes/Plasma.gpl
	* data/palettes/Visibone.gpl
	* data/palettes/Visibone_2.gpl
	* data/palettes/Web.gpl: added the "Columns" parameter where it
	makes sense and remove those ugly black colors which were hanging
	around as first color of may palettes.
2001-02-12 18:05:12 +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 e803beddd4 Makefile.am configure.in added stuff for the new library below.
2001-01-23  Michael Natterer  <mitch@gimp.org>

	* Makefile.am
	* configure.in
	* gimptool.in: added stuff for the new library below.

	* libgimpcolor/.cvsignore
	* libgimpcolor/Makefile.am
	* libgimpcolor/gimpcolor.h
	* libgimpcolor/gimpcolorspace.c
	* libgimpcolor/gimpcolorspace.h
	* libgimpcolor/gimpcolortypes.h
	* libgimpcolor/gimphsv.c
	* libgimpcolor/gimphsv.h
	* libgimpcolor/gimprgb.c
	* libgimpcolor/gimprgb.h: new shared library which both the app
	and plug-ins link against. The library depends only on glib.

	* libgimpcolor/gimpcolor.def
	* libgimpcolor/makefile.mingw.in
	* libgimpcolor/makefile.msc: added Win32 build files which
	definitely don't work.

	* libgimp/Makefile.am
	* libgimp/gimpcolor.[ch]
	* libgimp/gimpcolorspace.[ch]: removed.

	* libgimp/gimp.h
	* libgimp/gimpadaptivesupersample.c
	* libgimp/gimpbilinear.c
	* libgimp/gimppalette.c
	* libgimp/gimptypes.h: include the stuff from libgimpcolor.

	Plug-Ins don't need to include <libgimpcolor/gimpcolor.h>
	explicitely. LibGimp depends on libgimpcolor and thus also includes
	it's headers.

	* libgimp/gimp.def
	* libgimp/makefile.mingw.in: fiddled around with Win32 stuff...

	* app/Makefile.am: link against libgimpcolor.la

	* app/apptypes.h: include "libgimpcolor/gimpcolortypes.h"

	* app/asupsample.c
	* app/channels_dialog.c
	* app/colormap_dialog.c
	* app/commands.c
	* app/convert.c
	* app/devices.c
	* app/disp_callbacks.c
	* app/drawable.c
	* app/gimpcontext.c
	* app/gimpdnd.c
	* app/gimpimage.c
	* app/gimppalette.c
	* app/gimprc.c
	* app/gradient.c
	* app/libgimp_glue.c
	* app/palette.c
	* app/palette_import.c
	* app/qmask.c
	* app/xcf.c
	* app/tools/paint_core.c
	* app/tools/paintbrush.c
	* app/tools/pencil.c: include "libgimpcolor/gimpcolor.h" before all
	gimp includes because it's a standalone library.

	* plug-ins/FractalExplorer/Makefile.am
	* plug-ins/Lighting/Makefile.am
	* plug-ins/MapObject/Makefile.am
	* plug-ins/bmp/Makefile.am
	* plug-ins/common/Makefile.am
	* plug-ins/common/mkgen.pl
	* plug-ins/dbbrowser/Makefile.am
	* plug-ins/faxg3/Makefile.am
	* plug-ins/fits/Makefile.am
	* plug-ins/flame/Makefile.am
	* plug-ins/fp/Makefile.am
	* plug-ins/gap/Makefile.am
	* plug-ins/gdyntext/Makefile.am
	* plug-ins/gfig/Makefile.am
	* plug-ins/gflare/Makefile.am
	* plug-ins/gfli/Makefile.am
	* plug-ins/gimpressionist/Makefile.am
	* plug-ins/helpbrowser/Makefile.am
	* plug-ins/ifscompose/Makefile.am
	* plug-ins/imagemap/Makefile.am
	* plug-ins/maze/Makefile.am
	* plug-ins/mosaic/Makefile.am
	* plug-ins/pagecurl/Makefile.am
	* plug-ins/print/Makefile.am
	* plug-ins/rcm/Makefile.am
	* plug-ins/script-fu/Makefile.am
	* plug-ins/sel2path/Makefile.am
	* plug-ins/sgi/Makefile.am
	* plug-ins/webbrowser/Makefile.am
	* plug-ins/xjt/Makefile.am: add libgimpcolor.la to LDADD.

	* INSTALL: don't recommend to --disable-shared for development.

	* TODO.xml: increased some percentages, added plug-in help stuff.
2001-01-23 18:49:44 +00:00
Michael Natterer 776b3a6136 removed. new object derived from GimpObject. Just used as a container at
2001-01-21  Michael Natterer  <mitch@gimp.org>

	* app/palette_entries.h: removed.
	* app/gimppalette.[ch]: new object derived from GimpObject. Just
	used as a container at the moment (no signals or stuff used).

	* app/palette.[ch]: changed almost every line except in the
	import_dialog part.

	* app/Makefile.am
	* app/apptypes.h
	* app/convert.[ch]
	* app/gimpdnd.h
	* app/paletteP.h
	* app/palette_select.[ch]
	* app/convert_cmds.c
	* tools/pdbgen/pdb/convert.pdb: changed accordingly.

	* app/gimpdrawable.c: set klass->removed to NULL.
2001-01-21 19:53:56 +00:00