Commit Graph

46 Commits

Author SHA1 Message Date
Michael Natterer 256701f68d added BOOLEAN: OBJECT, POINTER.
2003-05-18  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpmarshal.list: added BOOLEAN: OBJECT, POINTER.

	* app/widgets/gimpcontainerview.[ch]: added a boolean return
	value to GimpContainerView::select_item() which indicates if
	the select operation was successful.

	* app/widgets/gimpchanneltreeview.c
	* app/widgets/gimpcontainereditor.c
	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimpcontainertreeview.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimpvectorstreeview.c: changed accordingly.

	* app/widgets/gimpdrawabletreeview.c: ditto. Removed the
	tree_view's select_function because it was only constraining the
	widget, not the underlying select operation. Instead, implement
	GimpContainerView::select_item() and disallow anything but the
	floating selection to be selected. Also re-enabled the
	"floating_selection_changed" callback and explicitely set the
	active item so the button states get updated. Fixes bug #112487.
2003-05-18 13:28:27 +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
Michael Natterer f20e559bbf app/widgets/gimpbrushfactoryview.[ch] app/widgets/gimpbufferview.[ch]
2003-04-08  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpbrushfactoryview.[ch]
	* app/widgets/gimpbufferview.[ch]
	* app/widgets/gimpcontainereditor.[ch]
	* app/widgets/gimpcontainergridview.[ch]
	* app/widgets/gimpcontainertreeview.[ch]
	* app/widgets/gimpcontainerview.[ch]
	* app/widgets/gimpdatafactoryview.[ch]
	* app/widgets/gimpdocumentview.[ch]
	* app/widgets/gimpimageview.[ch]
	* app/widgets/gimpitemtreeview.[ch]
	* app/widgets/gimptemplateview.[ch]: removed "min_item_x" and
	"min_item_y" parameters all over the place. Added
	"preview_border_width" instead.

	* app/widgets/gimpmenuitem.c: ensure that all menu items have the
	same height.

	* app/widgets/gimpcontainerpopup.c
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimpundoeditor.c
	* app/gui/brush-select.c
	* app/gui/dialogs-commands.c
	* app/gui/dialogs-constructors.c
	* app/gui/font-select.c
	* app/gui/gradient-select.c
	* app/gui/palette-select.c
	* app/gui/pattern-select.c: changed accordingly.

	* app/gui/dialogs-constructors.c: removed the borders from the tool
	and template lists.
2003-04-08 12:39:02 +00:00
Michael Natterer ff0ce48cdc removed tree_view->preview_border_width.
2003-04-04  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontainertreeview.[ch]: removed
	tree_view->preview_border_width.

	* app/widgets/gimpcontainermenu.[ch]
	* app/widgets/gimpcontainerview.[ch]: and added it here so it is
	configurable in all views. Synced the changes in both classes.

	* app/widgets/gimpcontainermenuimpl.[ch]
	* app/widgets/gimpmenuitem.[ch]: made preview_border_size
	configurable here, too.

	* app/widgets/gimplayertreeview.c
	* app/widgets/gimpimagedock.c
	* app/gui/palette-import-dialog.c: changed accordingly.

	* app/gui/file-new-dialog.c: Removed the border from the template
	menu previews.
2003-04-04 21:16:58 +00:00
Michael Natterer fdb7265a7c #define GIMP_VIEWABLE_MAX_PREVIEW_SIZE here.
2003-04-01  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpviewable.h: #define GIMP_VIEWABLE_MAX_PREVIEW_SIZE
	here.

	* app/widgets/gimppreview.h
	* app/widgets/gimppreviewrenderer.h: removed the #defines here.

	* app/core/gimpviewable.c (gimp_preview_get[_popup]_size): check
	the return values to be within bounds.

	* app/text/gimpfont.c
	* app/display/gimpdisplayshell-render.c: use the new constant
	instead of the magic "1024".

	* app/core/gimpdrawable-preview.c: #include our own header file.

	* app/widgets/gimpbrushfactoryview.c
	* app/widgets/gimpcomponenteditor.c
	* app/widgets/gimpcontainereditor.c
	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimpcontainermenu.c
	* app/widgets/gimpcontainermenuimpl.c
	* app/widgets/gimpcontainertreeview.c
	* app/widgets/gimpcontainerview.c
	* app/widgets/gimpdatafactoryview.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimppreview.c
	* app/widgets/gimppreviewrenderer.c: changed accordingly.
2003-04-01 13:53:47 +00:00
Michael Natterer bda4188ab1 added gimp_container_view_construct(). The new function calls
2003-03-26  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontainerview.[ch]: added
	gimp_container_view_construct(). The new function calls
	gimp_container_view_set_preview_size() instead of simply assigning
	view->preview_size (Fixes wrongly-sized toggle cells spotted by
	Jimmac).

	* app/widgets/gimpcontainereditor.c
	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimpcontainertreeview.c
	* app/widgets/gimpitemtreeview.c: call when creating a view.

	* app/widgets/gimpchanneltreeview.c: check view->component_editor
	for being non-NULL before accessing it.
2003-03-26 17:49:42 +00:00
Michael Natterer af37e71b80 added the scrolled_win to the GimpContainerView struct. Create it in
2003-03-26  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontainerview.[ch]: added the scrolled_win
	to the GimpContainerView struct. Create it in init().
	Added gimp_container_view_set_size_request() which adds the
	scrolled_window's scrollbar and frames sizes correctly.

	* app/widgets/gimpcontainergridview.[ch]
	* app/widgets/gimpcontainertreeview.[ch]: removed scrolled windows
	here and use the one from the parent_instance. Use the new utility
	function.

	* app/widgets/gimpcontainertreeview.c: enable searching in the
	name column. Grab the focus in button_press.

	* app/widgets/gimpcontainerpopup.[ch]: added a button_box containing
	zoom in/out, view as list/grid and a button to show the permanently
	open dialog. Added more parameters to gimp_container_popup_new().

	* app/tools/gimpblendoptions.c
	* app/tools/gimpbucketfilloptions.c
	* app/tools/gimptextoptions.c
	* app/tools/paint_options.c: changed accordingly.
2003-03-26 14:56:10 +00:00
Michael Natterer d1c99beeb4 allow to create a GimpContainerEditor without a popup menu.
2003-03-22  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontainereditor.c: allow to create a
	GimpContainerEditor without a popup menu.

	* app/widgets/gimpcellrendererviewable.c: free the event we
	got from gdk_get_current_event().

	* app/widgets/gimpcontainerview.c: check view->hash_table for
	being non-NULL before using it. Be prepared to be destroyed by as
	a result of calling gimp_context_set_foo(view->context, foo).

	* app/widgets/gimpcontainertreeview.[ch]: added
	tree_view->editable_cells and handle *all* mouse clicks in
	gimp_container_tree_view_button_press() (by returning TRUE). Start
	editing on double-click only. Use gtk_tree_view_set_cursor()
	instead of gtk_tree_selection_select_path() to avoid
	selected/focus confusion when the focus enters the widget. Be
	prepeared to be destroyed as a result of item selection.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpcontainerpopup.[ch]: new GtkWindow derived
	widget which pops up a selection of any GimpContainer/GimpContext
	combo.

	* app/widgets/gimpdatafactoryview.c
	* app/widgets/gimpitemtreeview.c: add the name cell to
	tree_view->editable_cells so it becomes editable.

	* app/tools/gimpblendoptions.c
	* app/tools/paint_options.c: use the new container popup for
	selecting brushes and gradients.
