Commit Graph

239 Commits

Author SHA1 Message Date
William Skaggs ea267753f6 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/core/gimpimage-sample-points.c
	* app/core/gimpimage-sample-points.h: new files

	* app/actions/view-actions.c
	* app/actions/view-commands.c
	* app/actions/view-commands.h
	* app/config/gimprc-blurbs.h
	* app/core/Makefile.am
	* app/core/core-enums.c
	* app/core/core-enums.h
	* app/core/core-types.h
	* app/core/gimp.c
	* app/core/gimp.h
	* app/core/gimpimage-crop.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-flip.c
	* app/core/gimpimage-rotate.c
	* app/core/gimpimage-scale.c
	* app/core/gimpimage-undo-push.c
	* app/core/gimpimage-undo-push.h
	* app/core/gimpimage.c
	* app/core/gimpimage.h
	* app/display/gimpdisplayoptions.c
	* app/display/gimpdisplayoptions.h
	* app/display/gimpdisplayshell-appearance.c
	* app/display/gimpdisplayshell-appearance.h
	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell-draw.c
	* app/display/gimpdisplayshell-draw.h
	* app/display/gimpdisplayshell-handlers.c
	* app/display/gimpdisplayshell.c
	* app/display/gimpdisplayshell.h
	* app/widgets/gimphelp-ids.h
	* menus/image-menu.xml.in: add support for a list of "sample
	points" in each image, coded and handled very similarly to
	guides, for use mainly in color correction.  See bug #137776.
