Commit Graph

48 Commits

Author SHA1 Message Date
Sven Neumann a8697d3e02 app/widgets/gimppreview.[ch] moved background functionality into the
2003-04-11  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimppreview.[ch]
	* app/widgets/gimppreviewrenderer.[ch]: moved background
	functionality into the renderer. Removed some GimpPreview
	functions that used to wrap GimpPreviewRenderer functionality.

	* app/display/gimpdisplayshell-layer-select.c
	* app/display/gimpnavigationview.c
	* app/gui/dialogs-constructors.c
	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimpcontainermenuimpl.c
	* app/widgets/gimppreview-popup.c
	* app/widgets/gimpselectioneditor.[ch]: changed accordingly.
2003-04-11 11:18:12 +00:00
Sven Neumann 6d8249bd86 made GimpPreview a NO_WINDOW widget that draws on the parent window. Added
2003-04-11  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimppreview.[ch]: made GimpPreview a NO_WINDOW
	widget that draws on the parent window. Added an INPUT_ONLY window
	for events.

	* app/widgets/gimpnavigationpreview.c: take the widget's
	allocation into account when rendering the marker and grab the
	mouse on the preview's event_window.

	* app/widgets/gimppreviewrenderer.[ch]: pass GdkRectangles as const.
2003-04-11 08:37:26 +00:00
Sven Neumann c556c957a2 themes/Default/images/Makefile.am
2003-04-03  Sven Neumann  <sven@gimp.org>

	* themes/Default/images/Makefile.am
	* themes/Default/images/stock-template-16.png
	* themes/Default/images/stock-texture-64.png: new icons by Jimmac.

	* libgimpwidgets/gimpstock.[ch]: register the new icons.

	* app/widgets/gimppreview.[ch]: added the possibility to set a
	background pixmap on the preview widget.

	* app/gui/dialogs-constructors.c
	* app/display/gimpnavigationview.[ch]
	* app/widgets/gimpselectioneditor.[ch]: set a background on the
	navigation and selection previews when layer previews are disabled
	in the preferences.
2003-04-03 16:13:12 +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 4d6b4f512c implement GtkDialog::close() and synthesize a "delete_event"
2003-03-20  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimpdialog.c: implement GtkDialog::close() and
	synthesize a "delete_event" unconditionally.

	* app/widgets/gimpviewabledialog.c: emit "close" instead of
	synthesizing "delete_event".

	* app/widgets/gimppreview.[ch]: removed "extended_clicked" signal
	and added "GdkModifierType state" to "clicked"'s signature.

	* app/gui/file-open-dialog.c
	* app/gui/test-commands.c
	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimptoolbox-indicator-area.c: changed accordingly.
2003-03-20 15:49:48 +00:00
Michael Natterer 1522b841fa added "gboolean data_editable" which gets set in
2003-03-10  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdataeditor.[ch]: added "gboolean data_editable"
	which gets set in gimp_data_editor_real_set_data(). Set the name
	entry insensitive if the data is not editable.

	* app/widgets/gimpbrusheditor.c
	* app/widgets/gimppaletteeditor.c
	* app/widgets/gimpgradienteditor.c: look at editor->data_editable
	instead of duplicating the logic in all subclasses.

	* app/widgets/gimppreview.[ch]: added "gboolean expand" and
	gimp_preview_set_expand() like in GtkPreview bacause smooth auto
	resizing can only be done by the widget itself, not via external
	callbacks.

	* app/display/gimpnavigationview.c
	* app/widgets/gimpbrusheditor.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimpselectioneditor.c: set expand == TRUE. Removed
	"size_allocate" callbacks. They resize *much* smoother now.
	Various cleanups.

	* app/widgets/gimpnavigationpreview.c: recalculate the preview
	coordinates when the size changes.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimppreviewrenderer-utils.c
	* app/widgets/gimppreviewrenderergradient.[ch]: new renderer which
	is much faster because it projects the gradient without creating
	intermediate buffers. Rendering can be restricted to an interval
	from [left...right].

	* app/widgets/gimpgradienteditor.[ch]: undeprecated by using
	GimpPreview instead of GtkPreview. Cleanup.

	* app/gui/gradient-editor-commands.c: changed accordingly.
2003-03-10 14:07:22 +00:00
Michael Natterer b31fd4b911 removed the constructors with a GimpViewable parameter and always create
2003-03-03  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimppreviewrenderer.[ch]: removed the constructors
	with a GimpViewable parameter and always create renderers from
	viewable types only. Made gimp_preview_renderer_update() emit only
	the "update" signal and added the new function
	gimp_preview_renderer_invalidate() which does what the old
	_update() did (invalidating and adding an idle function which
	emits "update"). Added gimp_preview_renderer_remove_idle() so
	renderer updating can be fully controlled using public functions.

	* app/widgets/gimppreviewrendererbrush.[ch]: no need to remember
	the widget for the brushpipe animation, simply call
	gimp_preview_renderer_update() in the animation timeout.

	* app/widgets/gimppreview.[ch]
	* app/widgets/gimpcontainertreeview.c: changed accordingly. Call
	gimp_preview_renderer_remove_idle() after setting the initial
	viewable because we will be updated anyway by the first expose.

	* app/widgets/gimppreview.[ch]: Added a size_request()
	implementation. Removed gimp_preview_update(). Added new
	constructor gimp_preview_new_full_by_types() to make the
	constructor API symmetric. Removed code duplication by calling the
	_by_types() constructors from the ones taking GimpViewable
	parameters.

	* app/gui/palette-import-dialog.c
	* app/widgets/gimppropwidgets.c
	* app/widgets/gimpselectioneditor.c: changed accordingly.