2003-03-22 16:26:11 +00:00
Michael Natterer 205cdf1353 Added GtkTreeView versions of layers/channels/vectors:
2003-03-16  Michael Natterer  <mitch@gimp.org>

	Added GtkTreeView versions of layers/channels/vectors:

	* app/core/core-enums.[ch]: renamed GIMP_UNDO_GROUP_LAYER_PROPERTIES
	to GIMP_UNDO_GROUP_ITEM_PROPERTIES.

	* app/core/gimpcontainer.c (gimp_container_reorder): don't try
	to reorder containers with num_children == 1.

	* app/core/gimpmarshal.list: added VOID: STRING, UINT marshaller.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpchanneltreeview.[ch]
	* app/widgets/gimpdrawabletreeview.[ch]
	* app/widgets/gimpitemtreeview.[ch]
	* app/widgets/gimplayertreeview.[ch]
	* app/widgets/gimpvectorstreeview.[ch]: new widgets.

	* app/widgets/gimpcellrenderertoggle.c: draw the frame only if the
	cell is prelit.

	* app/widgets/gimpcellrendererviewable.[ch]: added "clicked"
	signal, unref the renderer in finalize(). Set the renderer's
	border color to black if the cell is not selected (a hack that
	saves tons of code in GimpLayerTreeView).

	* app/widgets/gimpcomponenteditor.c: no need to gtk_list_store_set()
	stuff we just got from the store.

	* app/widgets/gimpcontainertreeview.[ch]: added lots of state used
	by the new subclasses to the GimpContainerTreeView struct.  Create
	the GtkListStore/GtkTreeView in GObject::constructor() and only
	collect parameters in init() so subclasses can modify store/view
	creation. Do most of the button_press_event stuff manually and
	return TRUE from the handler.

	* app/widgets/gimpcontainerview.c: cleanup.

	* app/widgets/gimpitemlistview.h
	* app/widgets/gimpvectorslistview.h: temp hacks before they die.

	* app/widgets/gimppreviewrenderer.[ch]: added
	gimp_preview_renderer_update_idle() which idle-emits "update"
	without invalidating.

	* app/gui/dialogs-constructors.[ch]
	* app/gui/dialogs.c: added constructors for the new dialogs.

	* app/gui/channels-commands.c
	* app/gui/channels-menu.c
	* app/gui/layers-commands.c
	* app/gui/layers-menu.c
	* app/gui/vectors-commands.c
	* app/gui/vectors-menu.c: accept tree views as callback data.
2003-03-16 11:14:29 +00:00
Michael Natterer 3c33140fc1 themes/Default/images/stock-delete-16.png
2003-03-06  Michael Natterer  <mitch@gimp.org>

	* themes/Default/images/stock-delete-16.png
	* themes/Default/images/stock-lower-16.png
	* themes/Default/images/stock-new-16.png
	* themes/Default/images/stock-paste-16.png
	* themes/Default/images/stock-raise-16.png
	* themes/Default/images/stock-refresh-16.png: removed these files
	since we use the icons provided by GTK+ now.

	* themes/Default/gtkrc
	* themes/Default/images/Makefile.am: removed them here hoo.

	* libgimpwidgets/gimpstock.[ch]: reordered stuff to be consistent
	in the header and the .c file. Added GIMP_STOCK_ERROR and
	GIMP_STOCK_QUESTION which are available in all sizes (unlike
	GTK_STOCK_DIALOG_ERROR and GTK_STOCK_DIALOG_QUESTION).

	* app/core/gimpviewable.c
	* app/display/gimpdisplayshell.c
	* app/gui/file-commands.c
	* app/gui/file-new-dialog.c
	* app/gui/file-save-dialog.c
	* app/widgets/gimpwidgets-utils.c
	* app/widgets/gimpdatafactoryview.c: use the new stock IDs.

	* app/config/gimpcoreconfig.[ch]: renamed "preview_size" to
	"layer_preview_size" and added "gboolean layer_previews" which
	switches layer previews on/off independent of their size.

	* app/config/gimprc-blurbs.h: added/changed their blurbs.

	* app/core/core-enums.[ch]: removed GIMP_PREVIEW_SIZE_NONE.

	* app/core/gimpdrawable-preview.c
	* app/core/gimpdrawable.c
	* app/core/gimpimage.c: return NULL previews if
	core_config->layer_previews is FALSE. Invalidate all layer/channel
	previews whenever "layer_previews" changes.

	* app/widgets/gimppreviewrendererdrawable.c
	* app/widgets/gimppreviewrendererimage.c: render the stock_id
	if the drawable/image returns a NULL preview. Fixes bug #107242.

	* app/display/gimpdisplayshell-handlers.c: don't set the
	sensitivity of the navigation button because it can no longer be
	disabled.

	* app/display/gimpdisplayshell-layer-select.c
	* app/gui/dialogs-constructors.c
	* app/gui/dialogs.c
	* app/gui/paths-dialog.c: changed accordingly.

	* app/gui/preferences-dialog.c: added a toggle button for the new
	"layer_previews" boolean.

	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimpcontainerlistview.c: chain up unconditionally
	in GimpContainerView::clear_items().

	* app/widgets/gimpcontainertreeview.c: ditto. Made the reorder()
	implementation lengthy and eeky (but working) again... Stop signal
	emission on double clicks so GtkTreeView doesn't re-select the
	item we are about change.

	* app/widgets/gimpcontainerview.c
	(gimp_container_view_real_clear_items): need to use
	g_hash_table_new_full() here too or everything will b0rk.

	* app/widgets/gimppreviewrenderer.c
	(gimp_preview_renderer_default_render_stock): use
	gtk_widget_render_icon() instead of gtk_icon_set_render_icon().

	* tools/pdbgen/enums.pl: this file wanted to be regenerated...