2005-03-04 16:34:59 +00:00
Michael Natterer 150bea1e80 Implemented "Snap to Canvas Edges" (fixes bug #152971) and "Snap to Active
2005-01-03  Michael Natterer  <mitch@gimp.org>

	Implemented "Snap to Canvas Edges" (fixes bug #152971) and
	"Snap to Active Path" (half way done):

	* app/core/gimpimage-snap.[ch]: added boolean snap_to_canvas and
	snap_to_vectors parameters (snap_to_vectors works fine when
	snapping to a point, but is unimplemented for snapping to a
	rectangle).

	* app/display/gimpdisplayshell.[ch] (struct GimpDisplayShell):
	added snap_to_canvas and snap_to_vectors booleans.

	* app/display/gimpdisplayshell-appearance.[ch]: added API to
	get/set them.

	* app/actions/view-actions.c
	* app/actions/view-commands.[ch]
	* app/widgets/gimphelp-ids.h: added actions, callbacks and help IDs.

	* menus/image-menu.xml.in: added them to Image->View.
2005-01-03 16:19:10 +00:00
Michael Natterer aef1cf9306 app/display/Makefile.am app/display/gimpdisplayshell-autoscroll.[ch] new
2005-01-02  Michael Natterer  <mitch@gimp.org>

	* app/display/Makefile.am
	* app/display/gimpdisplayshell-autoscroll.[ch]
	* app/display/gimpdisplayshell-coords.[ch]: new files factored out
	of gimpdisplayshell-callbacks.c

	* app/display/gimpdisplayshell.h (struct GimpDisplayShell): added
	"gpointer scroll_info" needed by autoscroll.

	* app/display/gimpdisplayshell-callbacks.c: removed the stuff
	above. Also removed the static autoscroll struct because it's not
	needed any longer.
2005-01-02 20:42:31 +00:00
Sven Neumann 297b53a466 no need to include gimpdisplayshell-render.h here.
2004-10-01  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c: no need to include
	gimpdisplayshell-render.h here.

	* app/display/gimpdisplayshell-draw.c
	* app/display/gimpdisplayshell-render.[ch]

	* app/display/gimpdisplayshell.[ch]: added an API to highlight a
	rectangle (specified in image coordinates). Actually it doesn't
	highlight but dims the area outside the rectangle.

	* app/tools/gimpcroptool.c: use the new functionality to show the
	area to be cropped. Fixes bug #93360.
2004-10-01 09:50:04 +00:00
Michael Natterer 7d065360c7 configure.in added new directory app/dialogs and link libappdialogs.c into
2004-09-13  Michael Natterer  <mitch@gimp.org>

	* configure.in
	* app/Makefile.am: added new directory app/dialogs and link
	libappdialogs.c into the gimp binary.

	* app/gui/Makefile.am
	* app/gui/gui-types.h
	* app/gui/gui-vtable.c
	* app/gui/gui.c

	* app/gui/about-dialog.[ch]
	* app/gui/authors.h
	* app/gui/color-notebook.[ch]
	* app/gui/convert-dialog.[ch]
	* app/gui/dialogs-constructors.[ch]
	* app/gui/dialogs.[ch]
	* app/gui/file-dialog-utils.[ch]
	* app/gui/file-new-dialog.[ch]
	* app/gui/file-open-dialog.[ch]
	* app/gui/file-open-location-dialog.[ch]
	* app/gui/file-save-dialog.[ch]
	* app/gui/grid-dialog.[ch]
	* app/gui/info-dialog.[ch]
	* app/gui/info-window.[ch]
	* app/gui/module-browser.[ch]
	* app/gui/offset-dialog.[ch]
	* app/gui/palette-import-dialog.[ch]
	* app/gui/preferences-dialog.[ch]
	* app/gui/quit-dialog.[ch]
	* app/gui/resize-dialog.[ch]
	* app/gui/resolution-calibrate-dialog.[ch]
	* app/gui/stroke-dialog.[ch]
	* app/gui/tips-dialog.[ch]
	* app/gui/tips-parser.[ch]
	* app/gui/user-install-dialog.[ch]: removed these files...

	* app/dialogs/Makefile.am
	* app/dialogs/dialogs-types.h

	* app/dialogs/*.[ch]: ...and added them here. Changed some
	filenames like module-browser -> module-dialog.

	* app/app_procs.c
	* app/actions/actions-types.h
	* app/actions/actions.c
	* app/actions/dialogs-actions.c
	* app/actions/dialogs-commands.c
	* app/actions/dockable-commands.c
	* app/actions/drawable-commands.c
	* app/actions/edit-commands.c
	* app/actions/file-commands.c
	* app/actions/gradient-editor-commands.c
	* app/actions/image-commands.c
	* app/actions/layers-commands.c
	* app/actions/palettes-commands.c
	* app/actions/select-commands.c
	* app/actions/templates-commands.c
	* app/actions/templates-commands.h
	* app/actions/vectors-commands.c
	* app/actions/view-commands.c
	* app/display/gimpdisplayshell-cursor.c
	* app/display/gimpdisplayshell-title.c
	* app/display/gimpdisplayshell.[ch]
	* app/tools/gimpcroptool.c
	* app/tools/gimpperspectivetool.c
	* app/tools/gimprotatetool.c
	* app/tools/gimpscaletool.c
	* app/tools/gimpsheartool.c
	* app/tools/gimptransformtool.[ch]
	* app/tools/gimpvectortool.c
	* app/widgets/gimpcolormapeditor.[ch]
	* app/widgets/gimpcolorpanel.c
	* app/widgets/gimpgradienteditor.[ch]
	* app/widgets/gimppaletteeditor.[ch]
	* app/widgets/gimptoolbox-color-area.c
	* menus/toolbox-menu.xml.in
	* tools/authorsgen/authorsgen.pl: changed accordingly.
2004-09-13 15:15:23 +00:00
Michael Natterer 69ac9e85ff Added support for motion event history as provided by some input device
2004-07-29  Michael Natterer  <mitch@gimp.org>

	Added support for motion event history as provided by some input
	device drivers. If you have a tablet driver supporting this,
	please try and report back.

	* app/display/gimpdisplayshell.h (struct GimpDisplayShell): added
	member "guint32 last_motion_time".

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_tool_events): remember the last_motion_time on
	button_press() and after motion() and ask the current device for
	its motion history; in motion(), if the active_tool asks for exact
	motions, check if the input device recorded a motion history and
	process the history instead of the motion event.

	(gimp_display_shell_get_time_coords): new utility function which
	gets GimpCoords from a GdkTimeCoord struct as used by the motion
	history.
2004-07-29 13:21:55 +00:00
Michael Natterer fe9d9be66b Code review & cleanup:
2004-07-14  Michael Natterer  <mitch@gimp.org>

	Code review & cleanup:

	* app/config/gimpguiconfig.[ch]: removed transparency-size,
	transparency-type and snap-distance properties...

	* app/config/gimpdisplayconfig.[ch]: ...and added them here.

	* app/display/gimpdisplayshell.c
	* app/tools/gimpmovetool.c: changed accordingly.

	* app/core/gimpimage-scale.[ch] (gimp_layer_scale_check): added a
	"max_memsize" parameter instead of looking it up in GimpGuiConfig.

	* app/actions/image-commands.c: changed accordingly.

	* app/core/gimparea.c
	* app/core/gimpdrawable.c: converted tabs to spaces, cleanup.

	* app/core/gimpprojection.[ch]: renamed IdleRenderStruct to
	GimpProjectionIdleRender, reordered functions, cleanup.

	* app/display/gimpdisplay-handlers.c
	* app/display/gimpdisplay.c: removed unused #includes.

	* app/display/gimpdisplayshell.[ch]
	* app/display/gimpdisplayshell-close.c: renamed
	shell->warning_dialog to shell->close_dialog, some random
	cleanups.

	* app/display/gimpdisplayshell-handlers.c
	* app/widgets/gimpselectioneditor.c: minor coding style cleanup.
2004-07-14 10:31:59 +00:00
Michael Natterer 2226ddf7e4 app/display/Makefile.am new files for gimp_display_shell_close() and its
2004-07-14  Michael Natterer  <mitch@gimp.org>

	* app/display/Makefile.am
	* app/display/gimpdisplayshell-close.[ch]: new files for
	gimp_display_shell_close() and its dialog & callback.

	* app/display/gimpdisplayshell.[ch]: removed from here.

	* app/actions/view-actions.c (view_close_view_cmd_callback):
	changed accordingly.
2004-07-14 00:15:57 +00:00
Michael Natterer 9fe8e84963 app/actions/view-actions.c added actions & callbacks to configure the
2004-06-22  Michael Natterer  <mitch@gimp.org>

	* app/actions/view-actions.c
	* app/actions/view-commands.[ch]: added actions & callbacks to
	configure the canvas padding color.

	* app/widgets/gimphelp-ids.h
	* menus/image-menu.xml.in: added the actions' help IDs and menu entries.

	* app/display/display-enums.h: added /*< skip >*/'ed enum value
	GIMP_CANVAS_PADDING_MODE_RESET.

	* app/display/gimpdisplayshell-appearance.c
	* app/display/gimpdisplayshell-callbacks.[ch]
	* app/display/gimpdisplayshell-handlers.c
	* app/display/gimpdisplayshell.[ch]: removed the canvas padding
	button and its popup menu (fixes bug #142996). Instead, added a
	toggle button which allows to zoom the image when the window is
	resized (as known from sodipodi, except it doesn't work as nice
	yet :-) improvements to the algorithm are welcome).
	Cleaned up the GimpDisplayShell struct a bit and renamed some
	of its members.

	* libgimpwidgets/gimpstock.[ch]
	* themes/Default/images/Makefile.am
	* themes/Default/images/stock-zoom-follow-window-12.png: added new
	icon for the new display toggle button.
2004-06-22 16:31:27 +00:00
Michael Natterer 1082ee6b94 remember the last used GimpCursorFormat so changing the format in prefs
2004-06-14  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.[ch]: remember the last used
	GimpCursorFormat so changing the format in prefs applies
	instantly, and not after the next tool change.

	* app/display/gimpdisplayshell-cursor.[ch]
	* app/tools/gimptool.[ch]
	* app/tools/gimptoolcontrol.[ch]
	* app/tools/gimpclonetool.c
	* app/tools/gimpcolortool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimptransformtool.c: s/GdkCursorType/GimpCursorType/g
2004-06-14 10:19:39 +00:00
Philip Lafleur afb3f5c16c Fixed incorrect logic that caused perfect-but-slow pointer tracking to be
2004-06-12  Philip Lafleur  <plafleur@cvs.gnome.org>

	* app/display/gimpdisplayshell-callbacks.c: Fixed incorrect logic that
	caused perfect-but-slow pointer tracking to be used in tools that
	don't request exact mode.

	* app/display/Makefile.am:
	* app/display/gimpdisplayshell-appearance.[ch]:
	* app/display/gimpdisplayshell-callbacks.c:
	* app/display/gimpdisplayshell.[ch]:
	* app/display/gimpdisplayshell-preview.[ch]: added
	* app/tools/gimpperspectivetool.c:
	* app/tools/gimprotatetool.c:
	* app/tools/gimpscaletool.c:
	* app/tools/gimpsheartool.c:
	* app/tools/gimptransformoptions.[ch]:
	* app/tools/gimptransformtool.[ch]: Implemented live transformation
	previews, available through tool options. Fixes bug #108172.
2004-06-13 01:37:29 +00:00
Sven Neumann c509204b7d tools/pdbgen/pdb/image.pdb app/pdb/image_cmds.c reverted changes I did to
2004-06-01  Sven Neumann  <sven@gimp.org>

	* tools/pdbgen/pdb/image.pdb
	* app/pdb/image_cmds.c
	* app/core/gimpimage.[ch]: reverted changes I did to the image
	unit earlier. As in 2.0, it will continue to not accept pixels.
	This makes the PDB API and the XCF format compatible again and
	fixes bug #142961 (and to some extent bug #137704).

	* app/core/Makefile.am
	* app/core/gimpimage-unit.[ch]: removed these files. The
	convenience accessors defined here aren't commonly used any
	longer.

	* app/display/gimpdisplay.[ch]
	* app/display/gimpdisplayshell.[ch]: added a unit parameter to
	gimp_display_new(). Made "unit" and "scale" properties of
	GimpDisplayShell.

	* app/actions/image-commands.c
	* app/actions/images-commands.c
	* app/actions/layers-commands.c
	* app/actions/select-commands.c
	* app/actions/view-commands.c
	* app/core/gimp-edit.c
	* app/core/gimp.[ch]
	* app/core/gimptemplate.c
	* app/display/gimpdisplayshell-handlers.c
	* app/display/gimpdisplayshell-scale.c
	* app/display/gimpdisplayshell-title.c
	* app/display/gimpstatusbar.c
	* app/file/file-open.c
	* app/gui/gui-vtable.c
	* app/gui/info-window.c
	* app/gui/offset-dialog.c
	* app/gui/resize-dialog.[ch]
	* app/pdb/display_cmds.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimppainttool.c
	* app/tools/gimprectselecttool.c
	* app/tools/gimprotatetool.c
	* app/tools/gimpscaletool.c
	* app/vectors/gimpvectors-export.c
	* app/widgets/gimptoolbox-dnd.c
	* tools/pdbgen/pdb/display.pdb: changed accordingly. Use the
	display unit where the image unit was used before.
2004-06-01 22:04:20 +00:00
Michael Natterer cf3533ba9c put the image popup menu into a dummy menubar to work around the silly
2004-05-17  Michael Natterer  <mitch@gimp.org>

	* menus/menus.xsl: put the image popup menu into a dummy menubar
	to work around the silly GtkUIManager restriction that popup menus
	can't have tearoff items.

	* app/menus/menus.c
	* app/menus/image-menu.c
	* app/display/gimpdisplayshell-callbacks.c
	* app/gui/gui-vtable.c
	* app/menus/plug-in-menus.c: changed accordingly.

	* app/gui/gui.c (gui_restore_after_callback): connect to
	"notify::tearoff-menus" of GimpGuiConfig and reconfigure the
	global image UI manager accordingly.

	* app/config/gimpguiconfig.c: removed GIMP_PARAM_RESTART from the
	"tearoff-menus" property because GtkUIManager can change this on
	the fly.

	* app/display/gimpdisplayshell.[ch]: added the menubar to the
	GimpDisplayShell struct. Some cleanup in gimp_display_shell_new().

	* app/display/gimpdisplayshell-appearance.c
	(gimp_display_shell_set_show_menubar): use shell->menubar instead
	of asking the UI manager.

	* app/widgets/gimpuimanager.[ch]: changed gimp_ui_manager_ui_get()
	to transparently load the XML files even if a sub-widget was
	requested. Reordered parameters of gimp_ui_manager_ui_popup().
	Lots of internal cleanups.

	* app/widgets/gimpdockable.c
	* app/widgets/gimptooloptionseditor.c: simplified accordingly.

	* app/widgets/gimpeditor.[ch]: added new function
	gimp_editor_popup_menu() which takes a GimpMenuPositionFunc and
	updates/shows the editor's menu.

	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpcomponenteditor.c
	* app/widgets/gimpcontainereditor.c
	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimpcontainertreeview.c
	* app/widgets/gimperrorconsole.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimppaletteeditor.c: use gimp_editor_popup_menu().

	* app/widgets/gimptoolbox.c: moved all code from
	gimp_toolbox_new() to GObject::constructor().
2004-05-17 13:38:03 +00:00
Michael Natterer 4654280114 Switch from GtkItemFactory to GtkUIManager. The migration is almost
2004-04-29  Michael Natterer  <mitch@gimp.org>

	Switch from GtkItemFactory to GtkUIManager. The migration is
	almost complete, still stuff missing/incomplete, definitely added
	a bunch of new bugs...

	* app/actions/*-commands.[ch]: converted all callback from
	GtkItemFactory callbacks to GtkAction callbacks.

	* app/actions/debug-actions.c
	* app/actions/gradient-editor-actions.c
	* app/actions/help-actions.c
	* app/actions/plug-in-actions.c
	* app/actions/qmask-actions.c
	* app/actions/tool-options-actions.c: various fixes.

	* app/display/gimpdisplay.[ch]
	* app/display/gimpdisplayshell-appearance.[ch]
	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell.[ch]: move everything from
	GtkItemFactory to GtkUIManager.

	* app/gui/dialogs.[ch]: added new function dialogs_get_toolbox().
	Needed because the action callbacks don't have a widget parameter
	and sometimes we need a parent window for showing dialogs.

	* app/gui/Makefile.am
	* app/gui/brushes-menu.[ch]
	* app/gui/buffers-menu.[ch]
	* app/gui/channels-menu.[ch]
	* app/gui/colormap-editor-menu.[ch]
	* app/gui/dialogs-menu.[ch]
	* app/gui/documents-menu.[ch]
	* app/gui/error-console-menu.[ch]
	* app/gui/fonts-menu.[ch]
	* app/gui/gradient-editor-menu.[ch]
	* app/gui/gradients-menu.[ch]
	* app/gui/images-menu.[ch]
	* app/gui/layers-menu.[ch]
	* app/gui/palette-editor-menu.[ch]
	* app/gui/palettes-menu.[ch]
	* app/gui/patterns-menu.[ch]
	* app/gui/qmask-menu.[ch]
	* app/gui/templates-menu.[ch]
	* app/gui/vectors-menu.[ch]: removed these files.

	* app/gui/gui.c: create a global UI manager for the image popup
	menu and the toolbox menubar.

	* app/gui/menus.[ch]: removed all GtkItemFactory code.

	* app/gui/image-menu.[ch]
	* app/gui/toolbox-menu.[ch]: removed everything except the trivial
	setup_funcs.

	* app/gui/file-open-menu.c
	* app/gui/file-save-menu.c
	* app/gui/tool-options-menu.c: don't use the macros from menus.h
	any more, they are gone.

	* app/gui/gui-vtable.c
	* app/gui/plug-in-menus.[ch]: create/destroy the dynamic plug-in
	menu entries.

	* app/tools/gimpimagemaptool.c: s/gimp_item_factory_update/
	gimp_ui_manager_update/g

	* app/widgets/gimpuimanager.[ch]: added API to get an action
	group by name.

	* app/widgets/gimpmenufactory.c: don't choke on the item_factory
	entries being NULL.

	* app/widgets/gimpactiongroup.c: make sure booleans set using
	g_object_set() only have TRUE or FALSE values.

	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpcomponenteditor.c
	* app/widgets/gimpcontainereditor.[ch]
	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimpcontainertreeview.c
	* app/widgets/gimpdockable.[ch]
	* app/widgets/gimpdocked.[ch]
	* app/widgets/gimpeditor.[ch]
	* app/widgets/gimperrorconsole.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimppaletteeditor.c
	* app/widgets/gimptoolbox.c
	* app/widgets/gimptooloptionseditor.c: removed all GtkItemFactory
	code and enable the #if 0'ed UI manager stuff.

	* menus/gradient-editor-menu.xml: fixed typos.

	* menus/image-menu.xml: duplicate everything so we have both
	an image menubar and an image popup menu. Badly cries for an
	XSL processor.

	* menus/toolbox-menu.xml: added an "Extensions" placeholder.
2004-04-29 12:52:29 +00:00
Michael Natterer 0b8c4b3ec9 app/widgets/Makefile.am app/widgets/widgets-types.h new GtkUIManager
2004-04-21  Michael Natterer  <mitch@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpuimanager.[ch]: new GtkUIManager subclass. Adds
	API to update all action groups and knows which UIs it can create
	from which XML files.

	* app/widgets/gimpmenufactory.[ch]: register the XML file
	basenames along with path of their toplevel menus. Create
	GimpUIManagers instead of GtkUIManagers and register the
	XML files and menu paths with them.

	* app/gui/menus.c: register all XML files and their toplevel
	menu paths.

	* app/widgets/gimpeditor.[ch]: also create a GimpUIManager when
	creating the GtkItemFactory. Added "const gchar *ui_identifier"
	parameter to gimp_editor_create_menu().

	* app/widgets/gimpcontainereditor.[ch]
	* app/widgets/gimpdataeditor.[ch]
	* app/widgets/gimpdatafactoryview.[ch]
	* app/widgets/gimpitemtreeview.[ch]: added "ui_identifier"
	parameters to all constructors.

	* app/widgets/gimpbrusheditor.c
	* app/widgets/gimpbrushfactoryview.c
	* app/widgets/gimpbufferview.c
	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpcomponenteditor.c
	* app/widgets/gimpcontainerpopup.c
	* app/widgets/gimpdocumentview.c
	* app/widgets/gimperrorconsole.c
	* app/widgets/gimpfontview.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimpimageview.c
	* app/widgets/gimppaletteeditor.c
	* app/widgets/gimppatternfactoryview.c
	* app/widgets/gimptemplateview.c
	* app/widgets/gimptooloptionseditor.c
	* app/gui/dialogs-constructors.c
	* app/gui/gradient-select.c
	* app/gui/palette-select.c
	* app/gui/pattern-select.c: pass UI identifiers to the changed
	functions above.

	* app/display/gimpdisplayshell.[ch]: added a GimpUIManager for
	the menubar (menubar creating code still commented out).

	* app/display/gimpdisplay.c
	* app/gui/gui-vtable.c: update the ui manager.
2004-04-21 16:33:17 +00:00
Sven Neumann b179d2a76b Cache the GC for drawing the grid as suggested in bug #138081:
2004-04-04  Sven Neumann  <sven@gimp.org>

	Cache the GC for drawing the grid as suggested in bug #138081:

	* app/display/gimpdisplayshell.[ch]: added a grid_gc member to
	GimpDisplayShell.

	* app/display/gimpdisplayshell-handlers.c
	(gimp_display_shell_grid_notify_handler)
	(gimp_display_shell_disconnect): invalidate the grid GC.

	* app/display/gimpdisplayshell-draw.c (gimp_display_shell_draw_grid):
	use the cached grid_gc. Also applied the fix that Pedro Gimeno did
	for bug #138606.
2004-04-04 15:53:21 +00:00
Pedro Gimeno 9127a54dec Fixed several off-by-one problems in display:
2004-03-20  Pedro Gimeno  <pggimeno@wanadoo.es>

	Fixed several off-by-one problems in display:

	* app/display/gimpdisplayshell.h (PROJ_ROUND): New macro to apply
	to a float the same rounding method as the one used when rendering.
	(SCALEX, SCALEY): Use PROJ_ROUND instead of truncating.

	* app/display/gimpdisplayshell-transform.c
	(gimp_display_shell_transform_xy): Accept gdouble image coordinates
	even if the returned screen coordinates are integer. Use PROJ_ROUND
	instead of (gint) to apply proper rounding. Fixes bug #137566.

	* app/display/gimpdisplayshell-transform.h
	(gimp_display_shell_transform_xy): changed accordingly.

	* app/display/gimpdisplayshell-draw.c
	* app/tools/gimpdrawtool.c: make sure everywhere that PROJ_ROUND
	is used either directly or through gimp_display_shell_transform_xy,
	instead of using arbitrary rounding methods.
2004-03-20 21:59:41 +00:00
Michael Natterer 02065884f2 return the snapped coordinates as gdouble, not gint because we must not
2004-02-23  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-snap.[ch]: return the snapped coordinates as
	gdouble, not gint because we must not round the unsnapped axis
	if only one axis snapped.

	* app/display/gimpdisplayshell.[ch] (gimp_display_shell_snap_coords):
	changed accordingly. Added boolean return value indicating "snapped".

	* app/display/gimpdisplayshell-cursor.[ch]
	(gimp_display_shell_update_cursor): take both display_x and _x and
	(possibly snapped) image_x and _y. Use the snapped values for the
	statusbar and the unsnapped ones for updating the info_window.

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_canvas_tool_events): applied modified patch
	from Simon Budig which moves guide/grid snapping out of the
	button_press/motion/button_release handlers and *always* snaps
	the image_coords if the active_tool wants them to be snapped.
	Makes sure that e.g. the brush preview is drawn at the right
	place and fixes bug #134284.

	Also pass both display_coords and image_coords to
	gimp_display_shell_update_cursor().
2004-02-23 18:23:31 +00:00
Michael Natterer bfe203c2e2 removed all drawing functions. The file was still too large.
2004-02-07  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.[ch]: removed all drawing functions.
	The file was still too large.

	* app/display/Makefile.am
	* app/display/gimpdisplayshell-draw.[ch]: new files containing
	the drawing functions.

	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell-handlers.c
	* app/tools/gimpmovetool.c: changed #includes accordingly.

	* app/display/gimpdisplay-handlers.c
	(gimp_display_size_changed_handler): added some #if 0'ed code I'm
	not sure about. Actually, some of the handlers in this file could
	need the same code, so it could be abstracted as
	gimp_display_stop_draw() or something. Please have a look.
2004-02-07 00:16:52 +00:00
Simon Budig 645a1ab652 Store the zoom factor as float, not as a ratio.
2004-01-29  Simon Budig  <simon@gimp.org>

	* app/display/gimpdisplayshell.[ch]: Store the zoom factor as
	float, not as a ratio.

	* app/display/gimpdisplayshell-scale.[ch]: change the API to
	expose the Float instead a weirdly encoded integer. Implement
	functions to get a ratio from the scale factor. Implement a set
	as presets as discussed on the mailinglist. Changed Zoom->Other
	dialog to enable entering a float.

	* app/display/gimpdisplayshell-title.c
	* app/display/gimpnavigationview.c
	* app/gui/image-menu.c
	* app/gui/info-window.c
	* app/tools/gimpmagnifytool.c: changed accordingly.

	* app/core/gimp.[ch]
	* app/display/gimpdisplay.[ch]
	* app/gui/gui-vtable.c
	* app/widgets/widgets-enums.h: Made the various display-creating
	functions accept a float for the scale. Introduce a new
	GimpZoomType: GIMP_ZOOM_TO. Generally adjust the API to use
	floats instead of weird integers.

	* app/core/gimp-edit.c
	* app/core/gimptemplate.c
	* app/display/gimpdisplayshell-callbacks.c
	* app/file/file-open.c
	* app/gui/image-commands.c
	* app/gui/view-commands.[ch]
	* tools/pdbgen/pdb/display.pdb
	* app/widgets/gimpimageview.c
	* app/widgets/gimptoolbox-dnd.c: changed accordingly

	* app/pdb/display_cmds.c: regenerated
2004-01-29 22:22:29 +00:00
Michael Natterer 32bc599dc3 forgot to declare gimp_color_display_stack_clone().
2003-11-21  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimpcolordisplaystack.h: forgot to declare
	gimp_color_display_stack_clone().

	* app/display/gimpdisplayshell.[ch]: replaced the GList of
	GimpColorDisplays by a single GimpColorDisplayStack.

	* app/display/gimpdisplayshell-render.c
	(gimp_display_shell_render): changed accordingly.

	* app/display/gimpdisplayshell-filter.[ch]: reduced API to a
	single function, gimp_display_shell_filter_set(), which exchanges
	the whole filter stack. Idle update the display on
	GimpColorDisplayStack::update().

	* app/display/gimpdisplayshell-filter-dialog.[ch]: changed
	accordingly.  Return the created dialog instead of assigning
	shell->filters_dialog.

	* app/gui/view-commands.c (view_display_filters_cmd_callback): set
	shell->filters_dialog here and raise it it if already
	exists. Don't use the dialog factory to create it because it's a
	transient dialog for the display which does not need to be session
	managed.

	* app/gui/dialogs-constructors.[ch]
	* app/gui/dialogs.c: removed display filter dialog stuff.
2003-11-21 22:52:36 +00:00
Sven Neumann 621c5832db app/display/Makefile.am app/display/display-types.h added GimpCanvas,
2003-11-10  Sven Neumann  <sven@gimp.org>

	* app/display/Makefile.am
	* app/display/display-types.h
	* app/display/gimpcanvas.[ch]: added GimpCanvas, derived from
	GtkDrawingArea.

	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell-render.c
	* app/display/gimpdisplayshell.[ch]
2003-11-09 23:24:40 +00:00
Sven Neumann e3480536f3 app/display/Makefile.am new files that implement a GimpConfig object with
2003-10-22  Sven Neumann  <sven@gimp.org>

	* app/display/Makefile.am
	* app/display/gimpdisplayoptions.[ch]: new files that implement
	a GimpConfig object with GimpDisplayShell and GimpCanvas options.
	Actually two classes, one for the normal view, a derived one with
	different default values for fullscreen mode.

	* app/display/display-enums.[ch]: renamed GimpDisplayPadding enum
	to GimpCanvasPadding.

	* app/config/config-types.h: added the GimpDisplayOptions typedef.

	* app/config/gimprc-blurbs.h
	* app/config/gimpdisplayconfig.[ch]: replaced a bunch of properties
	with two instances of GimpDisplayOptions.

	* app/display/gimpdisplayshell.[ch]: replaced the
	GimpDisplayShellAppearance struct with GimpDisplayOptions.

	* app/display/gimpdisplayshell-appearance.[ch]
	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell-handlers.[ch]
	* app/gui/image-menu.c: changed accordingly.

	* app/gui/preferences-dialog.c: added a convenience function that
	creates a view on a GimpDisplayOptions object. Not all values are
	configurable here yet.

	* docs/gimprc-1.3.5.in
	* etc/gimprc: regenerated to document the gimprc format changes.
2003-10-22 14:46:05 +00:00
Sven Neumann cff08b64ae app/config/gimpconfig-utils.c (gimp_config_diff) (gimp_config_sync)
2003-10-15  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-utils.c (gimp_config_diff) (gimp_config_sync)
	* app/config/gimpconfig.c (gimp_config_iface_equal): compare and sync
	aggregate objects recursively.

	* app/core/gimptemplate.c (gimp_template_finalize): don't leak the
	filename.

	* app/display/gimpdisplayshell-title.c
	* app/config/gimpconfig-dump.c: added %L format identifier for
	verbose layer count. Renamed former %L to %n (layer name).

	* app/config/gimpdisplayconfig.c: changed default image title and
	image status format strings.

	* app/gui/dialogs-constructors.c: added a blurb for Templates
	dockables.

	* app/display/gimpdisplayshell.h: fixed typo.
2003-10-14 23:00:16 +00:00
Michael Natterer b19deeb311 Refactored modifier handling of displays and tools. Hopefully finally
2003-10-14  Michael Natterer  <mitch@gimp.org>

	Refactored modifier handling of displays and tools. Hopefully
	finally fixes bug #124135.

	* app/tools/gimptool.[ch] (struct GimpTool): added private members
	"focus_display" and "modifier_state" so tools are aware of their
	modifier state.

	* app/tools/gimptool.[ch]
	* app/tools/tool_manager.[ch]: removed all public modifier_key()
	API and added set_focus_display() and set_modifier_state()
	instead.

	* app/tools/tool_manager.c (tool_manager_select_tool)
	* app/display/gimpdisplay.c (gimp_display_delete): set the
	active_tool's focus_display to NULL.

	* app/display/gimpdisplayshell.[ch] (struct GimpDisplayShell):
	added almost the whole stuff that used to be static variables of
	gimp_display_shell_tool_events(). Cleaned up the struct a bit.

	* app/display/gimpdisplayshell-callbacks.c: removed utility
	function gimp_display_shell_update_tool_modifiers().

	(gimp_display_shell_tool_events):

	- Replaced all calls to gimp_display_shell_update_tool_modifiers()
	  and tool_manager_modifier_key_active() by
	  tool_manager_modifier_state_active().

	- Call tool_manager_focus_display_active() before setting the
	  tool's modifier_state. Set the tool's focus_display to NULL when
	  we get a focus_out event.

	- Don't grab/ungrab the keyboard twice when <space>-selecting the
	  move tool.

	- Removed most static variables and use the new members of
	  GimpDisplayShell. Don't remember any old modifier states since
	  GimpTool does that by itself now.
2003-10-14 11:14:28 +00:00
Michael Natterer 96e9f052a2 Fixed bug #119423. There was no speed regression with the actual painting,
2003-10-08  Michael Natterer  <mitch@gimp.org>

	Fixed bug #119423. There was no speed regression with the actual
	painting, just with the display update (which effectively led to
	faster painting, it just felt slower).

	* app/display/gimpdisplayshell.c (gimp_display_shell_flush): added
	"gboolean now" parameter and update the display immediately if
	it is TRUE.

	* app/display/gimpdisplay.c (gimp_display_flush_whenever): pass
	the "now" we got passed to the function above, so calling
	gimp_display_flush_now() really flushes *now* again.
2003-10-08 14:50:26 +00:00
Michael Natterer a0d33a531d Added support for permanently showing the visible vectors, not only when
2003-09-12  Michael Natterer  <mitch@gimp.org>

	Added support for permanently showing the visible vectors, not
	only when the vectors tool is active:

	* app/display/gimpdisplayshell.[ch]: added
	gimp_display_shell_draw_vector() which draws a single GimpVectors
	object and gimp_display_shell_draw_vectors() which draws all
	visible ones. Added "gint paused_count" and new functions
	gimp_display_shell_paunse()/resume(). Pause/resume the active tool
	and draw/undraw the visible vectors when paused_count changes from
	0 to 1 and from 1 to 0.

	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell-scale.c
	* app/display/gimpdisplayshell-scroll.c: call the new
	freeze()/thaw() functions instead of calling the tool_manager
	directly. Removes the tools/ sependency from the scale and scroll
	files. Also draw the vectors once when the canvas is realized so
	XOR drawing is in the correct state.

	* app/display/gimpdisplayshell-handlers.c: connect to
	image->vectors' "add" and "remove" signal and to the "freeze",
	"thaw" and "visibility_changed" signals of all vectors in
	image->vectors and update vectors drawing accordingly.
2003-09-11 22:24:30 +00:00
Michael Natterer e837849934 removed the _value() and _is_empty() wrappers.
2003-09-03  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-mask.[ch]: removed the _value() and
	_is_empty() wrappers.

	* app/display/gimpdisplayshell.[ch]: removed
	gimp_display_shell_mask_value() since it is not used.

	* app/core/gimpdrawable-blend.c
	* app/core/gimpdrawable-transform.c
	* app/core/gimpedit.c
	* app/core/gimpimage.c
	* app/core/gimplayer.c
	* app/gui/image-menu.c
	* app/gui/vectors-menu.c
	* app/tools/gimpclonetool.c
	* app/tools/gimpfliptool.c
	* app/tools/gimpinktool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimpselectiontool.c
	* app/tools/gimptransformtool.c
	* tools/pdbgen/pdb/misc_tools.pdb: changed accordingly.

	* app/pdb/misc_tools_cmds.c: regenerated.
2003-09-03 15:13:19 +00:00
Michael Natterer bc77f1e3ff app/config/gimprc-blurbs.h added separate properties for the fullscreen
2003-07-18  Michael Natterer  <mitch@gimp.org>

	* app/config/gimprc-blurbs.h
	* app/config/gimpdisplayconfig.[ch]: added separate properties for
	the fullscreen appearance of the display (menubar, rulers,
	scrollbars, statusbar and padding). Default to everything
	invisible and black padding.

	* app/display/gimpdisplayshell.[ch]: renamed struct
	GimpDisplayShellVisibility to GimpDisplayShellAppearance and added
	the canvas padding stuff.

	* app/display/gimpdisplayshell-appearance.[ch]: made
	gimp_display_shell_set_padding() fullscreen-aware. Added
	gimp_display_shell_get_padding().

	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell-handlers.c
	* app/gui/image-menu.c: changed addordingly.

	* app/gui/preferences-dialog.c: added the new options and moved
	the display appearance stuff to its own page. Minor cleanups.
2003-07-17 22:30:13 +00:00
Henrik Brix Andersen edd5c33923 Added a per image configurable grid.
This fixes bug #65198

* app/core/Makefile.am
* app/core/core-types.h:
* app/core/gimpgrid.[ch]: added new class GimpGrid.

* app/core/core-enums.[ch]: added new enum GimpGridType.

* app/core/gimpimage-guides.[ch]: removed the gimp_image_snap_*()
functions...

* app/core/gimpimage-snap.[ch]: ...and added them here since they
are no longer guide specific.

* app/core/gimpimage-undo-push.[ch]: added
gimp_image_undo_push_image_grid()

* app/display/gimpdisplayshell-handlers.c:
* app/core/gimpimage.[ch]: added grid member to _GimpImage. Added
new signal "grid_changed", added gimp_image_grid_changed(),
gimp_image_get_grid() and gimp_image_set_grid().

* app/display/gimpdisplayshell-appearance.[ch]: added
gimp_display_shell_set_show_grid(),
gimp_display_shell_get_show_grid(),
gimp_display_shell_set_snap_to_grid() and
gimp_display_shell_get_snap_to_grid().

* app/display/gimpdisplayshell-callbacks.c: added call to
gimp_display_shell_draw_grid()

* app/display/gimpdisplayshell.[ch]: added grid member to
_GimpDisplayShellVisibility, added snap_to_grid and grid_dialog
members to _GimpDisplayShell, added
gimp_display_shell_draw_grid(), modified
gimp_display_shell_snap_coords() to use the new
gimp_image_snap_*() functions.

* app/gui/image-menu.c: added grid entries to
image_menu_entries[].

* app/gui/view-commands.[ch]: added
view_configure_grid_cmd_callback(),
view_toggle_grid_cmd_callback() and
view_snap_to_grid_cmd_callback().

* app/gui/Makefile.am
* app/gui/grid-dialog.[ch]: added a grid dialog.
2003-06-23 19:34:48 +00:00
Sven Neumann dc0aff0c0e app/display/gimpdisplayshell.[ch] removed padding_gc from the
2003-05-20  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell.[ch]
	* app/display/gimpdisplayshell-callbacks.c: removed padding_gc from
	the GimpDisplayShell struct. Don't draw the padding color manually.

	* app/display/gimpdisplayshell-appearance.c
	(gimp_display_shell_set_padding): set the canvas background color
	using gdk_window_set_background().
2003-05-20 17:52:48 +00:00
Michael Natterer d5edd5308e added an API to specify a "snap_offset" and a "snap_width/height". Needed
2003-04-17  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimptoolcontrol.[ch]: added an API to specify a
	"snap_offset" and a "snap_width/height". Needed for tools which
	want to snap to a rectangle and/or a position which is not the
	current cursor position.

	* app/display/gimpdisplayshell.[ch]: removed
	gimp_display_shell_find_guide(), gimp_display_shell_snap_point()
	and gimp_display_shell_snap_rectangle().
	Added gimp_display_shell_snap_coords() which works on GimpCoords
	and gets passed the above snap offsets.

	* app/display/gimpdisplayshell-callbacks.c: use the new snap
	function, using the values from GimpToolControl.

	* app/tools/gimpcroptool.c: set snap offsets so the handles can be
	guide-aligned after creating. Fixes bug #110957.

	* app/tools/gimpeditselectiontool.c: removed snapping code (which
	was broken anyway) and set appropriate snap offsets in
	init_edit_selection().
2003-04-17 02:57:33 +00:00
Sven Neumann 7009415716 extended range of possible zoom ratios like in the other scaling routines.
2003-04-04  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-scale.c
	(gimp_display_shell_scale_fit): extended range of possible zoom
	ratios like in the other scaling routines.

	* app/display/gimpdisplayshell-scale.[ch]
	* app/display/gimpdisplayshell.[ch]
	* app/gui/image-menu.c
	* app/gui/view-commands.[ch]: added a dialog to menually enter the
	zoom ratio. Fixes bug #65057.
2003-04-04 08:32:51 +00:00
Michael Natterer 906c5a9f38 removed gdisp->draw_guides and gdisp->snap_to_guides.
2003-03-20  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplay.[ch]: removed gdisp->draw_guides
	and gdisp->snap_to_guides.

	* app/display/gimpdisplayshell.[ch]: added shell->snap_to_guides.
	Added the state of guide, selection and active_layer visibility to
	the GimpDisplayShellVisibility struct so they can be configured
	separately for fullscreen mode. Update the popup_factory in
	gimp_display_shell_real_scaled() only if this is the active
	display.

	* app/display/gimpdisplayshell-appearance.[ch]: added accessors
	for selection, active_layer and guide visibility.

	* app/display/gimpdisplayshell-selection.[ch]: changed
	accordingly.  Changed the selection and active_layer toggle
	functions to *_set_hidden().

	* app/display/gimpdisplayshell-callbacks.c
	* app/gui/image-menu.c
	* app/gui/view-commands.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpmovetool.c: changed accordingly.

	* app/gui/gui.c (gui_display_new): update the menubar_factory
	*after* making the new display the active one.
2003-03-20 11:31:33 +00:00
Michael Natterer b36590e67f app/display/Makefile.am new files implementing canvas padding, fullscreen
2003-03-11  Michael Natterer  <mitch@gimp.org>

	* app/display/Makefile.am
	* app/display/gimpdisplayshell-appearance.[ch]: new files
	implementing canvas padding, fullscreen toggling and utility
	functions to show/hide GimpDisplayShell components (menubar,
	statusbar, ...) Added the possibility to show/hide the scrollbars.

	* app/display/gimpdisplayshell.[ch]: added struct
	GimpDisplayShellVisibility which stores the GUI components'
	visibility. Added two such structs to the GimpDisplayShell struct:
	one for normal mode and one for fullscreen mode. Default to
	"everything invisible" for fullscreen.  Fixes bug #74383.

	* app/display/gimpdisplayshell-callbacks.c: fiddle with the
	two visibility structs when toggling fullscreen.

	* app/display/gimpdisplayshell-handlers.c: #include
	"gimpdisplayshell-appearance.h"

	* app/gui/image-menu.c
	* app/gui/view-commands.[ch]: added a "Show Scrollbars" menu entry,
	use the new widget show/hide utility functions.
2003-03-11 16:49:36 +00:00
Sven Neumann 2553b3cab8 app/display/gimpdisplayshell-callbacks.c app/display/gimpdisplayshell.[ch]
2003-03-11  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell.[ch]
	* app/gui/image-menu.c
	* app/gui/view-commands.c: rewrote the fullscreen mode
	implementation so that it doesn't loop infinitely.
2003-03-11 11:53:26 +00:00
Sven Neumann 632b7f8ac6 app/display/gimpdisplayshell-callbacks.c app/display/gimpdisplayshell.[ch]
2003-03-11  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell.[ch]
	* app/gui/image-menu.c
	* app/gui/view-commands.[ch]: added a fullscreen mode for the
	image display by means of gtk_window_fullscreen/unfullscreen.
	Depends on the window manager implementing _NET_WM_STATE_FULLSCREEN.

	* app/tools/gimpcroptool.c: made gimp_crop_tool_draw() static.

	* app/tools/gimptexttool.[ch]: derive from GimpDrawTool, no real
	changes yet.
2003-03-11 01:22:57 +00:00
Michael Natterer f6a95200f2 replaced the "gboolean title_dirty" in GimpDisplayShell by "guint
2003-02-25  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.[ch]: replaced the "gboolean
	title_dirty" in GimpDisplayShell by "guint title_idle_id".
	(gimp_display_shell_flush): Call gimp_display_shell_update_title()
	unconditionally. Don't call info_window_update().

	* app/display/gimpdisplayshell-handlers.c
	* app/display/gimpdisplayshell-scale.c: ditto.

	* app/display/gimpdisplayshell-title.c: update the title in an
	idle function. Call info_window_update() from the idle function.
2003-02-25 19:01:10 +00:00
Michael Natterer 5f5e0bf5d6 Refactored the GimpDisplayShell update/draw code:
2003-02-21  Michael Natterer  <mitch@gimp.org>

	Refactored the GimpDisplayShell update/draw code:

	* app/display/gimpdisplayshell.[ch]: removed the display_areas
	list which used to hold the GimpAreas to update. Instead, simply
	queue draws using gtk_widget_queue_draw[_area]() in
	gimp_display_shell_expose_area(), _expose_full() and
	_expose_guide(). Made all _draw() functions public because they
	are now called from the "expose_event" handler.  Removed rendering
	from gimp_display_shell_flush() because stuff is now flushed
	automatically by the gtk idle renderer.

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_canvas_expose): draw everything here (the code
	removed from gimp_display_shell_flush() without the GimpArea list).
	(gimp_display_shell_canvas_tool_events): return "return_val", not
	TRUE if gimp->busy is TRUE. Fixes unupdated (windowk bg color)
	display areas. Fixes bug #106595.

	* app/display/gimpdisplay.c
	* app/display/gimpdisplayshell-cursor.c
	* app/display/gimpdisplayshell-filter-dialog.c
	* app/display/gimpdisplayshell-handlers.c
	* app/display/gimpdisplayshell-selection.c
	* app/gui/view-commands.c: changed accordingly. Removed calls to
	gimp_display_shell_flush() all over the place.

	* app/display/gimpdisplayshell-scroll.c: replaced lots of code by
	a single call to gdk_window_scroll().
2003-02-21 12:16:43 +00:00
Michael Natterer 6f29b766e8 app/gui/brushes-menu.[ch] app/gui/buffers-menu.[ch]
2003-01-13  Michael Natterer  <mitch@gimp.org>

	* app/gui/brushes-menu.[ch]
	* app/gui/buffers-menu.[ch]
	* app/gui/channels-menu.[ch]
	* app/gui/colormap-editor-menu.[ch]
	* app/gui/dialogs-menu.[ch]
	* app/gui/documents-menu.[ch]
	* app/gui/file-open-menu.[ch]
	* app/gui/file-save-menu.[ch]
	* app/gui/gradient-editor-menu.[ch]
	* app/gui/gradients-menu.[ch]
	* app/gui/image-menu.[ch]
	* app/gui/images-menu.[ch]
	* app/gui/layers-menu.[ch]
	* app/gui/palette-editor-menu.[ch]
	* app/gui/palettes-menu.[ch]
	* app/gui/patterns-menu.[ch]
	* app/gui/qmask-menu.[ch]
	* app/gui/toolbox-menu.[ch]
	* app/gui/vectors-menu.[ch]: new files, one per GimpItemFactory,
	containing the menu entries and their setup and update funcs.

	* app/gui/brushes-commands.[ch]
	* app/gui/patterns-commands.[ch]: removed because they contained
	only update funcs.

	* app/gui/Makefile.am: changed accordingly. Split the huge
	SOURCES list in smaller ones for menus and dialogs.

	* app/gui/menus.[ch]: removed the menu entries and setup funcs.
	Added MENU_SEPARATOR() and MENU_BRANCH() macros to the header.
	Made some utility functions public.

	* app/display/gimpdisplayshell.[ch]
	* app/gui/buffers-commands.[ch]
	* app/gui/channels-commands.[ch]
	* app/gui/colormap-editor-commands.[ch]
	* app/gui/dialogs-commands.[ch]
	* app/gui/documents-commands.[ch]
	* app/gui/gradient-editor-commands.[ch]
	* app/gui/gradients-commands.[ch]
	* app/gui/images-commands.[ch]
	* app/gui/layers-commands.[ch]
	* app/gui/palette-editor-commands.[ch]
	* app/gui/palettes-commands.[ch]
	* app/gui/qmask-commands.[ch]
	* app/gui/vectors-commands.[ch]: removed the update funcs.

	* app/gui/plug-in-menus.[ch]: renamed plug_in_set_menu_sensitivity()
	to plug_in_menus_update(). Cleanup.

	* app/gui/paths-dialog.[ch]: added the <Paths> entries here
	so they will go away together with these files.

	* app/gui/dialogs-constructors.c
	* app/gui/drawable-commands.c: removed useless #includes.
2003-01-13 14:08:10 +00:00
Michael Natterer 8d86ec25e0 Move away from creating all item_factories statically in menus_init() but
2003-01-10  Michael Natterer  <mitch@gimp.org>

	Move away from creating all item_factories statically in
	menus_init() but create a new one for each place where one is
	needed:

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpmenufactory.[ch]: new factory which creates and
	configures the GimpItemFactories it knows about on-the-fly.

	* app/widgets/gimpitemfactory.[ch]: added
	gimp_item_factory_update() which calls the "update_func". Added
	"gboolean update_on_popup" so item_factories can be configured to
	require manual updates (used for the <Image> factory).

	* app/gui/menus.[ch]: create a "global_menu_factory" and register
	all menus we have with it. Added various setup functions which
	do stuff like adding the "Open Recent" menu or reorder plug-in
	menu entries. Removed the debugging stuff...

	* app/gui/Makefile.am
	* app/gui/debug-commands.[ch]: ...and added it here.

	* app/gui/gui.c: create the <Toolbox>, the popup-<Image> and the
	<Paths> factories here because they are still global.

	* app/gui/plug-in-menus.[ch]: changed the "image_factory"
	parameters to "item_factory" and create/update the entries for the
	passed item_factory only. Makes the whole stuff much more
	straightforward.

	* app/plug-in/plug-ins.c: don't call plug_in_make_menu().

	* app/display/gimpdisplay.[ch]
	* app/display/gimpdisplayshell.[ch]: added "menu_factory" and
	"popup_factory" parameters to gimp_display_new() and
	gimp_display_shell_new(). Create the menubar_factory and the
	qmask_factory dynamically. Pass the shell, not a Gimp to the QMask
	callbacks. Changed gimp_display_shell_set_menu_sensitivity() to
	gimp_display_shell_menu_update() and don't call it directly (it's
	a GimpItemFactory update_func now). Call gimp_item_factory_update()
	on the resp. factories instead.

	* app/gui/qmask-commands.c
	* app/display/gimpdisplayshell-callbacks.c
	* app/tools/gimpimagemaptool.c: changed accordingly.

	* app/widgets/gimpbrusheditor.c
	* app/widgets/gimpbrushfactoryview.[ch]
	* app/widgets/gimpbufferview.[ch]
	* app/widgets/gimpcolormapeditor.[ch]
	* app/widgets/gimpcontainereditor.[ch]
	* app/widgets/gimpdataeditor.[ch]
	* app/widgets/gimpdatafactoryview.[ch]
	* app/widgets/gimpdialogfactory.[ch]
	* app/widgets/gimpdock.c
	* app/widgets/gimpdockbook.[ch]
	* app/widgets/gimpdocumentview.[ch]
	* app/widgets/gimpgradienteditor.[ch]
	* app/widgets/gimpimageview.[ch]
	* app/widgets/gimpitemlistview.[ch]
	* app/widgets/gimppaletteeditor.[ch]: pass around lots of
	GimpMenuFactory pointers and menu_identifiers so all views can
	create their item_factories themselves. Unref the factories when
	they are no longer needed because they belong to the views now.

	* app/gui/dialogs-commands.c
	* app/gui/dialogs-constructors.c
	* app/gui/dialogs.c
	* app/gui/brush-select.c
	* app/gui/gradient-select.c
	* app/gui/palette-select.c
	* app/gui/pattern-select.c: changed accordingly.

	* app/gui/file-dialog-utils.[ch] (file_dialog_new): require
	menu_factory and menu_identifier parameters.

	* app/gui/file-open-dialog.[ch]
	* app/gui/file-save-dialog.[ch]: removed file_*_dialog_menu_init()
	(they went to menus.c as setup_funcs). Added file_*_dialog_set_type()
	and moved the <Load> and <Save> factory callbacks to file-commands.c

	* app/gui/file-commands.[ch]: changed accordingly.

	* app/gui/view-commands.c: changed the statusbar, menubar, rulers
	and guides callbacks to do their job only if the setting has
	actually changed. Don't update whole item factories afterwards.
	Instead, just change the state of the items that actually need
	update.

	Unrelated:

	* app/core/gimpchannel.c (gimp_channel_init): set "bounds_known"
	and friends to FALSE since we don't know that the new channel will
	be empty (fixes QMask and probably other stuff).

	* app/gui/image-commands.c
	* app/gui/vectors-commands.c: cleanup.
2003-01-10 17:55:53 +00:00
Sven Neumann ec6c98656e bumped the version number to 1.3.12.
2003-01-03  Sven Neumann  <sven@gimp.org>

	* configure.in: bumped the version number to 1.3.12.

	* app/display/Makefile.am
	* app/display/gimpdisplayshell-cursor.[ch]
	* app/display/gimpdisplayshell-title.[ch]
	* app/display/gimpdisplayshell-transform.[ch]: new files with code
	that used to live in gimpdisplayshell.c.

	* app/display/gimpdisplay-foreach.c
	* app/display/gimpdisplay.c
	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell-handlers.c
	* app/display/gimpdisplayshell-selection.c
	* app/display/gimpdisplayshell.[ch]
	* app/tools/gimpbezierselecttool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpdrawtool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimptool.c: changed accordingly.
2003-01-03 18:01:30 +00:00
Michael Natterer 4c39ac3337 renamed paramater "update_popup" to "popup_only" because it's less
2002-12-14  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.[ch]
	(gimp_display_shell_set_menu_sensitivity): renamed paramater
	"update_popup" to "popup_only" because it's less confusing. Fixed
	the function to update the popup correctly for shell = NULL.
2002-12-14 18:44:52 +00:00
Michael Natterer f03b6b6d75 Changed menubar showing/hiding to work like rulers and statusbar:
2002-12-14  Michael Natterer  <mitch@gimp.org>

	Changed menubar showing/hiding to work like rulers and statusbar:

	* app/config/gimpconfig-blurbs.h
	* app/config/gimpdisplayconfig.[ch]: renamed "menu_bar_per_display"
	to "show_menubar". Removed GIMP_PARAM_RESTART flag.

	* app/display/gimpdisplayshell.[ch]: chaged shell->item_factory to
	shell->menubar_factory plus shell->popup_factory and always create
	both of them. Added "gboolean update_popup" to
	gimp_display_shell_set_menu_sensitivity() and call it recursively
	with update_popup == TRUE if the display it is called for is the
	active one.

	* app/display/gimpdisplay.c
	* app/display/gimpdisplayshell-callbacks.c: changed accordinly.

	* app/gui/gui.c: ditto. Set the menu sensitivity of new displays.

	* app/gui/menus.c: added "<Image>/View/Toggle Menubar" menu item.
	Moved some factory initialization code from gimpdisplayshell.c
	here.

	* app/gui/view-commands.[ch]: added
	view_toggle_menubar_cmd_callback(). Update the menu sensitivity
	manually in all callbacks which don't call gimp_image_flush().

	* app/gui/preferences-dialog.c (prefs_dialog_new): moved the "Show
	Menubar" toggle to the "Appearance" frame of the "Image Windows"
	page. Added an own frame for the display zoom/scaling settings.

	(preferences_dialog_create): Attach config_copy and config_orig
	using g_object_set_data_full() instead of just g_object_set_data()
	plus a g_object_weak_ref().

	(prefs_default_resolution_callback): set the resolution for both
	fields of the "size_sizeentry" instead of setting it for "x"
	twice.
2002-12-14 14:13:54 +00:00
Michael Natterer 4ce4adf87d removed gimp_config_values_equal().
2002-11-23  Michael Natterer  <mitch@gimp.org>

	* app/config/gimpconfig-utils.[ch]: removed
	gimp_config_values_equal().

	* app/config/gimpconfig-serialize.c
	* app/config/gimpconfig.c: use g_param_values_cmp() instead so
	our registered compare methods are used.

	* app/config/gimpdisplayconfig.[ch]: added "canvas_padding_mode"
	and "canvas_padding_color" properties.

	* app/display/display-enums.[ch]: added enum GimpDisplayPaddingMode
	which can be one of { theme, light check, dark check, custom }.

	* app/display/gimpdisplay.h
	* app/display/gimpdisplay-handlers.c: removed cached monitor
	resolution values...

	* app/display/gimpdisplayshell.[ch]: ...and added them here. Added
	padding state as in GimpDisplayConfig. Added utility function
	gimp_display_shell_set_padding() which hides all the details.
	Added the new padding modes to the padding color button's context
	menu.

	* app/display/gimpdisplayshell-callbacks.[ch]: don't fiddle
	with colors manually but use gimp_display_shell_set_padding()
	in realize() and in the color button callbacks.

	* app/display/gimpdisplayshell-handlers.c: connect to
	notify::monitor-[xy]resolution and
	notify::canvas-padding-[mode|color] and update accordingly.

	* app/widgets/gimppropwidgets.[ch]: added
	gimp_prop_color_button_new().

	* app/widgets/gimpdialogfactory.[ch]: added
	gimp_dialog_factories_session_clear() (unimplemented).

	* app/gui/preferences-dialog.c: added widgets for padding mode and
	color. Removed some callbacks by connecting the functions they
	called directly. Cleanup.
2002-11-23 22:22:21 +00:00
Michael Natterer 72d496e637 keep a pointer to the nav_ebox in the GimpDisplayShell struct.
2002-11-22  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.[ch]: keep a pointer to the
	nav_ebox in the GimpDisplayShell struct.

	* app/display/gimpdisplayshell-handlers.c: connect to
	notify::navigation-preview-size and set the button insensitive for
	GIMP_PREVIEW_SIZE_NONE. Also destroy an existing nav_popup so it
	will be automatically re-created on the next click.  Connect to
	notify::image-title-format and notify::image-status-format and
	update them accordingly.

	* app/display/gimpnavigationview.c: don't try any voodoo in
	gimp_navigation_view_init(). Removed the notify handler.
	Set the popup's size in gimp_navigation_view_new_private().

	* app/gui/preferences-dialog.c: removed the #if 0'ed combo boxes
	and added an own sub-page for the image title and status format.
	Select the possible values using a GtkTreeView.  Some more
	cleanup.
2002-11-22 22:10:40 +00:00
Sven Neumann 073e533a8a Finally landed the new GimpConfig based gimprc parser. It's not finished
2002-11-18  Sven Neumann  <sven@gimp.org>

	Finally landed the new GimpConfig based gimprc parser. It's not
	finished yet but we need to start somewhere. This release removes
	the old gimprc.[ch] files. The gimprc format changes slightly, but
	the changes are minimal. The Preferences dialog is temporarily
	disabled since it still needs to be ported. If you are are afraid,
	stay away from CVS for a few days ;-)

	* app/Makefile.am
	* app/gimprc.[ch]: removed the old gimprc system.

	* app/base/Makefile.am
	* app/base/base-config.[ch]: removed these files in favor of
	config/gimpbaseconfig.[ch].

	* app/core/Makefile.am
	* app/core/gimpcoreconfig.[ch]: removed these files in favor of
	config/gimpcoreconfig.[ch].

	* app/config/Makefile.am
	* app/config/config-types.h: moved typedefs into this new file.

	* app/config/gimpbaseconfig.[ch]
	* app/config/gimpcoreconfig.[ch]
	* app/config/gimpdisplayconfig.[ch]
	* app/config/gimpguiconfig.[ch]
	* app/config/gimprc.[ch]
	* app/config/test-config.c: brought into shape for real use.

	* app/base/base-types.h: include config/config-types.h here. Added
	a global GimpBaseConfig *base_config variable to ease migration.

	* app/gui/Makefile.am: temporarily disabled the preferences dialog.

	* app/app_procs.c
	* app/undo.c
	* app/undo_history.c
	* app/base/base.[ch]
	* app/base/gimphistogram.c
	* app/base/pixel-processor.c
	* app/base/temp-buf.c
	* app/base/tile-cache.c
	* app/core/core-types.h
	* app/core/gimp-documents.c
	* app/core/gimp.c
	* app/core/gimpbrush.c
	* app/core/gimpbrushgenerated.c
	* app/core/gimpcontext.c
	* app/core/gimpdrawable-transform.c
	* app/core/gimpimage-new.c
	* app/core/gimpimage.c
	* app/core/gimpimagefile.c
	* app/core/gimpmodules.c
	* app/core/gimppattern.c
	* app/display/Makefile.am
	* app/display/gimpdisplay-handlers.c
	* app/display/gimpdisplay.[ch]
	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell-handlers.c
	* app/display/gimpdisplayshell-layer-select.c
	* app/display/gimpdisplayshell-render.c
	* app/display/gimpdisplayshell-scale.c
	* app/display/gimpdisplayshell-scroll.c
	* app/display/gimpdisplayshell-selection.c
	* app/display/gimpdisplayshell.[ch]
	* app/display/gimpnavigationview.c
	* app/file/file-save.c
	* app/gui/device-status-dialog.c
	* app/gui/dialogs-constructors.c
	* app/gui/file-commands.c
	* app/gui/file-new-dialog.c
	* app/gui/file-open-dialog.c
	* app/gui/file-save-dialog.c
	* app/gui/gui.c
	* app/gui/menus.c
	* app/gui/paths-dialog.c
	* app/gui/resize-dialog.c
	* app/gui/session.c
	* app/gui/test-commands.c
	* app/gui/tips-dialog.c
	* app/gui/tips-dialog.h
	* app/gui/user-install-dialog.c
	* app/gui/view-commands.c
	* app/paint/gimppaintcore.c
	* app/plug-in/plug-in.c
	* app/plug-in/plug-ins.c
	* app/tools/gimpbezierselecttool.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimpinktool.c
	* app/tools/gimpmagnifytool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimppainttool.c
	* app/tools/gimppathtool.c
	* app/tools/gimptexttool.[ch]
	* app/tools/selection_options.c
	* app/tools/tools.c
	* app/tools/transform_options.c
	* app/widgets/gimphelp.c
	* app/widgets/gimpitemfactory.c
	* app/widgets/gimpselectioneditor.c
	* app/xcf/xcf-load.c
	* tools/pdbgen/pdb/fileops.pdb
	* tools/pdbgen/pdb/gimprc.pdb
	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/layer.pdb
	* tools/pdbgen/pdb/transform_tools.pdb: use the new config system
	instead of the old gimprc stuff.

	* etc/gimprc.in
	* etc/gimprc_user.in: adapted to the new gimprc format. Will update
	the man-page later...

	* app/pdb/fileops_cmds.c
	* app/pdb/gimprc_cmds.c
	* app/pdb/image_cmds.c
	* app/pdb/layer_cmds.c
	* app/pdb/transform_tools_cmds.c
	* libgimp/gimpgimprc_pdb.c: regenerated.
2002-11-18 20:50:31 +00:00
Michael Natterer fb092e7f88 added new signal "reconnect" which is emitted when the underlying image
2002-09-27  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.[ch]: added new signal "reconnect"
	which is emitted when the underlying image changes (happens on
	"Revert"). Set the sensitivity of the new "Toggle QuickMask" menu
	item. Don't configure the QMask button in gimp_display_shell_new().

	* app/display/gimpdisplayshell-handlers.c (gimp_display_shell_connect):
	configure the QMask button here so it's consistent after "Revert".

	* app/display/gimpnavigationview.c: connect to the shell's
	"reconnect" signal and update accordingly.
2002-09-27 16:17:31 +00:00
Michael Natterer fa537489d7 removed gdisp->scale, gdisp->dot_for_dot, the scaling marcos and the
2002-06-27  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplay.[ch]: removed gdisp->scale,
	gdisp->dot_for_dot, the scaling marcos and the
	gdisplay_[un]transform[_f]() functions.

	* app/display/gimpdisplayshell.[ch]: added them here. Named the
	transform functions gimp_display_shell_[un]transform_xy[_f]().

	Made the gimp_display_shell_[un]transform_coords() functions copy
	all values of the GimpCoords struct, not just x and y.

	* app/display/gimpstatusbar.[ch]: keep a pointer to
	GimpDisplayShell, not GimpDisplay.

	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell-render.c
	* app/display/gimpdisplayshell-scale.c
	* app/display/gimpdisplayshell-scroll.c
	* app/display/gimpdisplayshell-selection.c
	* app/display/gimpnavigationview.c
	* app/gui/image-commands.c
	* app/gui/info-window.c
	* app/gui/select-commands.c
	* app/gui/view-commands.c
	* app/tools/gimpbezierselecttool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpdrawtool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpmagnifytool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimppainttool.c
	* app/tools/gimppathtool.c
	* app/tools/gimprotatetool.c
	* app/tools/gimpscaletool.c
	* app/tools/gimpvectortool.c: changed accordingly.

	* app/gui/layers-commands.c: if(gimage->selection_mask) is always
	TRUE, use if(!gimp_image_mask_is_empty(gimage)) instead.

	* app/tools/gimpfuzzyselecttool.[ch]: moved global variables
	to the object struct.
2002-06-26 22:16:59 +00:00
Michael Natterer 7cc03fd30d New feature: pressing <space> in the image window temporary switches to
2002-05-15  Michael Natterer  <mitch@gimp.org>

	New feature: pressing <space> in the image window temporary
	switches to the move tool (so that releasing <space> switches back
	to the old tool).

	* app/display/gimpdisplayshell.[ch]: added booleans
	shell->space_pressed and shell->space_release_pending. Connect
	more events to gimp_display_shell_events() so they can be blocked
	there if needed.

	* app/display/gimpdisplayshell-callbacks.c: beautified and
	uglified at the same time:

	beauty:
	- moved the checks if gimp is busy or button1 is down to
	  gimp_display_shell_events() so they don't clutter
	  gimp_display_shell_canvas_tool_events().
	- factored tool modifer updating out to a separate function.
	- indentation/spacing cleanup.

	ugly:
	- added more static variables to track the state of <space>
	- added the actual move tool toggling code.
2002-05-15 16:28:41 +00:00
Michael Natterer b6c56ff9ac app/Makefile.am removed.
2002-05-07  Michael Natterer  <mitch@gimp.org>

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

	* app/display/Makefile.am
	* app/display/display-types.h
	* app/display/gimpnavigationview.[ch]: new widget partially based
	on the removed nav_window.

	* libgimpproxy/gimpproxytypes.h: regnenerated.

	* app/display/gimpdisplay-foreach.[ch]: removed
	gdisplays_nav_preview_resized(). The new config system will allow
	us to get notified of changes.

	* app/display/gimpdisplayshell.[ch]: added "scaled" and "scrolled"
	signals.

	* app/display/gimpdisplayshell-scale.c
	* app/display/gimpdisplayshell-scroll.c: emit "scaled" and
	"scrolled" appropriately. Removed nav_window stuff.

	* app/display/gimpdisplay.c
	* app/display/gimpdisplayshell-callbacks.c: changed accordingly.

	* app/gui/dialogs-constructors.[ch]
	* app/gui/dialogs.c
	* app/gui/menus.c: made the navigation dialog dockable.

	* app/gui/view-commands.c: changed the nav_dialog callback accordingly.

	* app/gui/preferences-dialog.c
	* app/gimprc.[ch]
	* app/config/gimpguiconfig.[ch]: removed "nav_window_per_display"
	as it's now a dockable and it's state is saved in sessionrc.

	* app/widgets/gimpnavigationpreview.[ch]: added context sensitive
	mouse cursors.

	* app/widgets/gimpimagedock.c: made it capable of holding
	display-related dialogs (like GimpNavigationView) by connecting
	to the context's "display_changed" signal.

	* app/widgets/widgets-types.h: removed inclusion of
	"display/display-types.h".

	* app/widgets/gimpbufferview.c
	* app/widgets/gimpchannellistview.c
	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpcomponentlistitem.c
	* app/widgets/gimpdocumentview.c
	* app/widgets/gimpdrawablelistitem.c
	* app/widgets/gimpdrawablelistview.c
	* app/widgets/gimpitemlistitem.c
	* app/widgets/gimpitemlistview.c
	* app/widgets/gimplayerlistitem.c
	* app/widgets/gimplayerlistview.c
	* app/widgets/gimppreview.c
	* app/widgets/gimpvectorslistview.c: warn about inclusion of
	"display/display-types.h".
2002-05-07 16:23:14 +00:00
Michael Natterer e302aeb17d pass an additional "Gimp" pointer to
2002-03-20  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.[ch]: pass an additional "Gimp"
	pointer to gimp_display_shell_set_menu_sensitivity() so we can
	correctly set the state of some items even without a display.
	Set the sensitivity of much more items. Never set submenus
	insensitive so the user can always browse the whole menu
	(according to the GNOME HIG).

	* app/image_map.c
	* app/display/gimpdisplay.c
	* app/gui/gui.c: changed accordingly.

	* app/gui/view-commands.[ch]: added a callback for the display
	filters dialog because display releted dialogs are going to
	be handled different soon.

	* app/gui/menus.c: use the new callback.
2002-03-20 15:32:35 +00:00
Michael Natterer 1b2008567a renamed shell->cd_list to shell->filters and shell->cd_ui to
2002-03-15  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.[ch]: renamed shell->cd_list to
	shell->filters and shell->cd_ui to shell->filters_dialog.

	* app/display/gimpdisplayshell-filter-dialog.c
	* app/display/gimpdisplayshell-filter.c
	* app/display/gimpdisplayshell-render.c
	* app/gui/dialogs-constructors.c: changed accordingly.

	* app/display/gimpdisplayshell-filter-dialog.c: cleaned up the GUI.
	Still deprecated GtkCLists around...

	* app/widgets/gimpeditor.[ch]: added gimp_editor_new().

	* app/gui/image-commands.[ch]
	* app/gui/menus.c: added "<Image>/Image/Crop Image" because i was
	sick of clicking 20 times just to crop to the current selection.

	* themes/Default/gtkrc: removed "gimp-dock-style" and changed
	"gimp-gtk-icons" to "gimp-default-style". Set our widget class
	style property defaults there.
2002-03-15 15:09:58 +00:00
Michael Natterer 5e17408c84 Re-enabled the display filters. They work exactly the same way as before
2002-03-14  Michael Natterer  <mitch@gimp.org>

	Re-enabled the display filters. They work exactly the same way
	as before except for the color_area pseudo-display. More stuff
	to come...

	* app/display/Makefile.am: build them again.

	* app/display/gimpdisplayshell-filter-dialog.[ch]
	* app/display/gimpdisplayshell-filter.[ch]: changed to the new
	namespace, work on GimpDisplayShell instead of GimpDisplay.

	* app/display/gimpdisplayshell-render.c
	* app/display/gimpdisplayshell.[ch]: changed accordingly.

	* app/gui/dialogs-constructors.c: enabled the dialog constructor.

	* app/gui/gui.c: call the init() function.

	* app/gui/menus.c: enabled the menu entry, but moved it to
	<Image>/View. Moved "Undo History..." to <Image>/Image.

	* modules/Makefile.am: build and install the modules.

	* modules/cdisplay_gamma.c
	* modules/cdisplay_highcontrast.c: made them compile with minimal
	changes.

	Unrelated:

	* app/undo_history.c: connect to the image's "disconnect", not
	"destroy" signal.

	* app/tools/gimpselectiontool.c: mask out the irrelevant parts of
	the "state" passed to the modifier_key() func, so tool_options
	button toggling works with other modifiers (e.g. num_lock)
	pressed.
2002-03-14 22:42:50 +00:00
Michael Natterer 91ada34484 made gimp_display_shell_update_icon() public, removed the update_icon
2002-02-17  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.[ch]: made
	gimp_display_shell_update_icon() public, removed the update_icon
	signal handler and idle function.

	* app/display/gimpdisplayshell-handlers.c: added the update_icon
	stuff here so it get's properly dis- and reconnected.
2002-02-17 13:12:16 +00:00
Michael Natterer 758de05b72 made the gimp_object_get_memsize() debugging output configurable by a
2002-02-06  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpobject.c: made the gimp_object_get_memsize()
	debugging output configurable by a global "gimp_debug_memsize"
	boolean.

	* app/display/gimpdisplay.c: removed duplicated prototype.

	* app/display/gimpdisplayshell.[ch]: renamed the various cursor
	functions to be more consistent and shorter. Compress window title
	updates by adding a "gboolean title_dirty" and updating the title
	in gimp_display_shell_flush().  Added "%m" (memory size) to the
	possible title string substitutions.

	* app/display/gimpdisplay-foreach.c
	* app/display/gimpdisplayshell-handlers.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimptool.c: changed accordingly.

	* app/display/gimpdisplayshell-callbacks.c: forgot to grab the
	pointer when dragging guides from the rulers. Coincidentially,
	this also fixes the buggy offset between guide and mouse
	pointer...
	Cleaned up the main tool event callback a but more.

	* app/widgets/gimppreview.c
	* app/gui/commands.c: set the new global "gimp_debug_memsize"
	toggle to TRUE while calling gimp_object_get_memsize().

	* app/gui/preferences-dialog.c: added a image title example
	containing the new "%m" feature.

	* docs/gimprc-1.3.5.in: document "%m" in the manpage.

	* app/tools/gimpbezierselecttool.c: reordered some statements.

	* app/tools/gimpdrawtool.[ch]: store the GimpDisplay passed to
	gimp_draw_tool_start() in draw_tool->gdisp and use it for
	coordinate transfomration. This way we can paint on a display
	which is not tool->gdisp.

	* app/tools/gimppainttool.c: changed the gimp_draw_tool_foo()
	calls needed to make the straight_line preview work in a way
	that does not interfere with paint_tool subclasses which want
	to do their own drawing (like the clone tool).

	Also changed the paint_tools PRETRACE_PAINT and POSTTRACE_PAINT
	flags usage in a way that subclasses can use them without major
	hackery: don't simply wrap gimp_display_flush_now() with
	PRETRACE/POSTTRACE calls, but wrap the actual painting calls, so
	subclasses are able to do useful things with paint_tool->*_coords.

	* app/tools/gimpclonetool.c: removed poking around in draw_tool
	internals and simply suspend()/resume() it in
	PRETRACE_PAINT/POSTTRACE_PAINT to get the clone_src indicator
	drawn correctly.
2002-02-07 11:33:01 +00:00
Michael Natterer 0440bbbf5a app/display/Makefile.am app/display/display-types.h new widget derived
2002-02-03  Michael Natterer  <mitch@gimp.org>

	* app/display/Makefile.am
	* app/display/display-types.h
	* app/display/gimpstatusbar.[ch]: new widget derived from
	GtkStatusbar.  Contains the coordinates display, a progress bar
	which is also used for status message display and a cancel button.
	Added a simplified API for pushing/popping messages which takes a
	string as context_id and does the conversion to guint internally
	on each call.

	* app/display/gimpdisplayshell.[ch]: removed the status bar code.

	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell-handlers.c
	* app/display/gimpdisplayshell-scale.c
	* app/gui/view-commands.c
	* app/gimpprogress.c: changed accordingly.

	Removed knowledge about GimpDisplayShell from tools:

	* app/tools/gimptool.[ch]: added gimp_tool_push_status() and
	gimp_tool_pop_status() so tools don't need to fiddle with
	display details.

	* app/tools/gimpdrawtool.[ch]: pass a GimpDisplay instead of
	a GdkWindow to gimp_draw_tool_start() (the window passed was
	always gdisp->shell->canvas->window).

	* app/tools/gimpbezierselecttool.c
	* app/tools/gimpblendtool.[ch]
	* app/tools/gimpclonetool.c
	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpcroptool.[ch]
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpfreeselecttool.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimpmagnifytool.c
	* app/tools/gimpmeasuretool.[ch]
	* app/tools/gimpmovetool.c
	* app/tools/gimppainttool.[ch]
	* app/tools/gimppathtool.c
	* app/tools/gimprectselecttool.[ch]
	* app/tools/gimptransformtool.c: changed accordingly:

	- pass GimpDisplay to gimp_draw_tool_start().
	- use GimpTool's new status push/pop functions.
	- removed the statusbar context_id from all tool structs.

	* app/gui/dialogs-constructors.[ch]: a bit cleanup in preparation
	of dockable editor dialogs.
2002-02-03 12:10:23 +00:00
Michael Natterer 9dd403f7b2 CPPFLAGS: added -DGTK_DISABLE_DEPRECATED
2002-01-25  Michael Natterer  <mitch@gimp.org>

	* configure.in: CPPFLAGS: added -DGTK_DISABLE_DEPRECATED

	* libgimpwidgets/gimpdialog.c: still use the deprecated
	gtk_window_set_policy() but spit out a #warning.

	* app/widgets/widgets-types.h
	* app/widgets/gimpitemfactory.[ch]: made it a GtkItemFactory
	subclass. This way we can reproduce the effect of
	gtk_item_factory_get_from_path() which is deprectated for good
	reasons.  For GIMP, using it its perfectly OK since we only have
	one item factory per "<prefix>".

	* app/widgets/gimpbrushfactoryview.[ch]
	* app/widgets/gimpbufferview.[ch]
	* app/widgets/gimpcontainereditor.[ch]
	* app/widgets/gimpdatafactoryview.[ch]
	* app/widgets/gimpdialogfactory.[ch]
	* app/widgets/gimpdock.c
	* app/widgets/gimpdockbook.c
	* app/widgets/gimpdocumentview.[ch]
	* app/widgets/gimpdrawablelistview.[ch]
	* app/widgets/gimppreview.c
	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell.[ch]: pass around GimpItemFactory
	pointers instead of "const gchar *" item factory identifiers.
	Replaced gtk_window_set_policy() by gtk_window_set_resizable()
	and other recommended stuff.

	* app/gui/about-dialog.c
	* app/gui/dialogs-constructors.c
	* app/gui/dialogs.c
	* app/gui/file-open-dialog.c
	* app/gui/file-save-dialog.c
	* app/gui/gradient-editor.c
	* app/gui/menus.c
	* app/gui/offset-dialog.c
	* app/gui/splash.c
	* app/gui/tips-dialog.c
	* app/gui/toolbox.c: lots of
	s/gtk_item_factory_from_path/gimp_item_factory_from_path/,
	gtk_window_set_policy() replacements, misc fixes.

	* plug-ins/gdyntext/charmap_window.c
	* plug-ins/gdyntext/gdyntext_ui.c
	* plug-ins/gdyntext/message_window.c
	* plug-ins/imagemap/imap_main.c: replaced gtk_window_set_policy().
2002-01-25 18:34:33 +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
Michael Natterer 57157b4041 app/display/Makefile.am removed. It was a wrapper around nothing since we
2001-11-30  Michael Natterer  <mitch@gimp.org>

	* app/display/Makefile.am
	* app/display/gximage.[ch]: removed. It was a wrapper around
	nothing since we use GdkRGB.

	* app/display/gimpdisplayshell-render.[ch]: added the render
	buf size defines here, added the #if 0'ed display filter stuff
	and the actual GdkRGB render stuff here too.

	* app/display/gimpdisplayshell.[ch]: added shell->render_buf as
	replacement for the global gximage buffer, renamed shell->scroll_gc
	to shell->render_gc and use it all over the place when rendering
	image data.

	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell-scroll.c: changed accordingly.

	* app/gui/gui.c: don't call gximage init/exit stuff.
2001-11-30 18:23:49 +00:00
Michael Natterer bf6e5a4b9d replaced the QMask radio buttons ba a single check button. Still needs
2001-11-29  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.[ch]: replaced the QMask radio
	buttons ba a single check button. Still needs some tuning.

	* app/display/gimpdisplayshell-handlers.c
	* app/display/gimpdisplayshell-qmask.[ch]: changed accordingly.

	* app/tools/gimptool.[ch]: added "gboolean handle_empty_image" to
	the GimpTool structure.

	* app/tools/gimpmovetool.c: set it to TRUE.

	* app/tools/gimpfuzzyselecttool.c: don't gimp_[set|unset]_busy()
	while calculating the selection but set the busy cursor on the
	display manually (we have the pointer grabbed anyway).

	* app/display/gimpdisplayshell-callbacks.c: don't check for
	GIMP_IS_MODE_TOOL(active_tool) but look at
	active_tool->handle_empty_image. Removed the checks for
	GIMP_IS_FUZZY_SELECT_TOOL(active_tool) because fuzzy_select
	doesn't set GIMP busy while it's active any more.

	* app/tools/transform_options.[ch]
	* app/tools/gimptransformtool.c
	* app/tools/gimprotatetool.c
	* app/tools/gimpscaletool.c: added widgets for the transform tools'
	constraints (one more #51108 issue fixed).

	* app/tools/gimperasertool.c: cosmetic.

	* app/widgets/gimpdockbook.c: don't hardcode GtkNotebook's
	tab_border to 0 but add a style property for it...

	* themes/Default/gtkrc: ...and set it to 0 here.
2001-11-29 16:44:51 +00:00
Michael Natterer 6cf34005af include the new "paint-funcs/paint-funcs-types.h".
2001-11-28  Michael Natterer  <mitch@gimp.org>

	* app/base/base-types.h: include the new
	"paint-funcs/paint-funcs-types.h".

	* app/paint-funcs/Makefile.am
	* app/paint-funcs/paint-funcs-types.h: new file. Includes
	"base/base-types.h".

	* app/paint-funcs/paint-funcs.[ch]: removed the enums here,
	include "paint-funcs-types.h".

	* app/widgets/widgets-types.h: include "display/display-types.h"

	* app/display/display-types.h: include "widgets/widgets-types.h".

	* app/tools/tools-types.h: include "display/display-types.h"

	* app/gui/gui-types.h: include "tools/tools-types.h".

	The order of namespaces/dependencies should be (but is not):

	(base, paint-funcs) -> (core, file, xcf, pdb) ->
	(widgets, display) -> tools -> gui

	* app/path.c: include "tools/tools-types.h".

	* app/core/Makefile.am
	* app/core/gimpimage-guides.[ch]
	* app/core/gimpimage-merge.[ch]
	* app/core/gimpimage-resize.[ch]
	* app/core/gimpimage-scale.[ch]: new files.

	* app/core/gimpimage.[ch]: removed the stuff which is in the new
	files. Reordered all functions in both the .h and .c files,
	commented the groups of functions.

	* app/core/gimpcontainer.c: create the handler_id using a counter,
	not the address of a pointer, because the address *may* be the
	same twice, added debugging output.

	* app/core/gimpviewable.[ch]: added primitive support for getting
	a preview GdkPixbuf.

	* app/nav_window.c
	* app/undo.c
	* app/undo_history.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-mask.[ch]
	* app/display/gimpdisplay.c
	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell-dnd.c
	* app/display/gimpdisplayshell-render.c
	* app/display/gimpdisplayshell-scale.c
	* app/display/gimpdisplayshell-scroll.c
	* app/gui/image-commands.c
	* app/gui/info-window.c
	* app/gui/layers-commands.c
	* app/gui/palette-import-dialog.c
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimpmovetool.c
	* app/widgets/gimpcontainerview-utils.c
	* app/xcf/xcf-load.c: changed accordingly, some cleanup.

	* tools/pdbgen/pdb/guides.pdb
	* tools/pdbgen/pdb/image.pdb: changed accordingly, reordered functions.

	* app/plug_in.c: set the labels of the "Repeat" and "Re-Show" menu
	items to the name of the last plug-in (Fixes #50986).

	* app/display/gimpdisplayshell.[ch]: set the labels of "Undo" and
	"Redo" to the resp. undo names. Much simplified the WM icon stuff
	by removing most code and using gimp_viewable_get_new_preview_pixbuf().

	* app/widgets/gimpbrushfactoryview.c: forgot to assign the GQuark
	returned by gimp_container_add_handler().

	* app/pdb/guides_cmds.c
	* app/pdb/image_cmds.c
	* libgimp/gimpimage_pdb.[ch]: regenerated.
2001-11-28 17:51:06 +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 4403d58a62 Wishlist item #57669:
2001-11-16  Michael Natterer  <mitch@gimp.org>

	Wishlist item #57669:

	* app/gimprc.[ch]: replaced gimprc option "allow-resize-windows"
	by "resize-windows-on-zoom" and "resize-windows-on-resize".

	* app/gui/preferences-dialog.c: added a toggle for
	"resize-windows-on-resize".

	* app/display/gimpdisplayshell-handlers.c
	* app/display/gimpdisplayshell-scale.c
	* app/tools/gimpmagnifytool.c
	* docs/gimprc.5.in
	* etc/gimprc.in
	* etc/gimprc.win32: changed accordingly.

	* app/display/gimpdisplay-area.[ch]: added gimp_area_new().

	* app/display/gimpdisplay.c: cleanup usage of GimpArea.

	* app/display/gimpdisplayshell.[ch]: added configurable canvas
	padding color and a small color_panel to change it in the upper
	right corner of the window.

	* app/display/gimpdisplayshell-callbacks.[ch]: added a callback
	for the color_panel, initialize the color in the "realize"
	callback.

	Wishlist item #51548.

	* app/display/gimpdisplayshell-selection.[ch]
	* app/gui/menus.c
	* app/gui/view-commands.[ch]: made the layer boundary toggleable
	separately from the selection.

	* app/gui/color-notebook.c: #if 0'ed a debugging g_print().
2001-11-16 15:08:59 +00:00
Michael Natterer 8dac894966 app/display/gimpdisplay-marching-ants.h removed...
2001-11-10  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplay-marching-ants.h
	* app/display/gimpdisplay-selection.[ch]: removed...

	* app/display/gimpdisplayshell-marching-ants.h
	* app/display/gimpdisplayshell-selection.[ch]: ...new names.

	* app/display/gimpdisplay.[ch]
	* app/display/gimpdisplayshell.[ch]: moved the Selection stuff
	from GimpDisplay to GimpDisplayShell.

	Renamed all functions which will stay in GimpDisplay from
	gdisplay_foo() to gimp_display_foo(). Added gimp_display_get_ID(),
	cleaned up the idle renderer.

	* app/image_map.c
	* app/plug_in.c
	* app/display/Makefile.am
	* app/display/gimpdisplay-foreach.[ch]
	* app/display/gimpdisplay-handlers.c
	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell-handlers.c
	* app/display/gimpdisplayshell-scroll.c
	* app/gui/gui.c
	* app/gui/view-commands.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpinktool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimppainttool.c
	* tools/pdbgen/pdb.pl: changed accordingly, cleanup.

	* app/pdb/display_cmds.c: regenerated.
2001-11-10 23:03:22 +00:00
Michael Natterer 7125fdbc43 fixed qmask callbacks to check if the toggle is active before performing
2001-11-10  Michael Natterer  <mitch@gimp.org>

	* app/qmask.c: fixed qmask callbacks to check if the toggle is
	active before performing any action.

	* app/core/core-types.h: added the GimpCoords type here because it
	will be used by core functions as soon as the painting stuff is
	separated from the painting tools.

	* app/core/gimpdrawable-bucket-fill.c: fixed g_return_if_fail()s
	to not disable any useful operation :-) Still didn't figure out
	how I broke display color and pattern dropping :-(

	* app/display/gimpdisplayshell.[ch]: added
	gimp_display_shell_[un]transform_coords() which work on two
	GimpCoords pointers.

	* app/display/gimpdisplayshell-callbacks.c: use the new functions
	instead of the gdisplay_* ones.

	* app/gui/image-commands.c: GimpImage emits "disconnect", not
	"destroy".

	* app/tools/tools-types.h
	* app/tools/gimptool.h: removed GimpCoords here.

	* app/tools/gimpconvolvetool.c: fixed modifier_key() implementation.

	* app/tools/gimpcroptool.c: cleanup.

	* app/tools/paint_options.c: don't need a separator in the ink
	tool options.

	* app/tools/gimprectselecttool.c
	* app/tools/selection_options.[ch]: implemented wish #50352:

	Added "Auto Shrink Selection" and "Sample Merged" toggles to
	the rect_select and ellipse_select tools. Put the "Fixed size"
	widgets in a frame. Removed the separators after the common
	selection tool options because I didn't like them any more
	(feel free to comment ;)
2001-11-10 14:17:01 +00:00
Michael Natterer 02fde14c95 build display/ before tools/.
2001-11-08  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am: build display/ before tools/.

	* app/devices.c: devices_check_change(): added all events
	which have a GdkDevice pointer.

	* app/gimpprogress.c: include "display-types.h" instead of
	"core-types.h".

	* app/core/Makefile.am
	* app/core/gimpdrawable-bucket-fill.[ch]: new files: the bucket_fill
	stuff taken from tools/gimpbucketfilltool.[ch].

	* app/core/core-types.h: added "BucketFillMode".

	* app/core/gimpimage-mask-select.[ch]: cleanup.

	* app/core/gimpmarshal.list: added more marshallers for GimpTool's
	new signal signatures.

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

	* app/display/Makefile.am
	* app/display/gimpdisplayshell-dnd.[ch]
	* app/display/gimpdisplayshell-layer-select.[ch]: new files: the
	canvas drop callbacks from gimpdisplayshell-callbacks.[ch] and
	the stuff formerly knows as gui/layer-select.[ch].

	* app/display/gimpdisplay.h: don't include "gui/gui-types.h".

	* app/display/gximage.c: include "display-types.h".

	* app/display/gimpdisplay-foreach.c
	* app/display/gimpdisplayshell.[ch]: call gdsplay_delete(), don't
	destroy the shell widget.

	* app/gui/Makefile.am
	* app/gui/layer-select.[ch]: removed.

	* app/gui/gradients-commands.c: fixed "Save as POV" fprintf()s.

	* app/gui/preferences-dialog.c: removed the layer_select stuff
	because it is useless with the new preview system.

	* app/gui/tool-options-dialog.c: send the correct data to the
	close_callback.

	* app/gui/tools-commands.c: changed to follow the new
	gimp_tool_initialize() semantics (see below).

	Tool & canvas event handling chainsawing:

	* app/tools/tools-types.h: new struct GimpCoords which contains
	x, y, pressure, tilt etc.

	* app/display/gimpdisplayshell-callbacks.[ch]: added utility
	functions which transparently retreive the current event's
	GimpCoords or take it from the device directly if the event has
	none. Pass GimpCoords _in_image_coordinates_ to all tool
	functions.

	Most important: don't pass GdkEvents and display coordinates to
	tools any more.

	* app/tools/gimptool.[ch]: changed virtual functions to take
	GimpCoords, time and state separately instead of GdkEvents.

	* app/tools/gimpbezierselecttool.c
	* app/tools/gimpblendtool.c
	* app/tools/gimpbucketfilltool.[ch]
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpclonetool.c
	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpconvolvetool.c
	* app/tools/gimpcroptool.[ch]
	* app/tools/gimpcurvestool.c
	* app/tools/gimpdodgeburntool.c
	* app/tools/gimpdrawtool.c
	* app/tools/gimpeditselectiontool.[ch]
	* app/tools/gimperasertool.c
	* app/tools/gimpfliptool.c
	* app/tools/gimpfreeselecttool.[ch]
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimpinktool.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimpmagnifytool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimppainttool.c
	* app/tools/gimppathtool.[ch]
	* app/tools/gimprectselecttool.c
	* app/tools/gimprotatetool.c
	* app/tools/gimpselectiontool.[ch]
	* app/tools/gimpsmudgetool.c
	* app/tools/gimptexttool.c
	* app/tools/gimptransformtool.[ch]
	* app/tools/path_tool.[ch]
	* app/tools/selection_options.c: tons and tons of changes:

	- changed to use the new virtual function parameters.
	- removed zillions of gdisplay_untransform_coords().
	- get the active drawable's offsets manually in many cases.
	  (questionable, but IMHO ok because it's obvious and not simply a
	  "TRUE" passed to some function)
	- reordered some functions to be consistent across tools.
	- some tools had to be changed to work on image coords, not
	  display ones (esp. crop).
	- fixed strange rotate tool behaviour which should be backported
	  to stable.
	- some stuff i came across.
	- indentation and other paranoia.
	- rounding of coordinated may be broken in some tools.
	- new bugs guaranteed.

	* app/tools/tool_manager.[ch]: new semantic of
	tool_manager_initialize_active() (looked at the places where it
	was used from and put common code together). Should be a bit
	better now :)

	* app/tools/gimpblendtool.c
	* app/tools/transform_options.c: use the new GTK+ feature that a
	widget (toggle button) can be a frame's title for this tools' tool
	options.

	* app/widgets/widgets-types.h: stuff.

	* themes/Default/gtkrc: s/GtkDialog/GimpDialog/.

	* tools/pdbgen/Makefile.am: don't scan tools/gimpbucketfilltool.h
	any more.

	* tools/pdbgen/enums.pl: regenerated.

	* tools/pdbgen/pdb/tools.pdb: changed bucket_fill wrapper.

	* app/pdb/tools_cmds.c: regenerated.
2001-11-08 19:14:51 +00:00
Michael Natterer d162376d47 app/display/Makefile.am app/display/gimpdisplay-callbacks.[ch]
2001-11-01  Michael Natterer  <mitch@gimp.org>

	* app/display/Makefile.am
	* app/display/gimpdisplay-callbacks.[ch]
	* app/display/gimpdisplay-render.[ch]
	* app/display/gimpdisplay-scale.[ch]
	* app/display/gimpdisplay-scroll.[ch]: removed and added as
	gimpdisplayshell-foo.[ch] because they are all methods of the
	shell.

	* app/display/gimpdisplay.[ch]
	* app/display/gimpdisplayshell.[ch]: moved the "offset" and "size"
	variables from GimpDisplay to GimpDisplayShell. GimpDisplay
	should know nothing about screen coordinates.

	The gdisplay_[un]transform_foo() methods are still part of
	GimpDisplay but will be moved to GimpDisplayShell as soon as the
	tools' vitrual functions speak in image coordinates instead of
	GdkEvents.

	* app/display/gimpdisplayshell-callbacks.[ch]: prefixed all
	functions with gimp_display_shell_*. Moved some stuff to a
	"realize" callback File still has to be renamed.

	* app/display/gimpdisplay-foreach.[ch]: removed
	gdisplays_shrink_wrap().

	* app/gui/menus.c
	* app/gui/view-commands.[ch]
	* app/display/gimpdisplayshell-scale.[ch]: implemented "Zoom to
	Fit Window" function (#57670).

	* app/nav_window.c
	* app/display/gimpdisplay-handlers.c
	* app/display/gimpdisplayshell-render.[ch]
	* app/display/gimpdisplayshell-scale.[ch]
	* app/display/gimpdisplayshell-scroll.[ch]
	* app/gui/colormap-dialog.c
	* app/gui/gui.c
	* app/gui/preferences-dialog.c
	* app/tools/gimpmagnifytool.c
	* app/tools/gimpmovetool.c
	* app/widgets/gimppreview.c: changed according to variable
	and filename changes.

	* app/tools/tool_manager.c: tool_manager_select_tool(): send the
	active tool a "HALT" command before selecting the new one. Fixes
	stale tool dialogs which were there because some other hack was
	removed (This is IMHO the right place to shut down the active
	tool).

	* app/tools/gimpcroptool.c: don't shrink wrap after cropping but
	let gimprc.allow_resize_windows decide.

	* app/tools/gimpselectiontool.c: gimage_mask_value() takes image,
	not screen coordinates. A good example of how braindead it is to
	pass GdkEvents to tools :-) Fixes incorrect cursor and oper
	update of the selection tools.

	* app/tools/gimptransformtool.c
	* app/undo.c: removed (#if 0 for now) some strange code which did
	manual exposing of GimpDisplayShell areas. This was definitely a
	hack and should not be there given the image emits correct
	"update" signals.
2001-11-02 09:31:21 +00:00
Michael Natterer cbce339039 fscking broken pipe... 2001-10-31 21:20:09 +00:00
Michael Natterer 859e9c4117 gdk_pixbuf_new_from_stream -> _from_inline
2001-10-13  Michael Natterer  <mitch@gimp.org>

	* RELEASE-TO-CVS.patch: gdk_pixbuf_new_from_stream -> _from_inline

	* app/display/Makefile.am
	* app/display/gimpdisplay-foreach.[ch]: new files for functions
	operating on all displays (will go away as soon as the display
	behaves like a proper view which doesn't need to be updated
	explicitly).

	* app/display/gimpdisplay-callbacks.c
	* app/display/gimpdisplay-scale.[ch]
	* app/display/gimpdisplay-scroll.[ch]
	* app/display/gimpdisplay.[ch]: "scale" and "scroll" namespace
	cleanup, moved bounds_checking() to gimpdisplay-scroll.[ch], lots
	of unfinished, intermediate stuff.

	* app/display/gimpdisplayshell.[ch]: added some GObject framework
	for the GimpDisplayShell object (not used yet).

	* app/app_procs.c
	* app/docindex.c
	* app/image_map.c
	* app/nav_window.c
	* app/path.c
	* app/qmask.c
	* app/undo.c
	* app/gui/channels-commands.c
	* app/gui/convert-dialog.c
	* app/gui/edit-commands.c
	* app/gui/file-commands.c
	* app/gui/gui.c
	* app/gui/image-commands.c
	* app/gui/layer-select.c
	* app/gui/layers-commands.c
	* app/gui/offset-dialog.c
	* app/gui/paths-dialog.c
	* app/gui/preferences-dialog.c
	* app/gui/select-commands.c
	* app/gui/view-commands.c
	* app/tools/gimpairbrushtool.c
	* app/tools/gimpbezierselecttool.c
	* app/tools/gimpblendtool.c
	* app/tools/gimpbrightnesscontrasttool.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpfreeselecttool.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimpinktool.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpmagnifytool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimppainttool.c
	* app/tools/gimpposterizetool.c
	* app/tools/gimprectselecttool.c
	* app/tools/gimptexttool.c
	* app/tools/gimpthresholdtool.c
	* app/tools/gimptransformtool.c
	* app/widgets/gimpbufferview.c
	* app/widgets/gimpchannellistview.c
	* app/widgets/gimpcomponentlistitem.c
	* app/widgets/gimpdrawablelistitem.c
	* app/widgets/gimpdrawablelistview.c
	* app/widgets/gimplayerlistitem.c
	* app/widgets/gimplayerlistview.c
	* app/widgets/gimplistitem.c
	* tools/pdbgen/pdb/display.pdb
	* app/pdb/display_cmds.c: changed accordingly (mostly including
	"gimpdisplay-foreach.h" instead of "gimpdisplay.h")
2001-10-13 12:52:30 +00:00
Michael Natterer afebbc2f86 app/Makefile.am new files containing most of the code from
2001-01-22  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/toolbox.[ch]: new files containing most of the code
	from app/interface.[ch]

	* app/interface.[ch]: only contains create_display_shell() now.
	Needs to be somehow merged with other arbitrarily named display
	files around.

	* app/app_procs.c
	* app/menus.c
	* po/POTFILES.in: changed accordingly.

	* app/asupsample.c
	* app/gradient.c
	* app/tile.c: cleanup.
2001-01-22 03:30:42 +00:00
Michael Natterer 8d6c335f8f app/Makefile.am app/channel_pvt.h app/drawable_pvt.h app/gdisplayF.h
2000-12-29  Michael Natterer  <mitch@gimp.org>

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

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

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

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

	#include "config.h"

	#include <system stuff>

	#include <gtk/gtk.h>

	#include "apptypes.h"

	#include "gimp stuff"

	#include "libgimp stuff"

	#include "libgimp/gimpintl.h"

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

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

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

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

	* plug-ins/FractalExplorer/Dialogs.c
	* plug-ins/gdyntext/message_window.c
	* plug-ins/imagemap/imap_default_dialog.c
	* plug-ins/imagemap/imap_file.c: these files used to include
	"libgimp/gimpui.h" without including "libgimp/gimp.h". This is
	no longer possible because the libgimpui headers don't inlcude
	"libgimp/gimpunit.h" any more.
2000-12-29 15:22:01 +00:00
Sven Neumann d517927260 Use static GdkPixmaps in the image_window and for the tool icons.
--Sven
2000-02-08 23:45:20 +00:00
Michael Natterer 0302ed0a10 app/brush_select.[ch] app/gradient.c app/gradient_select.[ch]
1999-11-03  Michael Natterer  <mitch@gimp.org>

	* app/brush_select.[ch]
	* app/gradient.c
	* app/gradient_select.[ch]
	* app/interface.[ch]
	* app/palette.c
	* app/pattern_select.[ch]: allow dragging a brush/pattern/... from
	the selections with mouse2 without changing the active element in
	the dialog.

	* app/channels_dialog.c
	* app/color_area.c
	* app/color_panel.c
	* app/color_select.c
	* app/colormap_dialog.i.c
	* app/devices.c
	* app/gimpcontextpreview.[ch]
	* app/gimphelp.[ch]
	* app/gimpui.[ch]
	* app/indicator_area.c
	* app/interface.[ch]
	* app/layers_dialog.c
	* app/lc_dialog.c
	* app/ops_buttons.[ch]
	* app/paths_dialog.c
	* app/preferences_dialog.c
	* app/tools.[ch]: wrapped gtk_tooltips_set_tip() with
	gimp_help_set_help_data() and moved it to gimphelp.[ch].

	This should (hopefully) be the final state of the help system. The
	New function allows a "private tip" to be set without a visible
	tooltip. This way the tooltips inspector (shift+F1) can search for
	help data in the parent containers of the clicked widget. E.g. the
	ops buttons in the layers dialog have private tips like
	"#new_layer" which gets composed with the help data of the layers
	dialog notebook page resulting in a complete help path.

	Allow mouse2 for all dnd operations. Mouse1 still works like before.
1999-11-03 09:58:46 +00:00
Michael Natterer 002aa905db app/Makefile.am app/gimphelp.[ch] new files
1999-09-27  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/gimphelp.[ch]
	* app/gimpui.[ch]: new files

	* app/interface.[ch]
	* app/preferences_dialog.[ch]

	The GIMP Help System part 1: Press "F1" in any dialog to pop up
	the help page for this dialog.

	Moved the widget constructors from preferences_dialog.[ch] and the
	query boxes from interface.[ch] to gimpui.[ch].

	The dialog constructors take a help_func and a help_data
	parameter and install the "F1" accelerator which emits the new
	"help" signal.

	The "help" signal callback calls help_func(help_data) which finally
	has to call gimp_help() which in turn invokes the help browser.

	Still have to find a proper way to (1) prevent "F1" being assigned
	to some menu item and (2) to catch "F1" while browsing the menu
	trees in order to pop up the help for the selected item.

	* app/menus.c: a <Toolbox>/File/Help... menu item.
	* app/commands.[ch]: a command callback for the "Help..." menu item.

	* app/gimprc.[ch]: new boolean gimprc variable "use_help".

	* app/info_dialog.[ch]: pass a help function and data to the info
	dialog constructor.

	* app/tools.[ch]: store the tools help page names in the tool info
	structure. Export a special tools_help_func() which shows the help
	page for the active tool.

	* app/[all files calling a dialog constructor]: pass the dialog's
	help page to the constructor.

	Most dialogs are now created by gimp_dialog_new() which also sets
	up the action_area and the WM delete event callback, so I removed
	the resp. code from these files.

	Fixed some minor bugs and did some other stuff but didn't change
	any logic except dialog creation.

	* plug-ins/helpbrowser/helpbrowser.c: don't try to call a running
	help browser and don't install any menu path (all done in
	app/gimphelp.[ch] now).
1999-09-27 17:58:10 +00:00
Michael Natterer a4c1e8a557 new ui for the "Layer Offset" dialog.
1999-07-22  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/channel_ops.[ch]: new ui for the "Layer Offset" dialog.

	* app/channels_dialog.c
	* app/layers_dialog.c: major code cleanup: Folded some callbacks
	into common ones, "widget" instead of "w", indentation, ...

	* app/commands.c
	* app/interface.[ch]
	* app/global_edit.c: the query boxes must be shown by the caller
	now. There's no need to split up the string for the message box
	manually as the Gtk 1.2 label widget handles newlines corectly.
	Added the "edge_lock" toggle to the "Shrink Selection" dialog.
	Nicer spacings for the query and message boxes.

	* app/ink.c: tried to grab the pointer in the blob preview but
	failed. Left the code there as a reminder (commented out).

	* app/menus.c: reordered <Image>/Select.

	I was bored and grep-ed the sources for ancient or deprecated stuff:

	* app/about_dialog.[ch]
	* app/actionarea.[ch]
	* app/app_procs.c
	* app/brush_edit.c
	* app/brush_select.c
	* app/color_select.c
	* app/convert.c
	* app/devices.c
	* app/gdisplay.c
	* app/gdisplay_ops.c
	* app/histogram_tool.[ch]
	* app/info_window.c
	* app/install.c
	* app/ops_buttons.c
	* app/palette.c
	* app/palette_select.c
	* app/paths_dialog.c
	* app/pattern_select.c
	* app/resize.c
	* app/scale_toolc.c
	* app/text_tool.c:
	s/container_border_width/container_set_border_width/g,
	s/sprintf/g_snprintf/g, replaced some constant string lengths with
	strlen(x).

	* app/bezier_select.c
	* app/blend.c
	* app/boundary.c
	* app/errors.[ch]
	* app/free_select.c
	* app/gimpbrushlist.c
	* app/gimprc.c
	* app/iscissors.c
	* app/main.c
	* app/patterns.[ch]
	* app/text_tool.c: namespace fanaticism: prefixed all gimp error
	functions with "gimp_" and formated the messages more uniformly.

	* app/gradient.c
	* app/gradient_select.c: same stuff as above for the ui
	code. There are still some sub-dialogs which need cleanup.

	Did some cleanup in most of these files: prototypes, removed tons
	of #include's, i18n fixes, s/w/widget/ as above, indentation, ...
1999-07-22 16:21:10 +00:00
Michael Natterer a72dbe86b4 connect to the user context's "display_changed" and to the image context's
1999-06-21  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/context_manager.c: connect to the user context's
	"display_changed" and to the image context's "remove" signal to
	avoid dangling references and to set the menu sensitivity on
	display change.

	* app/disp_callbacks.c
	* app/file_new_dialog.c
	* app/fileops.c
	* app/gdisplay.c
	* app/gdisplay_ops.c
	* app/gimpcontext.c
	* app/interface.[ch]: entirely moved the active display stuff to
	the user context:

	- The active display is set by any event in the display shell,
	  by File/New and File/Open.
	- gdisplay_delete() resets the active display to NULL if we
	  deleted the active display.
	- Reduced gdisplay_active() to a single statement returning the
	  context's active display. Should replace it by a macro.
	- gdisplay_flush_whenever() sets the menu sensitivity for the
	  active display.
	- Removed global variable popup_shell since it was only set all
	  the time but never used. I guess it's original job is now done
	  by the context anyway.
	- gdisplay_set_menu_sensitivity() works with gdisp == NULL.
	- There are mysterious Gdk-CRITICALs if both <Image> and one of
	  it's sub-menus are teared-off. Probably a gtk+ bug.

	To do all this stuff at a central place, there needs to be a
	GimpSet of displays (and ideally, GDisplay should be a GtkObject).

	* app/commands.c
	* app/lc_dialog.c: fixed segfaults happening with teared-off menus.
1999-06-20 23:29:34 +00:00
Michael Natterer dcfb450b25 app/[all files with resolution info] libgimp/gimp.h libgimp/gimpimage.c
1999-05-22  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/[all files with resolution info]
	* libgimp/gimp.h
	* libgimp/gimpimage.c
	* libgimp/gimpsizeentry.[ch]
	* libgimp/gimpunit.[ch]
	* plug-ins/newsprint/newsprint.c
	* plug-ins/pgn/png.c
	* plug-ins/tiff/tiff.c: double instead of float for all resolution
	and unit-factor variables.

	* app/commands.c
	* app/crop.c
	* app/interface.c
	* app/layers_dialog.c
	* app/move_tool.c
	* app/resize.c
	* app/rotate_tool.c
	* app/scale_tool.c: pass the image's unit *and* gdisp->dot_for_dot
	to all functions which create sizeentries. Never create a
	sizeentry with UNIT_PIXEL but with the image's unit and set it's
	unit to UNIT_PIXEL after creation if dot_for_dot is on.
	This way the image's unit can always be picked from the menu
	without selecting "More...".

	* app/interface.c: made the query_*_box() functions use the
	ActionArea.

	* plug-ins/gimpunitmenu.c: GTK_WIN_POS_MOUSE for the unit
	selection dialog.
1999-05-22 17:56:35 +00:00
Michael Natterer 737aa1a0de corrected a typo
1999-03-25  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* unitrc: corrected a typo

	* app/commands.c
	* app/global_edit.c
	* app/gradient.c
	* app/interface.[ch]
	* app/palette.c
	* app/paths_dialog.c: the query_[string|..]_boxes connect their
	close callback to a user provided signal now.

	* libgimp/gimpimage.c: gimp_image_get_unit() doesn't need a
	g_return_if_fail()

	* libgimp/gimpunitmenu.c: memory leak & compiler warning

	* configure.in
	* gimprc.in
	* user_install
	* user_install.bat
	* plug-ins/Makefile.am
	* plug-ins/FractalExplorer/*: added the FractalExplorer plugin.

	* app/install.c: ditto and made the install help text more
	editable by moving it to an array.
1999-03-25 23:14:36 +00:00
Michael Natterer 7fd5b7c18e This is mostly unit stuff and code cleanup
1999-03-12  Michael Natterer  <mitschel@cs.tu-berlin.de>

        This is mostly unit stuff and code cleanup

        * libgimp/gimpi.def: add some functions

        * libgimp/gimpsizeentry.[ch]: new function
        gimp_size_entry_set_refval_digits() which allows for float pixel
        input. SIGFPE bugfix from Yasuhiro Shirasaki
        <yasuhiro@awa.tohoku.ac.jp>, minor bugfixes.

        * libgimp/gimpunitmenu.[ch]: add a separator after "pixels",
        bugfixes.

        * app/interface.[ch]: split up the old query_string_box() into
        query_[string|int|float|size]_box(). All functions take an
        optional GtkObject* parameter and connect to that object's
        "destroy" signal, this fixes some segfaults. And a global
        s/container_border_width/container_set_border_width/

        * app/commands.s: grow, shrink, border, feather now use the
        query_size_box. Used MIN(xres,yres) for now for the pixel<->unit
        calculations. Fixed some memory leaks.

        * app/global_edit.c
        * app/gradient.c
        * app/palette.c
        * app/paths_dialog.c: changed the query_string_box() calls
1999-03-12 03:44:59 +00:00
GMT 1999 Austin Donnelly d8be79f036 Bit of a large checkin this - it's basically three things: 1 - GimpModules
Sun Jan 11 00:24:21 GMT 1999  Austin Donnelly  <austin@greenend.org.uk>

	Bit of a large checkin this - it's basically three things:
	  1 - GimpModules using gmodules to dynamically load and
	       initialise modules at gimp start of day.
	  2 - Color selectors now register themselves with a color
	       notebook.
	  3 - progress bars have been cleaned up a bit, so now have
	       progress indictations on all transform tool and gradient
	       fill operations.  Not done bucket fill, but that seems to
	       be the next candidate.

	New directories:
	* modules/: new directory for dynamically loadable modules.

	New files:
	* modules/.cvsignore
	* modules/Makefile.am
	* modules/colorsel_gtk.c: GTK color selector wrapped up as a
	    color selector the gimp can use.

	* app/gimpprogress.[ch]: progress bars within gimp core, either as
	    popups, or in the status bar.  This is mainly code moved out
	    of plug-in.c

	* app/color_notebook.[ch]: color selector notebook, implementing
	    very similar interface to color_select.h so it can be used as
	    a drop-in replacement for it.

	* libgimp/color_selector.h: API color selectors need to implement
	    to become a page in the color_notebook.

	* libgimp/gimpmodule.h: API gimp modules need to implement to be
	    initialised by gimp at start of day.

	Modified files:
	* Makefile.am: add modules/ to SUBDIRS
	* libgimp/Makefile.am: install gimpmodule.h and color_selector.h
	* app/gimprc.[ch]: recognise module-path variable.
	* gimprc.in: set module-path variable to something sensible
	    (currently "${gimp_dir}/modules:${gimp_plugin_dir}/modules").
	* app/Makefile.am: build color notebook and gimpprogress
	* app/app_procs.c: register internal GIMP color selector with
	    color notebook.
	* app/asupsample.c: call progress function less frequently for
	    better performance.
	* app/asupsample.h: progress_func_t typedef moved to gimpprogress.h
	* app/blend.c: make callbacks to a progress function
	* app/color_area.c: use a color notebook rather than a color selector
	* app/color_panel.c: ditto
	* app/color_select.c: export color selector interface for notebook
	* app/color_select.h: color_select_init() prototype
	* app/flip_tool.c: flip the image every time, rather than every
	    second click.
	* app/interface.c: move progress bar stuff out to
	    gimpprogress.c.  Make the code actually work while we're at it.
	* app/interface.h: move prototypes for progress functions out to
	    gimpprogress.h
	* app/plug_in.c: load and initialise modules (if possible). Move
	    progress bar handling code out to gimpprogress.c
	* app/plug_in.h: keep only a gimp_progress * for each plugin, not
	    a whole bunch of GtkWidgets.
	* app/scale_tool.c
	* app/rotate_tool.c
	* app/shear_tool.c
	* app/perspective_tool.c: progress bar during operation.
	    De-sensitise the dialog to discourage the user from running
	    two transforms in parallel.
	* app/transform_core.c: recalculate grid coords when bounding box
	    changes.  Only initialise the action area of the dialog once,
	    to avoid multiple "ok" / "reset" buttons appearing.  Undraw
	    transform tool with correct matrix to get rid of handle
	    remains on screen.  Call a progress function as we apply the
	    transform matrix.  A few new i18n markups.  Invalidate
	    floating selection marching ants after applying matrix.
	* app/transform_core.h: transform_core_do() takes an optional
	    progress callback argument (and data).
	* plug-ins/oilify/oilify.c: send progress bar updates after every
	    pixel region, not only if they processed a multiple of 5
	    pixels (which was quite unlikely, and therefore gave a jerky
	    progress indication).
1999-01-11 00:57:33 +00:00
scott fe6720432b Header file tweaks. Now changing tile.h doesn't force about_dialog to
recompile! :)
1998-08-16 00:34:20 +00:00
Lauri Alanko ef3e162eae start collecting some core stuff to libgimpim.a
Started separating crud out of drawables.

	Isolated the id system of images entirely within pdb. Even the
	window titles and menus use pointers instead of ids. Should at
	least remind people that this is a developers' version. :)
1998-06-30 15:31:32 +00:00
Owen Taylor f6a5a9383c app/Makefile.am app/app_procs.c app/brushes.c app/commands.[ch]
Fri Jun  5 22:37:40 1998  Owen Taylor  <otaylor@gtk.org>

	* app/Makefile.am app/app_procs.c app/brushes.c app/commands.[ch]
	  app/disp_callbacks.c app/gdisplay.[ch] app/gimprc.c
	  app/interface.[ch] app/menus.c app/paint_core.[ch]
	  app/paintbrush.c app/palette.c app/scroll.c
	  app/tools.[ch] app/undo.c

	- Added two new dialogs - input devices; (GtkInputDialog)
	  and DeviceStatus - which shows the tool/color for
	  each device.

	- Added device_status_update() call that gets called
	  whenever the tool/color etc. are changed.

	- Added ~/.gimp/devicerc file to store settings

	- Code to draw cursor on canvas for non XFree86 XInput
	  where device can't control cursor and extended input
	  device simultaneously.

	- Changed input handling so that we always use the pointer
	  position from the device, not from gdk_input_window_get_cursor,
	  so that motion and cursor position sync.

	- Various changes so things work with non-integer coordinates

	- Pay attention to pressure and tilt in basic tool support.

        - New paint mode PRESSURE that changes the brush based on
	  the brush pressure

	- Left in a few XInput hacks that should be removed, but I no longer
	  remember what they are.
1998-06-06 03:49:01 +00:00
Manish Singh 84abd5d700 Have fun recompiling gimp everyone. It's the great FSF address change!
-Yosh
1998-04-13 05:44:11 +00:00
scott fd75df2a47 Changes to deal with new GTK refcounting regime.
--sg
1998-02-03 22:54:35 +00:00
Manish Singh da34538894 Added tooltips preferences support
update mkbrush.scm

-Yosh
1997-12-14 07:32:54 +00:00
Elliot Lee 32cefec8f7 Initial revision 1997-11-24 22:05:25 +00:00