2003-03-03 12:59:03 +00:00
Michael Natterer 48bf4fb7b2 don't scale the preview up if the buffer is too small.
2003-03-01  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpbuffer.c: don't scale the preview up if the
	buffer is too small.

	* app/core/gimppattern.c: don't add a white border around the
	preview if the pattern is too small.

	* app/widgets/gimppreviewrenderer.[ch]: new object. A buffer
	that updates itself on GimpViewable changes and can render
	itself to any widget. Basically GimpPreview reduced to the
	render and draw code.

	* app/widgets/gimppreview.[ch]: removed all rendering and drawing
	code and keep a GimpPreviewRenderer instance. Connect to its
	"update" signal for queuing draws on the preview.

	* app/widgets/gimpcellrendererviewable.[ch]
	* app/widgets/gimpcontainertreeview.c: same here: removed
	rendering and drawing code and keep GimpPreviewRenderers in the
	list store.  Delays preview creation for GtkTreeViews until the
	buffer is really needed for drawing and adds idle preview updating
	on viewable changes.

	* app/widgets/gimppreview-utils.[ch]
	* app/widgets/gimpbrushpreview.[ch]
	* app/widgets/gimpbufferpreview.[ch]
	* app/widgets/gimpdrawablepreview.[ch]
	* app/widgets/gimpimagepreview.[ch]: removed...

	* app/widgets/gimppreviewrenderer-utils.[ch]
	* app/widgets/gimppreviewrendererbrush.[ch]
	* app/widgets/gimppreviewrendererdrawable.[ch]
	* app/widgets/gimppreviewrendererimage.[ch]: ...and converted to
	GimpPreviewRenderer subclasses.

	* app/display/gimpnavigationview.c
	* app/gui/palette-import-dialog.c
	* app/widgets/Makefile.am
	* app/widgets/widgets-enums.h
	* app/widgets/widgets-types.h
	* app/widgets/gimpchannellistview.c
	* app/widgets/gimpcomponentlistitem.c
	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimpcontainermenuimpl.c
	* app/widgets/gimplayerlistitem.c
	* app/widgets/gimplistitem.c
	* app/widgets/gimpnavigationpreview.[ch]
	* app/widgets/gimpselectioneditor.c
	* app/widgets/gimpvectorslistview.c: changed accordingly.
2003-03-01 03:53:41 +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 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 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 51537fd6ba use a low priority idle handler to queue redraws, since we really want
2002-11-09  Manish Singh  <yosh@gimp.org>

        * app/widgets/gimppreview.[ch]: use a low priority idle handler to
        queue redraws, since we really want updates when nothing else is
        going on.
2002-11-09 20:01:19 +00:00
Michael Natterer f901058b4b removed idle rendering and render the preview on "expose" if needed.
2002-11-04  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimppreview.[ch]: removed idle rendering and render
	the preview on "expose" if needed. Renamed gimp_preview_render()
	to gimp_preview_update(). Cleanup.

	* app/widgets/gimpimagefilepreview.c
	* app/widgets/gimpselectioneditor.[ch]
	* app/widgets/gimptoolinfopreview.c: changed accordingly.
2002-11-04 12:15:29 +00:00
Michael Natterer c46dedd9c5 added #define for GIMP_PREVIEW_MAX_BORDER_WIDTH instead of hardcoding it
2002-08-27  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimppreview.[ch]: added #define for
	GIMP_PREVIEW_MAX_BORDER_WIDTH instead of hardcoding it all over
	the place, cleanup.
2002-08-27 15:31:24 +00:00
Michael Natterer e62c2c58c7 bumped version number to 1.3.9
2002-08-22  Michael Natterer  <mitch@gimp.org>

	* configure.in: bumped version number to 1.3.9

	* app/tools/gimpbycolorselecttool.[ch]: removed the ByColorDialog
	and cleaned up the code.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpselectioneditor.[ch]: added new widget
	GimpSelectionEditor with same same functionality as the old
	ByColorDialog which can be open all the time (independent of the
	active tool).

	* app/widgets/gimppreview.[ch]: added gimp_preview_new_by_type()
	so previews can be created without a viewable.

	* app/widgets/gimppreview-utils.[ch]: changed
	gimp_preview_type_from_viewable() to
	gimp_preview_type_from_viewable_type().

	* app/gui/dialogs-constructors.[ch]
	* app/gui/dialogs.c
	* app/gui/menus.c: register the new dialog type.
2002-08-22 12:49:01 +00:00
Michael Natterer 6707e317d1 Yes, this is a bit hackish...
2002-05-28  Michael Natterer  <mitch@gimp.org>

	Yes, this is a bit hackish...

	* app/widgets/gimppreview.[ch]: added "gboolean eat_button_events"
	to enable previews which are clickable *and* let the click through
	to their parent widget.

	* app/widgets/gimpdrawablelistitem.c
	* app/widgets/gimplayerlistitem.c: set "eat_button_events" to
	FALSE whenever we set "clickable" to TRUE so the GtkListItems get
	the click and can set the active drawable.