2003-03-06 16:47:34 +00:00
Michael Natterer 305db405b2 added "gchar *stock_id" to the GimpViewable struct. It is used by the GUI
2003-02-26  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpviewable.[ch]: added "gchar *stock_id" to the
	GimpViewable struct. It is used by the GUI if the get_preview()
	functions return NULL. Default to GTK_STOCK_DIALOG_QUESTION.

	* app/core/gimptoolinfo.[ch]: set the tool's stock_id. Removed
	the cached GdkPixbuf. Don't implement any preview function
	so the GUI uses the stock_id.

	* app/tools/tool_manager.c: removed GdkPixbuf creation, removed
	the #warning about the buggy way we created the pixbuf.

	* app/gui/dialogs-constructors.c
	* app/gui/image-menu.c
	* app/tools/gimpcroptool.c
	* app/tools/gimphistogramtool.c
	* app/tools/gimpimagemaptool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimptransformtool.c
	* app/widgets/gimptoolbox.c: use viewable->stock_id instead
	of tool_info->stock_id.

	* app/core/gimpbrush.c
	* app/core/gimpgradient.c
	* app/core/gimpimagefile.c
	* app/core/gimpundo.c: simplified get_preview() implementations:

	- never scale previews up, only down.
	- don't render white or checks backgrounds but simply return
	  TempBufs with alpha and let the preview system do its job.
	- don't add padding but simply return previews smaller than
	  requested.

	* app/display/gimpdisplayshell-render.[ch]: added
	"render_blend_white", a 2d lookup table for blending on white,
	just as the check lookup tables. Added "render_white_buf".

	* app/widgets/gimppreview.[ch]: changed a lot:

	- don't render the preview's border into the buffer.
	- added "GdkGC *border_gc" and draw the preview's border in expose()
	  using gdk_draw_rectangle().
	- added "GdkPixbuf *no_preview_pixbuf" and create it in
	  gimp_preview_real_render() if gimp_viewable_get_preview()
	  returned NULL.
	- factored the actual preview rendering out to
	  gimp_preview_render_to_buffer(). Added configurable background
	  rendering for the preview itself and it's padding area
	  (the area the preview is larger than the buffer returned
	  by gimp_viewable_get_preview()).
	- changed gimp_preview_render_and_flush() to
	  gimp_preview_render_preview() and added "inside_bg" and
	  "outside_bg" parameters.
	- use the new render buffers for blending on white.

	* app/widgets/gimpbrushpreview.c
	* app/widgets/gimpbufferpreview.c
	* app/widgets/gimpdrawablepreview.c
	* app/widgets/gimpgradientpreview.c
	* app/widgets/gimpimagepreview.c
	* app/widgets/gimppalettepreview.c
	* app/widgets/gimppatternpreview.c: don't create large white
	TempBufs to center the previews in but simply set the TempBuf's
	offsets to get them centered. Simplified & cleaned up many preview
	render functions. Pass the correct GimpPreviewBG modes to
	gimp_preview_render_preview().

	* app/widgets/gimpcellrendererviewable.[ch]: new GtkCellRenderer
	class derived from GtkCellRendererPixbuf which knows how
	to use gimp_viewable_get_preview_size() and renders the
	viewable's stock item if no preview can be created.

	* app/widgets/gimpcontainertreeview.c: added a GtkTreeCellDataFunc
	which creates the preview pixbuf if needed so we don't create it
	unconditionally upon item insertion. Fixed preview size assertion
	to use GIMP_PREVIEW_MAX_SIZE, not "64". Block "selection_changed"
	while reordering the selected item.

	* app/widgets/gimpcontainerview.c: cosmetic.

	* app/widgets/gimpimagefilepreview.[ch]
	* app/widgets/gimptoolinfopreview.[ch]
	* app/widgets/gimpundopreview.[ch]: removed because the default
	implementation is good enough.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimppreview-utils.c: changed accordingly.

	* app/gui/dialogs-constructors.[ch]
	* app/gui/dialogs-menu.c
	* app/gui/dialogs.c
	* app/gui/image-menu.c
	* app/gui/toolbox-menu.c: register grid and tree view variants
	of the document history.

	Unrelated:

	* app/gui/gui.c (gui_exit_finish_callback): disconnect from
	signals earlier.

	* app/gui/user-install-dialog.c: create the "tool-options" subdir
	of the user's ~/.gimp-1.3 directory.
2003-02-26 16:17:10 +00:00
Michael Natterer 4da735e6b3 remove the insert_data from the hash table *after* calling the virtual
2003-02-25  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontainerview.c (gimp_container_view_remove):
	remove the insert_data from the hash table *after* calling the
	virtual remove_item() functions because GimpContainerTreeView's
	GtkTreeIters are freed by the hash table when removing them.
2003-02-25 03:19:55 +00:00
Michael Natterer 0806aad654 added "GDestroyNotify insert_data_free" to the GimpContainerViewClass
2003-02-24  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontainerview.[ch]: added "GDestroyNotify
	insert_data_free" to the GimpContainerViewClass struct. Pass it as
	"value_destroy_func" to g_hash_table_new_full().

	* app/widgets/gimpcontainertreeview.[ch]: set g_free() as
	insert_data_free, so we don't leak the GtkTreeIters used as
	insert_data. Added DND stuff (you can drag any item without
	selecting it using mouse button 2). Cleanup.

	* app/widgets/gimpcontainereditor.c: cosmetic.
2003-02-24 20:31:14 +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
Sven Neumann 78b4a1df9d app/widgets/gimpbrushfactoryview.c app/widgets/gimpcontainereditor.c
2003-01-04  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpbrushfactoryview.c
	* app/widgets/gimpcontainereditor.c
	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimpcontainerlistview.c
	* app/widgets/gimpcontainermenuimpl.c
	* app/widgets/gimpcontainerview.c
	* app/widgets/gimpdatafactoryview.c
	* app/widgets/gimpitemlistview.c: check preview sizes to be
	smaller than GIMP_PREVIEW_MAX_SIZE instead of using a hardcoded
	and much too small value of 64.

	* app/widgets/gimpdialogfactory.c: check that the preview size is
	in range of the GimpPreviewSize enum when parsing the sessionrc.
2003-01-04 18:47:55 +00:00
Michael Natterer 7b99dbac51 app/widgets/gimpcontainermenu.c ref/unref menu->context and view->context
2002-10-09  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontainermenu.c
	* app/widgets/gimpcontainerview.c: ref/unref menu->context and
	view->context in gimp_container_[menu|view]_real_set_context() so
	it can't be finalized under our feet.
2002-10-09 11:49:01 +00:00
Michael Natterer c5d4b7020b DND cleanup part 1:
2002-09-02  Michael Natterer  <mitch@gimp.org>

	DND cleanup part 1:

	* app/widgets/gimpdnd.[ch]: changed all gimp_dnd_*_dest_set() and
	_unset() functions to _dest_add() and _dest_remove(). Switch from
	using static arrays of GtkTargetEntries to dynamic GtkTargetLists.
	The _add() and _remove() functions configure the drag dest
	automatically if not already done, so there is no need to call
	gtk_drag_dest_set() on the widget any more. Drag source cleanup
	will follow...

	Renamed silly function names gimp_gtk_* to gimp_dnd_*

	* app/display/gimpdisplayshell.c
	* app/tools/gimpblendtool.c
	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpcontainerview.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimplistitem.c
	* app/widgets/gimpmenuitem.c
	* app/widgets/gimppreview.c
	* app/widgets/gimppaletteeditor.c
	* app/widgets/gimpselectioneditor.c
	* app/widgets/gimptoolbox-color-area.c
	* app/widgets/gimptoolbox-indicator-area.c
	* app/widgets/gimptoolbox.c
	* app/gui/about-dialog.c
	* app/gui/color-select.c
	* app/gui/device-status-dialog.c
	* app/gui/tool-options-dialog.c: changed accordingly. Removed
	all calls to gtk_drag_dest_set() and their GtkTargetEntry tables.

	* app/widgets/gimpchannellistitem.c: enabled some commented out
	dnd code (which will not work since dnd needs more love...)

	* app/widgets/gimpitemlistview.[ch]: added a third
	"gboolean interactive" parameter to GimpItemNewFunc.

	* app/gui/channels-commands.[ch]
	* app/gui/layers-commands.[ch]
	* app/gui/vectors-commands.[ch]: if the new_item_func is called
	with "interactive == FALSE", don't pop up a dialog but silently
	create a new item of the image's size.

	* app/widgets/gimpdrawablelistview.c: use the new feature to allow
	color and pattern drops to the "New" button, which creates a new
	layer/channel filled with the color/pattern.
	(special feature for drc ;-)

	* app/widgets/gimppaletteeditor.c: fixed event handling so we see
	the context menu again. Also, don't redraw on "expose", since
	GtkPreview does that for us.
2002-09-02 14:39:08 +00:00
Michael Natterer b0e05cda4a added GimpPaletteEntry typedef.
2002-03-08  Michael Natterer  <mitch@gimp.org>

	* app/core/core-types.h: added GimpPaletteEntry typedef.

	* app/core/gimppalette.h: removed it here.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpeditor.[ch]: new widget which is the base class
	for everything which is a vbox and has a button area at the
	bottom.

	* app/widgets/gimpcontainerview.[ch]: derived from GimpEditor now.

	* app/widgets/gimpdataeditor.[ch]: a GimpEditor subclass which is
	the base class for the new data editors below.

	* app/widgets/gimpbrushfactoryview.c
	* app/widgets/gimpbufferview.c
	* app/widgets/gimpchannellistview.c
	* app/widgets/gimpdatafactoryview.c
	* app/widgets/gimpdocumentview.c
	* app/widgets/gimpitemlistview.c
	* app/widgets/gimplayerlistview.c
	* app/widgets/gimpvectorslistview.c
	* themes/Default/gtkrc: chagec accordingly.

	* app/gui/Makefile.am
	* app/gui/brush-editor.[ch]
	* app/gui/gradient-editor.[ch]
	* app/gui/palette-editor.[ch]: removed...

	* app/widgets/gimpbrusheditor.[ch]
	* app/widgets/gimpgradienteditor.[ch]
	* app/widgets/gimppaletteeditor.[ch]: ...and added back as
	GimpDataEditor subclasses. Lots of cleanup and stuff...

	* app/gui/dialogs-constructors.[ch]
	* app/gui/dialogs.c
	* app/gui/gradient-editor-commands.c
	* app/gui/gui-types.h
	* app/gui/palette-select.c
	* app/tools/gimpcolorpickertool.c: changed accordingly.
2002-03-08 00:27:45 +00:00
Michael Natterer 54c1b2d1a3 added Rebecca Walter (bex).
2001-11-26  Michael Natterer  <mitch@gimp.org>

	* tools/authorsgen/contributors: added Rebecca Walter (bex).

	* AUTHORS
	* app/gui/authors.h: regenerated.

	* app/widgets/widgets-types.h: added GimpPreviewSize enum.

	* app/gimprc.c
	* app/gui/menus.c
	* app/gui/preferences-dialog.c
	* app/widgets/gimpdockbook.c: use the new enum.

	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpconvolvetool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpdodgeburntool.c
	* app/tools/gimperasertool.c
	* app/tools/gimpfliptool.c
	* app/tools/gimpmagnifytool.c: added "(<Ctrl>)" and "(<Alt>)" to
	some tool options strings.

	* app/tools/gimpmovetool.c: some more widgets for hidden tool
	options (#51108).

	* app/tools/transform_options.c: renamed to "Tool Paradigm" stuff
	to something more understandable.

	* app/widgets/gimpdock.c: added a style property for the height
	of the separator.

	* themes/Default/gtkrc: show how to use the new property.

	* app/widgets/gimpcontainerview.c
	* app/widgets/gimpdockable.c
	* app/widgets/gimplayerlistview.c: waste less lines when calling
	gtk_widget_style_get().
2001-11-26 13:17:18 +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 6670bca26b added a handler for GimpImage's "alpha_changed" signal (does nothing yet).
2001-10-17  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpchannellistview.c: added a handler for GimpImage's
	"alpha_changed" signal (does nothing yet).

	* app/widgets/[lots of files]: somehow my last perl torturing
	removed my email address from the copyright notice. Another perl
	hack brought it back now :)