2002-05-28 20:04:28 +00:00
Michael Natterer 384a2a851e connect to size allocations of the navigation preview's parent container
2002-05-11  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpnavigationview.c: connect to size allocations of
	the navigation preview's parent container and resize it so it
	takes all available space.

	* app/widgets/gimppreview.[ch]: replaced magic values by public
	#defines of GIMP_PREVIEW_MAX_SIZE and GIMP_PREVIEW_MAX_POPUP_SIZE.
	Increased the maximum preview size to 1024. Don't call the virtual
	get_size() function if preview->viewable is NULL but call
	gimp_preview_real_get_size() directly.

	* app/widgets/gimpbufferpreview.c
	* app/widgets/gimpcomponentlistitem.c
	* app/widgets/gimpcontainermenu.c
	* app/widgets/gimpdrawablepreview.c
	* app/widgets/gimpimagepreview.c
	* app/widgets/gimplistitem.c
	* app/widgets/gimpmenuitem.c
	* app/widgets/gimpnavigationpreview.c: replaced magic values by
	the new costants.
2002-05-11 13:51:26 +00:00
Michael Natterer 074b1cda76 derive from GtkDrawingArea instead of deprecated GtkPreview.
2002-01-30  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimppreview.[ch]: derive from GtkDrawingArea
	instead of deprecated GtkPreview.

	* app/gui/buffers-commands.c
	* app/gui/device-status-dialog.c
	* app/gui/dialogs-constructors.c
	* app/gui/indicator-area.c
	* app/gui/info-window.c
	* app/gui/palette-import-dialog.c
	* app/gui/palettes-commands.c
	* app/gui/test-commands.c
	* app/gui/tool-options-dialog.c
	* app/gui/toolbox.c
	* app/widgets/gimpdnd.c
	* app/widgets/gimpimagedock.c
	* app/widgets/gimpmenuitem.c: removed #undef GTK_DISABLE_DEPRECATED.
2002-01-30 17:39:56 +00:00
Manish Singh 220b7a2f85 ported to the new treeviewized file selection widget. Unfortunately,
2002-01-30  Manish Singh  <yosh@gimp.org>

        * app/gui/file-open-dialog.c: ported to the new treeviewized file
        selection widget. Unfortunately, multiple selections aren't supported
        anymore so it's still broke. I'll make a patch to gtk to address this
        after I get some sleep.

        * app/widgets/gimppreview.h
        * libgimpwidgets/gimpcolorarea.h
        * plug-ins/FractalExplorer/Events.c
        * plug-ins/common/film.c
        * plug-ins/common/plugindetails.c
        * plug-ins/fp/fp_misc.c
        * plug-ins/rcm/rcm_callback.c
        * plug-ins/rcm/rcm_misc.c: REALLY REALLY ugly hack to get things to
        build under the latest enum deprecations. Of course, we'll remove
        these when these files compile with deprecation turned on

        * plug-ins/dbbrowser/dbbrowser_utils.c: warning cleanup

        * libgimpwidgets/Makefile.am
        * libgimpwidgets/gimpoffsetarea.c: need a custom marshaller for
        our signal since the gtk marshaller we used went away.