2001-10-17 16:11:28 +00:00
Michael Natterer 18dd072836 app/gimpprogress.[ch] s/GDisplay/GimpDisplay/
2001-10-16  Michael Natterer  <mitch@gimp.org>

	* app/gimpprogress.[ch]
	* app/undo.c: s/GDisplay/GimpDisplay/

	* app/plug_in.[ch]: removed unused boolean "destroy" field of
	the PlugIn struct.

	* app/core/gimpedit.c: don't include "app_procs.h"

	* app/display/gimpdisplay-callbacks.c: moved the "grab_abd_scroll"
	stuff from gimpdisplay-scroll.* here (less complicated and easier
	to cleanup...)

	* app/display/gimpdisplay-scroll.[ch]: removed here.

	* app/display/gimpdisplay-render.[ch]
	* app/display/gimpdisplay-selection.[ch]
	* app/display/gimpdisplayshell.c: s/GDisplay/GimpDisplay/g

	* app/display/gimpdisplay.[ch]: ditto, removed gdisplay_active()
	which was just a wrapper around
	"gimp_context_get_display (gimp_get_user_context (the_gimp))"
	(which is more to type but makes the use of the global
	"the_gimp" variable more obvious).

	* app/gui/color-area.h
	* app/gui/edit-commands.c
	* app/gui/file-commands.c
	* app/gui/file-dialog-utils.c
	* app/gui/image-commands.c
	* app/gui/info-window.h
	* app/gui/paths-dialog.h
	* app/gui/select-commands.c
	* app/gui/tool-options-dialog.c
	* app/gui/tools-commands.c
	* app/gui/view-commands.c: s/GDisplay/GimpDisplay/, gdisplay_active()
	removal, include "app_procs.h" for "the_gimp".

	* app/tools/gimpbezierselecttool.h
	* app/tools/gimpbrightnesscontrasttool.[ch]
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpcolorbalancetool.[ch]
	* app/tools/gimpcurvestool.[ch]
	* app/tools/gimpeditselectiontool.h
	* app/tools/gimphistogramtool.[ch]
	* app/tools/gimphuesaturationtool.[ch]
	* app/tools/gimplevelstool.[ch]
	* app/tools/gimpmovetool.h
	* app/tools/gimpperspectivetool.h
	* app/tools/gimpposterizetool.[ch]
	* app/tools/gimprotatetool.h
	* app/tools/gimpscaletool.h
	* app/tools/gimpsheartool.h
	* app/tools/gimptexttool.h
	* app/tools/gimpthresholdtool.[ch]
	* app/tools/gimptool.[ch]
	* app/tools/gimptransformtool.h
	* app/tools/tool_manager.[ch]: lots of s/GDisplay/GimpDisplay/, made
	all *_dialog_hide() functions private, cleanup.

	* app/widgets/*: removed GtkType and gtk_type_* stuff entirely and
	use GObject functions, removed lots of empty "destroy" methods and
	use more type checking class cast macros instead of casting
	directly.

	* app/widgets/gimpcontainermenu.c: fixed item insert order.

	* app/widgets/gimphistogramview.[ch]: cleaned up and renamed all
	functions.

	* app/widgets/gimpwidgets-utils.[ch]: removed gimp_dialog_hide() as
	Gtk+ does the right thing (TM) now.

	* tools/pdbgen/pdb/color.pdb: implemented "histogram" without
	digging into tools/ and widgets/ (needs to be done for all
	color PDB functions).

	* tools/pdbgen/pdb/gimprc.pdb: no need to use "the_gimp" in a PDB
	function as a "Gimp" pointer is passed to them all.

	* tools/pdbgen/pdb/image.pdb: don't include "app_procs.h"

	* app/pdb/color_cmds.c
	* app/pdb/gimprc_cmds.c
	* app/pdb/image_cmds.c: regenerated.

	* app/pdb/procedural_db.c: don't include "app_procs.h"
2001-10-17 11:33:43 +00:00
Michael Natterer 7de0a2cbdd removed a gdk_pointer_ungrab(), it was only there because of buggy gtk+
2001-08-07  Michael Natterer  <mitch@gimp.org>

	* app/disp_callbacks.c: removed a gdk_pointer_ungrab(), it was
	only there because of buggy gtk+ 1.2.x. Cosmetic changes.

	* app/undo.c: use G_N_ELEMENTS() instead of
	sizeof(array)/sizeof(element).

	* app/gui/menus.c: more stock icons, moved the item_factory
	creation into the menus_get_foo_factory() functions, use
	G_N_ELEMENTS(). This file badly needs to be spit up...

	* app/core/gimpviewable.[ch]
	* app/widgets/gimpcontainermenu.[ch]
	* app/widgets/gimpcontainerview.[ch]
	* app/widgets/gimplistitem.[ch]
	* app/widgets/gimpmenuitem.[ch]
	* app/widgets/gimppreview.[ch]: replaced tons of signal emissions
	by virtual functions which are *much* faster. Moreover, all of
	them are private implementation bits of the specific class
	hierarchy and are useless or even dangerous to be exposed as
	signals.

	* app/widgets/gimpdrawablelistitem.c: removed the drag_motion()
	implementation as it's already done in the parent class.

	* app/widgets/gimplistitem.[ch]
	* app/widgets/gimplayerlistitem.c: redraw the widget when the
	drop_type has changed. Fixes drop_indicator drawing.
2001-08-07 12:42:23 +00:00
Michael Natterer 1c9069c4ca cleanup.
2001-08-07  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimpbutton.[ch]: cleanup.

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

	* app/gui/Makefile.am
	* app/gui/error-console-dialog.[ch]: ...added here. Lots of cleanup,
	create a vbox instead of a dialog.

	* app/gui/dialogs-constructors.c
	* app/gui/dialogs.c: added a dockable for the error console.

	* app/errors.c
	* app/gui/gui.c
	* app/gui/menus.c: changed accordingly.

	* app/widgets/gimpcontainerview.c: conntect "extended_clicked" to
	the "extended_clicked" callback, not "clicked".

	* app/widgets/gimplayerlistview.c: set the layer option box'
	spacing in "style_set".

	* app/widgets/gimplistitem.c: argh.

	* themes/Default/gtkrc: changed the default theme to set a smaller
	font only for the dockable because that's where saving screen
	estate really makes sense. May need some further tweaking.
2001-08-07 00:06:06 +00:00
Michael Natterer d128e9895b register the button icons with GTK_ICON_SIZE_BUTTON, but set them as
2001-08-05  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimpstock.[ch]: register the button icons with
	GTK_ICON_SIZE_BUTTON, but set them as scalable fallbacks for
	themselves so they get scaled for menus.

	* app/gui/menus.c: set stock icons for much more menu entries.

	* app/widgets/gimpwidgets-utils.[ch]: new utility function
	gimp_item_factory_popup_with_data().

	* app/disp_callbacks.[ch]
	* app/gui/brushes-commands.c
	* app/gui/channels-commands.c
	* app/gui/gradients-commands.c
	* app/gui/layers-commands.c
	* app/gui/palettes-commands.c
	* app/gui/paths-dialog.c
	* app/gui/patterns-commands.c: use the new function.

	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpposterizetool.c: s/_("Reset")/GIMP_STOCK_RESET/

	* app/widgets/gimpcontainereditor.[ch]
	* app/widgets/gimpcontainerview.[ch]: moved the button_box utility
	functions from the container editor to GimpContainerView itself.

	* app/widgets/gimpbufferview.c
	* app/widgets/gimpchannellistview.c
	* app/widgets/gimpcomponentlistitem.c
	* app/widgets/gimpcontainergridview.[ch]
	* app/widgets/gimpdatafactoryview.c
	* app/widgets/gimpdrawablelistitem.c
	* app/widgets/gimpdrawablelistview.[ch]
	* app/widgets/gimplayerlistitem.c
	* app/widgets/gimplayerlistview.c: changed accordingly. Removed
	lots of duplicated code and use stock images instead of pixmaps.

	* libgimpwidgets/gimpfileselection.[ch]
	* libgimpwidgets/gimppatheditor.c: use stock images instead of
	pixmaps.

	* pixmaps/Makefile.am: removed "yes" and "no", added "stroke".

	* pixmaps/anchor.xpm
	* pixmaps/delete.xpm
	* pixmaps/lower.xpm
	* pixmaps/new.xpm
	* pixmaps/paste-as-new.xpm
	* pixmaps/paste-into.xpm
	* pixmaps/paste.xpm
	* pixmaps/raise.xpm
	* pixmaps/refresh.xpm
	* pixmaps/toselection.xpm: made them all 16x16 so they are scaled
	nicely in menus. Should probably be 18x18.
2001-08-04 20:38:54 +00:00
Michael Natterer a824143b20 set style properties for dockables.
2001-08-03  Michael Natterer  <mitch@gimp.org>

	* gtkrc: set style properties for dockables.

	* app/main.c: some #if 0'ed code for mem profiling.

	* app/gui/commands.[ch]
	* app/gui/menus.c: added a mem profiling menu entry + callback.

	* app/gui/palette-editor.c: added a #warning as reminder, use
	gtk_dialog_set_has_separator().

	* app/widgets/gimpcontainereditor.[ch]
	* app/widgets/gimpcontainerview.[ch]
	* app/widgets/gimpdockable.[ch]
	* app/widgets/gimpdrawablelistview.[ch]: added some style
	properties to set GimpDockable and friends' borders and spacings.

	* libgimpwidgets/gimppixmap.[ch]
	* libgimpwidgets/gimpsizeentry.[ch]
	* libgimpwidgets/gimpunitmenu.[ch]: GObject stuff, cleanup.

	* app/docindex.c
	* app/errorconsole.c
	* app/gdisplay_color_ui.c
	* app/gimpprogress.c
	* app/module_db.c
	* app/undo_history.c
	* app/user_install.c
	* app/gui/channels-commands.c
	* app/gui/gradient-editor.c
	* app/gui/info-window.c
	* app/gui/tips-dialog.c
	* app/tools/gimpbrightnesscontrasttool.c
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimphistogramtool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimpposterizetool.c
	* app/tools/gimpthresholdtool.c
	* app/widgets/gimpdatafactoryview.c
	* libgimp/gimpexport.c
	* modules/cdisplay_gamma.c
	* modules/cdisplay_highcontrast.c
	* plug-ins/[lots of files]:

	Some perl mass processing applying s/_("Foo")/GTK_STOCK_FOO/g,
	minor manual cleanup in some files.
2001-08-03 19:43: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 1a5a50d956 some percentage updates.
2001-05-13  Michael Natterer  <mitch@gimp.org>

	* TODO.xml: some percentage updates.

	* autogen.sh: correctly parse latest autoconf's broken "--version"
	string.

	* app/widgets/Makefile.am
	* app/widgets/gimpcontainerview-utils.[ch]: new files which
	provide a set of built-in get_name_func()s for GimpContainerView
	and GimpContainerMenu.

	* app/widgets/gimpcontainermenu.c
	* app/widgets/gimpcontainerview.c: use them.

	* app/widgets/gimpimagedock.c
	* app/gui/dialogs-constructors.c: removed the get_name_func()s here.
2001-05-13 12:16:55 +00:00
Michael Natterer 8985b107c3 configure.in added new directory app/core/ for the core object system.
2001-05-09  Michael Natterer  <mitch@gimp.org>

	* configure.in
	* app/Makefile.am: added new directory app/core/ for the core
	object system.

	* app/gimage_mask.[ch]
	* app/gimpbrush-header.h
	* app/gimpbrush.[ch]
	* app/gimpbrushgenerated.[ch]
	* app/gimpbrushpipe.[ch]
	* app/gimpchannel.[ch]
	* app/gimpcontainer.[ch]
	* app/gimpcontext.[ch]
	* app/gimpdata.[ch]
	* app/gimpdatafactory.[ch]
	* app/gimpdatalist.h
	* app/gimpdrawable-desaturate.[ch]
	* app/gimpdrawable-equalize.[ch]
	* app/gimpdrawable-invert.[ch]
	* app/gimpdrawable-offset.[ch]
	* app/gimpdrawable-preview.[ch]
	* app/gimpdrawable.[ch]
	* app/gimpgradient.[ch]
	* app/gimpimage-convert.[ch]
	* app/gimpimage-duplicate.[ch]
	* app/gimpimage-undo.[ch]
	* app/gimpimage.[ch]
	* app/gimplayer.[ch]
	* app/gimplayermask.[ch]
	* app/gimplist.[ch]
	* app/gimpmarshal.[ch]
	* app/gimpobject.[ch]
	* app/gimppalette-import.[ch]
	* app/gimppalette.[ch]
	* app/gimppattern-header.h
	* app/gimppattern.[ch]
	* app/gimpundo.[ch]
	* app/gimpundostack.[ch]
	* app/gimpviewable.[ch]: removed these files...

	* app/core/*: ...and added them here.

	* app/*.c
	* app/gui/*.c
	* app/pdb/*.c
	* app/tools/*.c
	* app/widgets/*.c
	* plug-ins/common/gbr.c
	* plug-ins/common/gih.c
	* plug-ins/common/pat.c
	* po/POTFILES.in
	* tools/pdbgen/Makefile.am
	* tools/pdbgen/enums.pl
	* tools/pdbgen/pdb.pl
	* tools/pdbgen/pdb/*.pdb: changed accordingly.
2001-05-09 02:32:03 +00:00
Michael Natterer a229702dfe added ChannelType. removed ChannelType. regenerated.
2001-05-08  Michael Natterer  <mitch@gimp.org>

	* app/appenums.h: added ChannelType.
	* app/gimpimage.h: removed ChannelType.
	* tools/pdbgen/enums.pl: regenerated.

	* app/apptypes.h: don't include libgimpwidgets/gimpwidgetstypes.h
	and widgets/widgets-types.h any more.

	* app/devices.c
	* app/gimpdnd.c
	* app/gimprc.c
	* app/lc_dialog.c
	* app/gui/[many].c: include widgets/widgets-types.h

	* app/tools/histogram_tool.h: include widgets/widgets-types.h here
	because of an ugly dependency from pdb/color_cmds.c

	* app/tools/tool_options_dialog.c

	* app/widgets/widgets-types.h: include
	libgimpwidgets/gimpwidgetstypes.h and apptypes.h so files in
	widgets/ only have to include this file.

	* app/widgets/*.c: include widgets-types.h instead of apptypes.h

	* app/gimpdrawable-preview.c
	* app/gui/gradient-editor.c: removed useless #includes.
2001-05-08 03:48:54 +00:00
Michael Natterer 950e35d577 renamed the "resize" signal to "size_changed".
2001-05-06  Michael Natterer  <mitch@gimp.org>

	* app/gimpimage.[ch]: renamed the "resize" signal to "size_changed".

	* app/gimage.c: changed accordingly.

	* app/undo.c: renamed the "shrink_wrap" to "size_changed", call
	gimp_image_size_changed() and let the handlers do the work.

	* app/widgets/gimplistitem.[ch]: added a virtual set_preview_size()
	method and a default implementation.

	* app/widgets/gimplayerlistitem.c: added an inplementation of
	set_preview_size() which set's the size of the mask preview.

	* app/widgets/gimpchannellistview.c: implement set_preview_size()
	and set the size of the component previews.

	* app/widgets/gimpcontainerlistview.c: call
	gimp_list_item_set_preview_size() instead of resizing the preview
	manually.

	* app/widgets/gimpcontainerview.c: emit "set_preview_size" even if
	the size has not changed so we can use it to re-calculate the
	preview size on image size change.

	* app/widgets/gimpdrawablelistview.c: connect to the image's
	"size_changed" signal and trigger preview size re-calculation in
	the callback.
2001-05-06 17:56:10 +00:00
Michael Natterer f5f8acf34e removed typedefs from the widgets/ subdir.
2001-05-03  Michael Natterer  <mitch@gimp.org>

	* app/apptypes.h: removed typedefs from the widgets/ subdir.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h: new file.

	* app/widgets/gimpcontainermenu.[ch]
	* app/widgets/gimpcontainerview.[ch]: synced them again and added a
	"get_name_func"

	* app/widgets/gimplistitem.[ch]
	* app/widgets/gimpmenuitem.[ch]: add a "get_name_func" and use it
	to get the item's name.

	* app/widgets/gimpcontainerlistview.c
	* app/widgets/gimpcontainermenuimpl.c: pass the get_name_func to
	the created items.

	* app/widgets/gimpchannellistview.c: gtk_widget_queue_resize() the
	component frame after changing the image.

	* app/widgets/gimpcomponentlistitem.c: set a custom
	get_name_func() so the components are named Red, Green, ... again.

	* app/widgets/gimpimagedock.c: set a custom get_name_func() which
	returns names like in the old L&C dialog's image menu.

	* tools/pdbgen/Makefile.am: don't scan apptypes.h for enums.
2001-05-03 22:19:17 +00:00
Michael Natterer 29fc0026ce added virtual method context_item() which works like select_item() and
2001-04-29  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontainerview.[ch]: added virtual method
	context_item() which works like select_item() and activate_item()
	and a function to trigger the signal from subclasses (marked as
	"protected").

	* app/widgets/gimpcontainerlistview.c: invoke context_item() on
	right click.

	* app/widgets/gimpdrawablelistview.[ch]: implement context_item()
	and show a context menu. The functions to show the menu as well as
	functions to create a new drawable and to edit it's attriutes must
	be passed to the constructor now.

	* app/gui/channels-commands.[ch]
	* app/gui/layers-commands.[ch]: added functions which show the
	layers and channels context menus. No accelerators supported yet.
	Auto-destroy all dialogs when their drawable is removed from the
	image.

	* app/gui/dialogs-constructors.c: changed the calls to
	gimp_drawable_list_view_new() accordingly.

	* app/gui/menus.c
	* app/gui/test-commands.[ch]: removed some test dialogs.
2001-04-29 15:23:01 +00:00
Michael Natterer 90e8b4d790 cleanup.
2001-04-22  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am: cleanup.

	* app/interface.c: #include "gimpui.h"

	* app/gui/dialogs-constructors.[ch]
	* app/gui/dialogs.c
	* app/gui/menus.c
	* app/gui/test-commands.[ch]: changes for the image menu below.

	* app/apptypes.h
	* app/widgets/Makefile.am
	* app/widgets/gimpcontainermenu.[ch]
	* app/widgets/gimpcontainermenuimpl.[ch]: new widgets. The actual
	implemtation lives in a separate file because
	gimpcontainermenu.c's code is identical to gimpcontainerview.c's
	except for the base class. This will become an interface with Gtk 2.0.

	* app/widgets/gimpimagedock.[ch]: a dock with an image menu. The
	pages still don't follow the context correctly.

	* app/widgets/gimpmenuitem.[ch]: a menu item with a preview.

	* app/widgets/gimpdialogfactory.[ch]: pass a dock constructor to
	the constructor and provide a method to create a new dock within
	this factory's context.

	* app/widgets/gimpdock.[ch]: removed the constructor because we
	create only image docks now. Put the vbox into a main_vbox (which
	also contains the image menu).

	* app/widgets/gimpdockbook.[ch]: create new docks with the dialog
	factory.

	* app/gimpcontainer.[ch]
	* app/gimpdata.[ch]
	* app/gimpdatafactory.[ch]
	* app/gimpdatalist.[ch]
	* app/gimplist.[ch]
	* app/gimpviewable.[ch]
	* app/widgets/gimpbrushpreview.[ch]
	* app/widgets/gimpcontainergridview.[ch]
	* app/widgets/gimpcontainerlistview.[ch]
	* app/widgets/gimpcontainerview.[ch]
	* app/widgets/gimpdatafactoryview.[ch]
	* app/widgets/gimpdockable.[ch]
	* app/widgets/gimpdrawablelistitem.[ch]
	* app/widgets/gimpdrawablelistview.[ch]
	* app/widgets/gimpdrawablepreview.[ch]
	* app/widgets/gimplayerlistitem.[ch]
	* app/widgets/gimplayerlistview.[ch]
	* app/widgets/gimplistitem.[ch]
	* app/widgets/gimppalettepreview.[ch]
	* app/widgets/gimppatternpreview.[ch]
	* app/widgets/gimppreview.[ch]: ass-sign some copyrights.
2001-04-22 00:38:56 +00:00
Michael Natterer b51d761fcc app/Makefile.am app/apptypes.h new subclass of GimpDrawableListView (the
2001-03-11  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/apptypes.h
	* app/gimplayerlistview.[ch]: new subclass of GimpDrawableListView
	(the upcoming replacement of the layers dialog). Connects to the
	new GimpLayer signals using the layer container as signal proxy
	(see below).

	* app/gimpcontainerview.[ch]: made "set_container" a virtual
	function.  This is needed by the GimpLayerListView to
	connect/disconnect signals. Subclasses implementing this method
	MUST obey the following order of instructions:

	1. disconnect from signals related to GimpContainerView->container
	2. chain up (!!!)
	3. connect to signals related to GimpContainerView->container

	And yes, I will add DocBook files for all those new objects :)

	* app/gimppreview.[ch]: made "border_color" a GimpRGB instead of
	guchar[3]. Added gimp_preview_set_border_color().

	* app/gimpcontainergridview.c
	* app/gimplayerlistitem.c: use gimp_preview_set_border_color().

	* app/gimpcontainerlistview.c
	* app/gimpdrawablelistview.c: cleanup.

	* app/gimpdrawablelistitem.c: we can safely asume that our parent
	widget is a GimpDrawableListView and use it's "reorder_drawable"
	function pointer (after checking that it's there).

	* app/gimplistitem.c: connect the correct DND type when changing
	the container of a list item with "reorderable" enabled.

	* app/gimplayer.[ch]: added accessors and "*_changed" signals for
	layer->mode, layer->opacity and layer->preserve_trans.

	* app/disp_callbacks.c: fixed a FIXME: use the correct bucket fill
	tool context again.

	* app/tools/paint_options.[ch]: paint_mode_menu_new(): added a
	boolean which toggles the "Behind" item on/off to the same
	constructor can be used for all paint mode menus.

	* app/tools/gimptoolinfo.c: rect. select is the standard tool again.

	* app/brush_select.c
	* app/floating_sel.c
	* app/gimpimage.c
	* app/layers_dialog.c
	* app/pdb/layer_cmds.c
	* app/tools/gimpeditselectiontool.c
	* tools/pdbgen/pdb/layer.pdb: use the new layer accessors and the
	paint_mode_menu constructor.

	* app/commands.c
	* app/gdisplay.c
	* app/menus.c
	* app/undo.c
	* app/tools/gimppainttool.c
	* app/tools/gimptool.c
	* app/tools/paint_options.c
	* app/tools/tool_manager.c: put the #warning's back inside
	#ifdef __GNUC__
2001-03-11 17:24:47 +00:00
Michael Natterer af76f2bbb8 removed the layer mask functions.
2001-03-06  Michael Natterer  <mitch@gimp.org>

	* app/gimage.[ch]: removed the layer mask functions.

	* app/gimpchannel.[ch]: added a boolean "dummy" parameter to
	gimp_channel_copy() so it has the same signature as
	gimp_layer_copy() and can be used by the GimpDrawableListView to
	generically duplicate drawables.

	* app/gimpcontainerview.c: call "select_item" with a NULL item
	before changing the underlying GimpContainer so subclasses have
	a chance to update (e.g. set button sensitivity).

	* app/gimpdnd.c: folded all the GtkType comparing code into a
	utility function (much more readable now).

	* app/gimpdrawablelistview.[ch]: activated the "raise", "lower",
	"duplicate" and "delete". I'm not really happy with all those
	function pointers passed to the constructor (and the dummy
	parameters I've added to some GimpChannel functions) -- OTOH the
	generic view maybe worth the "gboolean dummy" cruft hanging around
	in the channel class.

	* app/gimplayer.[ch]: removed the "apply_mask", "edit_mask" and
	"show_mask" booleans ...

	* app/gimplayermask.[ch]: .. and added them here together with
	proper accessors and "*_changed" signals.

	This also makes the layer mask undo code much clearer as we don't
	have to store the booleans separately.

	* app/gimplayerlistitem.c: badly hacked to acheive the correct
	indicator being drawn around the active drawable. This needs
	a new GimpPreview function for setting the border color.

	* app/gimplistitem.c: smaller horizontal spacing.

	* app/gimppreview.[ch]: added the "border_width" parameter also to
	gimp_preview_set_size() so we can modify all previews the same way
	after creation.

	* app/layers_dialog.c: no need to push an undo group around
	the "duplicate layer" code. Was this an artefact or did I miss
	something here ???

	* app/channel_ops.c
	* app/channels_dialog.c
	* app/gimage_mask.c
	* app/gimpcontainergridview.c
	* app/gimpcontainerlistview.c
	* app/gimpdrawablelistitem.c
	* app/gimpimage.[ch]
	* app/qmask.c
	* app/test_commands.c
	* app/undo.c
	* app/xcf.c
	* app/pdb/channel_cmds.c
	* tools/pdbgen/pdb/channel.pdb
	* app/pdb/selection_cmds.c
	* tools/pdbgen/pdb/selection.pdb: changed accordingly.

	* app/pdb/internal_procs.c
	* app/pdb/layer_cmds.c
	* libgimp/gimplayer_pdb.[ch]
	* tools/pdbgen/pdb/layer.pdb: commented out the layer mask accessors
	from the perl code, so the functions temporarily disappeared all
	over the place.

	* plug-ins/Makefile.am: don't build XJT until the layer mask stuff
	is back.

	* pixmaps/eye.xpm: cropped it to it's minimal size.
2001-03-06 13:28:39 +00:00
Michael Natterer 8e3259d084 app/apptypes.h app/Makefile.am new widget. The upcoming replacement for
2001-02-27  Michael Natterer  <mitch@gimp.org>

	* app/apptypes.h
	* app/Makefile.am
	* app/gimpdrawablelistview.[ch]: new widget. The upcoming replacement
	for the layers and channels dialogs.

	* app/test_commands.[ch]: put the test dialogs here...

	* app/commands.[ch]: ... and made this one clean again.

	* app/gimpcontainergridview.c
	* app/gimpcontainerlistview.c
	* app/gimpcontainerview.[ch]: some signal handling fine tuning.

	* app/gimpimage.[ch]: emits "active_layer_changed" and
	"active_channel_changed" signals now. The semantics of
	gimage->active_layer and gimage->active_channel have changed a bit.
	We now have either an active layer _or_ and active channel (there
	is no active layer any more if a channel is active).

	* app/channel_ops.c
	* app/floating_sel.c
	* app/gdisplay.c
	* app/layers_dialog.c
	* app/menus.c: changed accordingly.

	* app/tools/gimpcolorpickertool.c: actually assign the draw_class
	vraiable in the class_init function.

	* app/tools/gimpdrawtool.[ch]
	* app/tools/tool.c: removed the _new() functions because these
	objects are abstract superclasses. Did some cleanup.
	Nathan, please configure you editor to _not_ produce any tabs
	in the source code.

	* app/tools/gimppaintbrushtool.[ch]: "blurb" and "help" are tagged
	with _(), not N_(). Put the register function to the header.

	* po/POTFILES.in: made it compile again.
2001-02-27 14:14:13 +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 2f6f9bdd0b app/gimpcontainer.[ch] app/gimpcontainergridview.c
2001-02-17  Michael Natterer  <mitch@gimp.org>

	* app/gimpcontainer.[ch]
	* app/gimpcontainergridview.c
	* app/gimpcontainerlistview.c
	* app/gimpcontainerview.[ch]
	* app/gimplist.c
	* app/gimpmarshal.[ch]: the GimpContainer has a new virtual "reorder"
	method which is much more eficient then the current remove/add
	braindeadness when renaming data objects.
	Changed the views to connect to "reorder" and call the
	GimpContainerView's new "reorder_item" method which then does
	the right thing in the view subclasses.

	* app/gimpdatafactory.c
	* app/gimpdatafactoryview.c
	* app/gimpdatalist.[ch]: removed the data list loading and saving
	stuff from GimpDataList because that's the job of the
	GimpDataFactory.

	* app/brush_edit.[ch]
	* app/brush_select.c: cleanup.

	* app/gradient_editor.[ch]: changed it to work like the brush
	editor: return a GradientEditor pointer in the constructor
	and statically store this pointer in the gradient selection file.
	Removed the global "g_editor" variable and added tons of
	GradientEditor* variables to function calls so they know their
	context without the global variable.

	* app/gradient_select.c: changed accordingly.
2001-02-17 21:20:10 +00:00
Michael Natterer 123ee5651e app/gimpcontainergridview.[ch] app/gimpcontainerlistview.[ch] follow the
2001-02-09  Michael Natterer  <mitch@gimp.org>

	* app/gimpcontainergridview.[ch]
	* app/gimpcontainerlistview.[ch]
	* app/gimpcontainerview.[ch]: follow the GimpPreview API change
	and take only "size" instead of "width" and "height" in the
	constructor.

	* app/gimpdnd.[ch]: first attempt to hack GtkType based DND which
	speaks in terms of GimpViewable instead of Brush, Pattern, ...
	Added functions to remove DND callbacks (used by the multi-views).

	* app/gimppreview.[ch]: new function gimp_preview_set_size_full().

	* app/commands.c: updated the example dialogs to be DND aware.

	* app/gimpimage.c: fixed preview size calculation by ensuring a
	minimal width/height of 1 pixel.
	Reported by Dave Neary <dneary@eircom.net>
2001-02-09 21:49:47 +00:00
Michael Natterer be88b13500 added an (unused) "context" argument and a "set_viewable" function.
2001-02-08  Michael Natterer  <mitch@gimp.org>

	* app/gimppreview.[ch]: added an (unused) "context" argument
	and a "set_viewable" function.

	* app/gimpconstrainedhwrapbox.c: even more evil than before.

	* app/gimpbrushpreview.c
	* app/gimpcontainergridview.c
	* app/gimpcontainerlistview.c
	* app/gimpcontainerview.c
	* app/gimpimagepreview.c
	* app/gimppatternpreview.c: fixed lots of forgotten signal handlers

	* app/commands.[ch]
	* app/menus.c: added "Multi View" dialogs.
2001-02-08 04:16:41 +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 1f8b94df75 app/gimpcontainergridview.[ch] app/gimpcontainerlistview.[ch] implemented
2001-02-06  Michael Natterer  <mitch@gimp.org>

	* app/gimpcontainergridview.[ch]
	* app/gimpcontainerlistview.[ch]
	* app/gimpcontainerview.[ch]: implemented "set_preview_size".

	* app/commands.c: added a preview size slider to the test dialogs.
2001-02-05 23:14:14 +00:00
Michael Natterer 359e141fc0 app/gimpcontainerlistview.[ch] app/gimpcontainerview.[ch] moved the signal
2001-02-05  Michael Natterer  <mitch@gimp.org>

	* app/gimpcontainerlistview.[ch]
	* app/gimpcontainerview.[ch]
	* app/gimpmarshal.[ch]: moved the signal connecting stuff to the
	GimpContainerViewClass which has virtual functions for insert,
	remove and clear now which are implemented by the
	GimpContainerListViewClass.
2001-02-05 19:10:40 +00:00
Michael Natterer be0e7d119c app/Makefile.am some new files and data types:
2001-02-05  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/apptypes.h: some new files and data types:

	* app/gimppreview.[ch]: new widgets which provides a view
	of a GimpViewable.

	* app/gimpcontainerview.[ch]: new abstract widget base class for
	views of GimpContainers of GimpViewables

	* app/gimpcontainerlistview.[ch]: (still) simple implementation of
	a list view of the container.

	* app/gimpbrush.[ch]
	* app/gimppattern.[ch]: provide dumb implementations of the
	GimpViewable's "preview" method.

	* app/image_render.c: quick bad hack to enable preview sizes which
	are != "preview_size": Always allocate data chunks for previews up
	to 256 pixels width.

	* app/drawable.c: emit the "incalidate_preview" signal from
	drawable_update(). This may cause useless updates at the moment
	but as we want to move from explicit updates to signal-driven
	model-view stuff it's the right thing (TM).

	* app/commands.[ch]
	* app/interface.c
	* app/menus.c: Added a "Test dialogs" menu to the Toolbox.

	* app/pdb/image_cmds.c
	* libgimp/gimpenums.h
	* plug-ins/script-fu/script-fu-constants.c
	* tools/pdbgen/enums.pl: propagated the new alpha channel stuff
	to the autogenerated files.
2001-02-05 15:22:20 +00:00