2002-01-30 08:31:00 +00:00
Michael Natterer 14d0a3ff07 app/gimpprogress.c app/nav_window.c app/ops_buttons.c app/undo_history.c
2001-12-29  Michael Natterer  <mitch@gimp.org>

	* app/gimpprogress.c
	* app/nav_window.c
	* app/ops_buttons.c
	* app/undo_history.c
	* app/display/gimpdisplayshell.c
	* app/gui/about-dialog.c
	* app/gui/brush-editor.c
	* app/gui/channels-commands.c
	* app/gui/color-area.c
	* app/gui/color-notebook.c
	* app/gui/color-select.c
	* app/gui/colormap-dialog.c
	* app/gui/convert-dialog.c
	* app/gui/device-status-dialog.c
	* app/gui/file-new-dialog.c
	* app/gui/file-open-dialog.c
	* app/gui/file-save-dialog.c
	* app/gui/gradient-editor.c
	* app/gui/info-dialog.c
	* app/gui/layers-commands.c
	* app/gui/module-browser.c
	* app/gui/offset-dialog.c
	* app/gui/palette-editor.c
	* app/gui/palettes-commands.c
	* app/gui/paths-dialog.c
	* app/gui/qmask-commands.c
	* app/gui/resize-dialog.c
	* app/gui/resolution-calibrate-dialog.c
	* app/gui/splash.c
	* app/gui/tips-dialog.c
	* app/gui/toolbox.c
	* app/gui/user-install-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/gimphuesaturationtool.c
	* app/tools/gimpinktool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpposterizetool.c
	* app/tools/gimprotatetool.c
	* app/tools/gimpthresholdtool.c
	* app/tools/paint_options.c
	* app/tools/selection_options.c
	* app/widgets/gimpchannellistview.c
	* app/widgets/gimpcolorpanel.c
	* app/widgets/gimpcomponentlistitem.c
	* app/widgets/gimpconstrainedhwrapbox.c
	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimpcontainerlistview.c
	* app/widgets/gimpcontainermenuimpl.c
	* app/widgets/gimpdialogfactory.c
	* app/widgets/gimpdnd.c
	* app/widgets/gimpdock.c
	* app/widgets/gimpdockbook.c
	* app/widgets/gimpdrawablelistitem.c
	* app/widgets/gimpdrawablelistview.c
	* app/widgets/gimpfontselection-dialog.c
	* app/widgets/gimphistogramview.c
	* app/widgets/gimpitemfactory.c
	* app/widgets/gimplayerlistitem.c
	* app/widgets/gimplistitem.[ch]
	* app/widgets/gimpmenuitem.c
	* app/widgets/gimppreview.[ch]
	* app/widgets/gtkhwrapbox.c
	* app/widgets/gtkvwrapbox.c
	* app/widgets/gtkwrapbox.c
	* libgimp/gimpbrushmenu.c
	* libgimp/gimpexport.c
	* libgimp/gimpgradientmenu.c
	* libgimp/gimpmenu.c
	* libgimp/gimppatternmenu.c
	* libgimpwidgets/gimpbutton.c
	* libgimpwidgets/gimpchainbutton.[ch]
	* libgimpwidgets/gimpcolorarea.h
	* libgimpwidgets/gimpcolorbutton.c
	* libgimpwidgets/gimpfileselection.c
	* libgimpwidgets/gimphelpui.c
	* libgimpwidgets/gimpoffsetarea.c
	* libgimpwidgets/gimppatheditor.c
	* libgimpwidgets/gimppixmap.h
	* libgimpwidgets/gimpquerybox.c
	* libgimpwidgets/gimpstock.[ch]
	* libgimpwidgets/gimpwidgets.h
	* plug-ins/FractalExplorer/Dialogs.c
	* plug-ins/FractalExplorer/Events.c
	* plug-ins/FractalExplorer/FractalExplorer.c
	* plug-ins/Lighting/lighting_ui.c
	* plug-ins/MapObject/mapobject_ui.c
	* plug-ins/bmp/bmpwrite.c
	* plug-ins/dbbrowser/dbbrowser_utils.c
	* plug-ins/fits/fits.c
	* plug-ins/flame/flame.c
	* plug-ins/fp/fp_gtk.c
	* plug-ins/fp/fp_misc.c
	* plug-ins/gfig/gfig.c
	* plug-ins/gflare/gflare.c
	* plug-ins/gfli/gfli.c
	* plug-ins/gimpressionist/*.c
	* plug-ins/imagemap/*.[ch]
	* plug-ins/maze/maze_face.c
	* plug-ins/mosaic/mosaic.c
	* plug-ins/pagecurl/pagecurl.c
	* plug-ins/print/print_gimp.h
	* plug-ins/rcm/rcm_callback.c
	* plug-ins/rcm/rcm_dialog.c
	* plug-ins/rcm/rcm_misc.c
	* plug-ins/script-fu/script-fu-console.c
	* plug-ins/script-fu/script-fu-scripts.c
	* plug-ins/script-fu/script-fu-server.c
	* plug-ins/sel2path/sel2path.c
	* plug-ins/sel2path/sel2path_adv_dialog.c
	* plug-ins/sgi/sgi.c
	* plug-ins/webbrowser/webbrowser.c
	* plug-ins/xjt/xjt.c
	* plug-ins/common/[A-n]*.c: compile with GTK_DISABLE_DEPRECATED
	defined. Not everything is fully ported yet, had to #undef
	GTK_DISABLE_DEPRECATED in many places and added #warnings when
	doing so.

	* pixmaps/Makefile.am
	* pixmaps/chain.xpm: removed.

	* themes/Default/Makefile.am
	* themes/Default/images/Makefile.am
	* themes/Default/images/stock-button-hchain-broken.png
	* themes/Default/images/stock-button-hchain.png
	* themes/Default/images/stock-button-vchain-broken.png
	* themes/Default/images/stock-button-vchain.png: new stock icons.
2001-12-29 13:26:29 +00:00
Sven Neumann 4ba6db4e94 Michael Natterer <mitch@gimp.org>
2001-12-03  Sven Neumann  <sven@gimp.org>
	    Michael Natterer <mitch@gimp.org>

	* app/paint-funcs/paint-funcs-mmx.h: removed redefiniton of HAS_ALPHA
	macro.

	* app/core/gimp.c: reverted Daniel's change; it doesn't make the code
	simpler, only more error-prone.

	* app/gui/info-dialog.h
	* app/gui/resize-dialog.h
	* app/core/gimp.h
	* app/core/gimpbrushgenerated.h
	* app/core/gimpbrushpipe.h
	* app/core/gimpchannel.[ch]
	* app/core/gimpcontainer.h
	* app/core/gimpcoreconfig.h
	* app/core/gimpdata.h
	* app/core/gimpdatafactory.[ch]
	* app/core/gimpdrawable-blend.c
	* app/core/gimpdrawable.[ch]
	* app/core/gimpimage.h
	* app/core/gimpimagefile.h
	* app/core/gimplayer.h
	* app/core/gimplayermask.h
	* app/core/gimpmoduleinfo.h
	* app/core/gimppalette.h
	* app/core/gimpundo.h
	* app/widgets/gimpbrushfactoryview.h
	* app/widgets/gimpconstrainedhwrapbox.h
	* app/widgets/gimpcontainermenu.h
	* app/widgets/gimpcontainerview.h
	* app/widgets/gimpdialogfactory.h
	* app/widgets/gimpimagedock.h
	* app/widgets/gimplistitem.h
	* app/widgets/gimpmenuitem.h
	* app/widgets/gimpnavigationpreview.h
	* app/widgets/gimppreview.h
	* app/gimprc.h
	* app/pathP.h
	* app/tools/gimpbezierselecttool.h
	* app/tools/gimpcolorbalancetool.h
	* app/tools/gimpcurvestool.h
	* app/tools/gimpdodgeburntool.c
	* app/tools/gimpfreeselecttool.h
	* app/tools/gimphuesaturationtool.h
	* app/tools/gimpinktool-blob.h
	* app/tools/gimpinktool.h
	* app/tools/gimpiscissorstool.h
	* app/tools/gimpmagnifytool.h
	* app/tools/gimpmeasuretool.h
	* app/tools/gimppainttool.h
	* app/tools/gimppathtool.h
	* app/tools/gimprectselecttool.h
	* app/tools/gimpthresholdtool.h
	* app/tools/gimptool.h
	* app/tools/gimptransformtool.h
	* app/base/base-config.h
	* app/base/gimplut.[ch]
	* app/base/pixel-region.h
	* app/base/pixel-surround.[ch]
	* app/base/temp-buf.[ch]
	* app/base/tile-manager-private.h
	* app/base/tile-manager.[ch]
	* app/base/tile-private.h
	* app/base/tile.[ch]
	* app/display/gimpdisplay.h
	* app/display/gimpdisplayshell-selection.h
	* app/display/gimpdisplayshell.h
	* app/gui/brush-select.h
	* app/gui/gradient-editor.h
	* app/gui/gradient-select.h: reverted most of Daniel's changes.

	There's no reason to use unsigned integers here and in lots of places
	it is even wrong.

	Then it's way too early to convert gbooleans into bitfields. This
	change may make sense in a few places but can happen later when the
	API has settled and the code is more stable.

	* app/gimprc.c: reverted Daniel's change. This is a GCC-ism and this
	code is about to die soon anyway.
2001-12-03 13:44:59 +00:00
Daniel Egger 1ed9180112 Convert ugly comments into named structure fields. Much cleaner and less
2001-12-02  Daniel Egger  <degger@fhm.edu>

	* app/gimprc.c: Convert ugly comments into named structure fields.
	Much cleaner and less errorprone though may cause troubles on
	older compilers and then needs to be reverted. Please report!

	* app/base/base-types.h: Add FIXME reminder.

	* app/base/gimplut.c: Use CLAMP macro instead of if-cascade.

	* app/base/temp-buf.c: Remove duplicated calculations and simplify
	checks.

	* app/base/tile-manager.c:
	- (tile_manager_get_tile_num): Return success and take an additional
	  pointer for the tilenumber.
	- Simplify logic in the rest of the file as a result.
	- Remove rotten debugging cruft.

	* app/core/gimpbrushgenerated.c: Fix two stylistic nits.

	* app/app_procs.c: Include <stdlib.h> for exit () prototype.

	* app/core/gimpdrawable-blend.c: Include <stdlib.h> for abs ()
	prototype.

	* app/display/gimpdisplay.c: Include <string.h> for memcpy ()
	prototype.

	* app/core/gimpimage-convert.c: (HIST_RGB): First parameter is
	not const. Fixes a gcc warning for a wrong return value.

	* libgimpwidgets/gimpunitmenu.c
	* app/core/gimpunit.c: Add suggested (by gcc 3.1 cvs) parentheses
	to group correct logic tests together.

	* app/paint-funcs/paint-funcs-generic.h: Fix my HAS_ALPHA macro
	to avoid gcc 3.1 cvs warning.

	* app/gimprc.h
	* pathP.h
	* base-config.h
	* app/base/boundary.h
	* app/base/gimplut.[ch]
	* app/base/pixel-region.h
	* app/base/pixel-surround.[ch]
	* app/base/temp-buf.[ch]
	* app/base/tile-manager-private.h
	* app/base/tile-manager.c
	* app/base/tile-private.h
	* app/base/tile.[ch]
	* app/core/gimp.h
	* app/core/gimpbrushgenerated.h
	* app/core/gimpbrushpipe.h
	* app/core/gimpchannel.[ch]
	* app/core/gimpcontainer.h
	* app/core/gimpcoreconfig.h
	* app/core/gimpdata.h
	* app/core/gimpdatafactory.[ch]
	* app/core/gimpdrawable-blend.c
	* app/core/gimpdrawable.[ch]
	* app/core/gimpimage.h
	* app/core/gimpimagefile.h
	* app/core/gimplayer.h
	* app/core/gimplayermask.h
	* app/core/gimpmoduleinfo.h
	* app/core/gimppalette.h
	* app/core/gimpundo.h
	* app/display/gimpdisplay.h
	* app/display/gimpdisplayshell-selection.h
	* app/display/gimpdisplayshell.h
	* app/gui/brush-select.h
	* app/gui/gradient-editor.h
	* app/gui/gradient-select.h
	* app/gui/info-dialog.h
	* app/gui/resize-dialog.h
	* app/tools/gimpbezierselecttool.h
	* app/tools/gimpcolorbalancetool.h
	* app/tools/gimpcolorpickertool.h
	* app/tools/gimpcurvestool.h
	* app/tools/gimpdodgeburntool.c
	* app/tools/gimpfreeselecttool.h
	* app/tools/gimpfuzzyselecttool.h
	* app/tools/gimphuesaturationtool.h
	* app/tools/gimpinktool-blob.h
	* app/tools/gimpinktool.h
	* app/tools/gimpiscissorstool.h
	* app/tools/gimpmagnifytool.h
	* app/tools/gimpmeasuretool.h
	* app/tools/gimppainttool.h
	* app/tools/gimppathtool.h
	* app/tools/gimprectselecttool.h
	* app/tools/gimpthresholdtool.h
	* app/tools/gimptool.h
	* app/tools/gimptransformtool.h
	* app/tools/path_toolP.h
	* app/widgets/gimpbrushfactoryview.h
	* app/widgets/gimpconstrainedhwrapbox.h
	* app/widgets/gimpcontainermenu.h
	* app/widgets/gimpcontainerview.h
	* app/widgets/gimpdialogfactory.h
	* app/widgets/gimpimagedock.h
	* app/widgets/gimplistitem.h
	* app/widgets/gimpmenuitem.h
	* app/widgets/gimpnavigationpreview.h
	* app/widgets/gimppreview.h: Unsignify lots of variables and
	parameters and use bitfields in structs where possible. First
	part of a huge cleanup all over the code...
2001-12-02 14:59:30 +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 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 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 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 c56094201d the active_tool may change in the middle of gdisplay_canvas_events(), so
2001-07-08  Michael Natterer  <mitch@gimp.org>

	* app/disp_callbacks.c: the active_tool may change in the middle
	of gdisplay_canvas_events(), so re-get it after using it for
	cursor_update.

	* app/base/boundary.c: made some global variables local.

	* app/core/gimpdrawable.c: don't call gimp_drawable_set_visible()
	in gimp_drawable_configure() because we don't want signal
	emissions while configuring the drawable.

	* app/gui/Makefile.am
	* app/gui/brushes-commands.[ch]
	* app/gui/data-commands.[ch]
	* app/gui/gradients-commands.[ch]
	* app/gui/palettes-commands.[ch]
	* app/gui/patterns-commands.[ch]: new files for new new item
	factories' callbacks.

	* app/gui/menus.[ch]: added context menus for brushes, patterns, ...

	* app/gui/gradient-editor.c
	* app/gui/palette-editor.c: removed the "Save as POV", "Import
	Palette" and "Merge Palattes" buttons as they are item factory
	callbacks now.

	* app/widgets/gimpbrushfactoryview.[ch]
	* app/widgets/gimpbufferview.[ch]
	* app/widgets/gimpcontainereditor.[ch]
	* app/widgets/gimpdatafactoryview.[ch]: pass a
	"GimpContainerContextFunc" pointer to all GimpContainerEditor
	subclasses' constructors. Use the function to show the context
	menu.

	* app/widgets/gimpcontainergridview.c: dispatch the previews'
	"context" signal.

	* app/widgets/gimppreview.[ch]: new signal "context" which is
	emitted on right-click.

	* app/gui/brush-select.c
	* app/gui/dialogs-constructors.c
	* app/gui/gradient-select.c
	* app/gui/layers-commands.c
	* app/gui/palette-select.c
	* app/gui/pattern-select.c
	* app/gui/test-commands.c: changed accordingly.
2001-07-08 21:44:52 +00:00
Michael Natterer 3ef20cd842 major cleanup. After being finished, I decided that it needs to be
2001-06-18  Michael Natterer  <mitch@gimp.org>

	* app/nav_window.[ch]: major cleanup. After being finished, I
	decided that it needs to be factored out to a widget (see below),
	so like 90% of this file will go away soon.

	* app/apptypes.h: added opaque NavigationDialog typedef.

	* app/gdisplay.[ch]: Added gdisplay_selection_visibility() which
	is called from gdisplays_selection_visibility(). Capitalized the
	SelectionControl enum values. Cleaned up the GDisplay struct and
	it's initialisation while i was on it.

	* app/gimage.c: gimage_size_changed_handler(): removed stuff which
	is now done by GimpImage itself.

	* app/scale.c
	* app/scroll.c: also update the navigation popup, not only the
	dialog.

	* app/selection.[ch]: major indentation & cleanup attack. Maybe
	found the "Selection vanishes" bug (the timeout id was assinged to
	a gint, not a _guint_).

	* app/undo.c: s/gimp_image_size_changed/gimp_viweable_size_changed/

	* app/core/gimpdrawable.c: invalidate the image's preview from our
	"invalidate_preview" implementation. This means that the image's
	preview is invalidated way too often currently, which cries for
	some general freeze/thaw mechanism on the GimpViewable level.
	(Note that previews are rendered in the idle loop, so this is not
	really a major performance impact, it's just ugly).

	* app/core/gimpimage.[ch]: removed the "size_changed" signal...

	* app/core/gimpviewable.[ch]: ...and added it here.

	* app/core/gimplayer.c: invalidate_preview(): always chain up,
	also if it's a floating selection.

	* app/gui/info-dialog.[ch]
	* app/gui/info-window.c: minor cleanups.

	* app/gui/preferences-dialog.c: no need to invalidate the image
	after we have invalidated all it's layers.

	* app/core/gimpimage-mask.c
	* app/gui/commands.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpinktool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimppainttool.c: capitalized the SelectionCommand enum
	values.

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

	* app/widgets/gimppreview.[ch]: added a non-working
	non-dot-for-dot mode. Added xres/yres params to the
	gimp_preview_calc_size() helper function.

	Cache the "size" value which was passed to the simple function
	variants (gimp_preview_new() and gimp_preview_set_size()) so we
	can re-calculate the preview's extents on the underlying
	viewable's "size_changed" signal and on gimp_preview_set_viewable().

	* app/widgets/gimpdrawablepreview.c
	* app/widgets/gimpimagepreview.c: changed accordingly.
2001-06-18 13:10:03 +00:00
Michael Natterer 07b8ffd4bd don't #include "gui/color-select.h"
2001-05-03  Michael Natterer  <mitch@gimp.org>

	* app/app_procs.c: don't #include "gui/color-select.h"

	* app/disp_callbacks.[ch]: renamed gdisplay_drop_viewable() to
	gdisplay_drop_pattern().

	* app/gimpimage.[ch]: added new signals
	"component_visibility_changed" and "component_active_changed" and
	emit them in the resp. accessors.

	* app/interface.c: removed old GimpPreview test code.

	* app/widgets/Makefile.am
	* app/apptypes.h
	* app/widgets/gimpchannellistview.[ch]
	* app/widgets/gimpcomponentlistitem.[ch]: new (unfinished) widgets.

	* app/widgets/gimpdockbook.c: switch to the right-clicked notebook
	page before showing the menu.

	* app/widgets/gimpdrawablelistitem.[ch]: removed the protected
	functions which make the toggle buttons look nicer...

	* app/widgets/gimplistitem.[ch]: ...and added them here.

	* app/widgets/gimpdrawablelistview.[ch]: virtualized set_image()
	so subclasses can properly (dis)connect on image change.

	* app/widgets/gimpdrawablepreview.c
	* app/widgets/gimpimagepreview.[ch]: removed the calc_size()
	functions which calculate the preview's aspect ratio...

	* app/widgets/gimppreview.[ch]: ...and added then here as
	protected functions.

	* app/widgets/gimplayerlistitem.c: flush displays after changing
	the layer mask's "apply" or "show" state.
2001-05-03 12:26:05 +00:00
Michael Natterer 7b7081b774 removed prototype of function which doesn't exist.
2001-05-01  Michael Natterer  <mitch@gimp.org>

	* app/gimpimage.h: removed prototype of function which doesn't
	exist.

	* app/widgets/gimppreview.[ch]: new signal "extended_clicked"
	which is emitted instead of "clicked" if the user pressed shift,
	control or mod1 on button_press.

	* app/widgets/gimplayerlistitem.c: use the "extended_clicked"
	signal to toggle the layer mask's "show" and "apply" states.
2001-05-01 16:45:29 +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 04f7131848 added cmd_callbacks for the toolbox and the preferences dialog.
2001-02-24  Michael Natterer  <mitch@gimp.org>

	* app/commands.[ch]: added cmd_callbacks for the toolbox and
	the preferences dialog.

	* app/context_manager.c: cleanup.

	* app/gimppreview.[ch]: made gimp_preview_render() public.

	* app/gimptoolinfopreview.c
	* app/tools/gimptoolinfo.c: the tool previews look nice now but
	are still ugly implemented (it renders tons of temp_bufs on each
	state change).

	* app/indicator_area.[ch]: pass a context to the constructor.

	* app/menus.c: don't call the toolbox and the prefs dialog
	directly but dispatch via commands.[ch]

	* app/preferences_dialog.[ch]
	* app/toolbox.[ch]: renamed the constructor / raise function, cleanup.

	* app/tools/color_picker.c: tried to get the shortcut working again.

	* app/tools/paint_options.c: the brush dialog's paint options
	are shown/hidden from the context manager now.
2001-02-24 02:42:09 +00:00
Michael Natterer 8710fa8941 app/commands.[ch] first version of the new layers and channels dialogs.
2001-02-19  Michael Natterer  <mitch@gimp.org>

	* app/commands.[ch]
	* app/menus.c: first version of the new layers and channels dialogs.

	* app/gimpcontainergridview.c
	* app/gimpcontainerlistview.c: allow creation with a NULL container.

	* app/gimpdnd.[ch]: added generic DND functions for all drawable
	types (not just setting the DND icon). Started to remove code
	duplication.

	* app/gimpdrawablepreview.c: with some magic calculations and ugly
	assumptions the drawable previews now look exactly like in the old
	L&C dialog.

	* app/gimpimagepreview.c: no need to say "return" at the end of a
	void function.

	* app/gimppreview.[ch]: added the "is_popup" boolean also to the
	default constructor. Call gimp_preview_set_viewable() before
	calculating the preview size.
2001-02-19 22:54:12 +00:00
Michael Natterer 656d1fae86 app/gradient_editor.[ch] use GimpContainerListView instead of cooking an
2001-02-13  Michael Natterer  <mitch@gimp.org>

	* app/gradient_editor.[ch]
	* app/gradient_select.[ch]: use GimpContainerListView instead of
	cooking an own list.

	* app/gimpgradient.[ch]: removed the GdkPixmap from the gradient.

	* app/gimpcontainerlistview.c: connect the viewable's "name_changed"
	signal to the label.

	* app/gimpmarshal.[ch]
	* app/gimppreview.[ch]: new virtual function "get_size",

	* app/gimpgradientpreview.c: implement "get_size" and return a 3:1
	aspect ratio.

	* app/gradients.c
	* app/palette_select.[ch]
	* app/palettes.c: removed the dialog freeze/thaw functions.

	* app/brush_select.c
	* app/pattern_select.c
	* app/plug_in.c: stuff.
2001-02-13 00:12:15 +00:00
Michael Natterer 07300cf385 app/Makefile.am app/gradientP.h removed.
2001-02-10  Michael Natterer  <mitch@gimp.org>

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

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

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

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

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

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

	* app/commands.[ch]
	* app/menus.c: example views on the gradient container.
2001-02-10 19:35:29 +00:00
Michael Natterer 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 1823b4645b moved the constructor-parameter-overkill to the new function
2001-02-09  Michael Natterer  <mitch@gimp.org>

	* app/gimppreview.[ch]: moved the constructor-parameter-overkill
	to the new function gimp_preview_new_full() and made the
	gimp_preview_new() interface simple.

	* app/gimpbrushpreview.c
	* app/gimppatternpreview.c: added DND support.

	* app/gimpdnd.c: use the new preview system.

	* app/gimpconstrainedhwrapbox.c: implement "size_allocate". Ok,
	this is silly -- I will write an own widget which does the
	"scrollable grid of whatever" stuff in one place...

	* app/commands.c
	* app/gimpcontainergridview.c
	* app/gimpcontainerlistview.c
	* app/gimpimagepreview.c: follow the GimpPreview constructor change.
2001-02-09 15:12:01 +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 7118df5262 added a "border" attribute. The border can have any color (which has no
2001-02-08  Michael Natterer  <mitch@gimp.org>

	* app/gimppreview.[ch]: added a "border" attribute. The border can
	have any color (which has no sane API yet...). Added "width" and
	"height" attributes and provide a "set_size" function.

	* app/gimpbrushpreview.c
	* app/gimpcontainergridview.c
	* app/gimpcontainerlistview.c
	* app/gimpimagepreview.c
	* app/gimppatternpreview.c: changed accordingly, enabled
	highlighting of the selected item in the grid views.
2001-02-07 23:14:14 +00:00
Michael Natterer e0d1187637 allocate less temp_bufs by removing the "create_preview" virtual function
2001-02-07  Michael Natterer  <mitch@gimp.org>

	* app/gimppreview.[ch]: allocate less temp_bufs by removing the
	"create_preview" virtual function and adding a "render" one.

	Implementations have to call the new public function
	gimp_preview_render_and_flush() to render their temp_bufs.
	This way, e.g. the GimpPatternPreview can render the preview
	directly from the pattern's mask.

	* app/gimpdrawablepreview.c
	* app/gimpimagepreview.c
	* app/gimppatternpreview.c: changed accordingly.

	* app/gimpbrushpreview.[ch]: same as above and added BrushPipe
	popup animation.
2001-02-07 20:35:18 +00:00
Michael Natterer d1bae8a4ab app/gimppreview.[ch] app/gimpbrushpreview.c app/gimpcontainergridview.c
2001-02-07  Michael Natterer  <mitch@gimp.org>

	* app/gimppreview.[ch]
	* app/gimpbrushpreview.c
	* app/gimpcontainergridview.c
	* app/gimpcontainerlistview.c
	* app/gimpimagepreview.c
	* app/gimppatternpreview.c: added an "is_popup" parameter to the
	preview constructor so the subclasses can decide if to do special
	stuff like pipe animation.
2001-02-07 18:01:54 +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 5ffb34db38 V2001-02-07 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
	* app/gimpdrawable-preview.[ch]: new files formerly known as
	gimpdrawablepreview.[ch].

	This is a new naming scheme for methods of objects which live
	outside their object's file. The old name implied a derived object
	(and is in fact now taken by a GimpPreview subclass, see below).

	Further candidates for renaming are e.g. gimpdrawable-invert.[ch],
	gimpimage-convert.[ch] etc.  Finaly, the main objects (image,
	drawable) will go to their own directories together with their
	subclasses.

	* app/apptypes.h: added typedefs for the new objects:

	* app/gimpbrushpreview.[ch]
	* app/gimppatternpreview.[ch]: new subclasses of GimpPreview.

	* app/gimpdrawablepreview.[ch]: contains a subclass of GimpPreview
	now.

	* app/gimpviewable.[ch]: renamed the virtual functions to
	"get_preview" and "get_new_preview" to avoid confusion with the
	new GimpPreview subclasses.

	* app/gimppreview.[ch]: virtualized "create_preview" and
	"create_popup".

	* app/gimpmarshal.[ch]: new marsaller for GimpPreview.

	* app/channels_dialog.c
	* app/fileops.c
	* app/gimpbrush.c
	* app/gimpdnd.c
	* app/gimpdrawable.c
	* app/gimpimage.c
	* app/gimppattern.c
	* app/layer_select.c
	* app/layers_dialog.c
	* app/lc_dialog.c
	* app/nav_window.c
	* app/palette_import.c
	* app/undo_history.c
	* app/pdb/drawable_cmds.c
	* app/pdb/image_cmds.c
	* tools/pdbgen/pdb/drawable.pdb
	* tools/pdbgen/pdb/image.pdb: changed accordingly.
2001-02-07 00:06:58 +00:00
Michael Natterer 6c1915daf9 app/gimpcontainergridview.[ch] added "min_items_x" and "min_items_y"
2001-02-06  Michael Natterer  <mitch@gimp.org>

	* app/gimpcontainergridview.[ch]
	* app/gimpcontainerlistview.[ch]: added "min_items_x" and
	"min_items_y" parameters to the constructors.

	* app/gimppreview.[ch]: added event handling for "click" and
	"popup", show a dummy popup for testing.

	* app/commands.c: changed accordingly.

	* app/menus.c: added a separator and removed N_() from the test stuff.
2001-02-06 21:43:59 +00:00
Michael Natterer f16c3aef18 app/Makefile.am new widget providing a grid view in the style of the
2001-02-05  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/gimpcontainergridview.[ch]: new widget providing a grid view
	in the style of the current brush and pattern selections.

	* app/gimpcontainerlistview.[ch]
	* app/gimppreview.[ch]: the constructors take "width" and "height"
	parameters now.

	* app/gimpviewable.c: if the viewable is not able to generate
	a static (cached) preview, create a new one and cache it ourselves.

	* app/gimppattern.c: produce a nice preview.

	* app/temp_buf.[ch]: changed temp_buf_copy_area() to take a
	destination offset instead of a border parameter. This function
	was not used at all before.

	* app/commands.[ch]
	* app/menus.c: test dialogs for the grid view.
2001-02-05 21:52:57 +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